当我打开另一个活动时如何停止铃声?

杰森112
  1. 这是正常的文字

  2. 这是一个列表项

    时间选择器 按钮开始报警、停止报警;TextView 开始时间、当前时间、问题;编辑文本答案;

    定时器定时器;MyTimerTask myTimerTask;

    内部探求;

    private String Questionairs[] = {“PHP 是什么?”,“HTML 是什么?”,“CSS 是什么?”}; private String QAnswer[] = {"个人主页"、"超文本标记语言"、"级联样式表"};

    int randomizer = (int) (Math.random() * 2);

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

     timePicker = (TimePicker) findViewById(R.id.timePicker);
     timePicker.setIs24HourView(true);
     StartAlarm = (Button) findViewById(R.id.StartAlarm);
     StopAlarm = (Button) findViewById(R.id.StopAlarm);
     StartTime = (TextView) findViewById(R.id.StartTime);
     CurrentTime = (TextView) findViewById(R.id.CurrentTime);
     Questions = (TextView) findViewById(R.id.Questions);
     Answers = (EditText) findViewById(R.id.Answers);
    
     timer = new Timer();
     myTimerTask = new MyTimerTask();
    
    
     final Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE));
    
    
    
    
     StartAlarm.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
    
             int sTimeH = timePicker.getHour();
             int sTimeM = timePicker.getMinute();
    
             if(sTimeH < 10  &&  sTimeM < 10)
             {
                 String holderH = String.valueOf(sTimeH);
                 String holderM = String.valueOf(sTimeM);
    
                 String AlarmTime = "0" + holderH + ":0" + holderM;
                 StartTime.setText(AlarmTime);
             }
             else if(sTimeH > 10  &&  sTimeM < 10)
             {
                 String holderH = String.valueOf(sTimeH);
                 String holderM = String.valueOf(sTimeM);
    
                 String AlarmTime = holderH + ":0" + holderM;
                 StartTime.setText(AlarmTime);
             }
             else if(sTimeH < 10  &&  sTimeM > 10)
             {
                 String holderH = String.valueOf(sTimeH);
                 String holderM = String.valueOf(sTimeM);
    
                 String AlarmTime = "0" + holderH + ":" + holderM;
                 StartTime.setText(AlarmTime);
             }
    
             else{
                 String holderH = String.valueOf(sTimeH);
                 String holderM = String.valueOf(sTimeM);
    
                 String AlarmTime = holderH + ":" + holderM;
                 StartTime.setText(AlarmTime);
             }
    
             if(timer != null){
                 timer.cancel();
             }
    
             timer = new Timer();
             myTimerTask = new MyTimerTask();
    
             timer.schedule(myTimerTask, 1000, 1000);
    
             Timer t = new Timer();
             t.scheduleAtFixedRate(new TimerTask() {
                 @Override
                 public void run() {
    
                     if (CurrentTime.getText().toString().equals(StartTime.getText().toString())){
                         r.play();
                     }
                 }
             }, 0, 1000);
    
     }
    

    });

     StopAlarm.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
    
             Questions.setText(Questionairs[0]);
             Answers.setEnabled(true);
    
    
    
             if(Answers.getText().toString().equals(QAnswer[0]) && Questions.getText().toString().equals((Questionairs[0])))
             {
                 Intent i = new Intent(getApplicationContext(),HomePage.class);
                 startActivity(i);
                 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                 finish();
             }
    
         }
     });
    

} 类 MyTimerTask 扩展了 TimerTask {

    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
        final String strDate = simpleDateFormat.format(calendar.getTime());

        runOnUiThread(new Runnable(){

            @Override
            public void run() {
                CurrentTime.setText(strDate);
            }});
    }

}

}

树干

您只需要r.stop()在开始活动时添加,并且应该在startActivity(intent).

if(Answers.getText().toString().equals(QAnswer[0]) && Questions.getText().toString().equals((Questionairs[0])))
         {
             Intent i = new Intent(getApplicationContext(),HomePage.class);
             i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
             startActivity(i);
             r.stop();
             finish();
         }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我们在SrollView的TextView中单击单个文本时,如何打开另一个活动

当我打开另一个活动时,应用程序崩溃

当我离开我的应用程序时如何停止 MediaPlayer,而不是当我移动到另一个活动时(Android Studio)

当我单击列表视图项时,应用程序崩溃,而不是打开另一个活动

当我单击/激活另一个活动列表项时,如何取消选择活动列表项?

当我访问另一个状态时停止一个函数

当我转到另一个活动时,我的应用程序不断崩溃

当我点击 recylerview 文本去进行另一个活动时,该活动将不会打开并给出一些绑定错误

NullPointer异常,当我将变量从一个活动传递到另一个活动时

声音停止播放时打开另一个活动

当我打开一个标签时,如何关闭所有活动标签?

如何重定向到另一个活动时,我的验证条件是在另一个类?

开始另一个活动时如何停止可运行对象?

当我没有完成第一个活动就开始另一个活动时,活动被破坏了

当我使用另一个活动返回它时,我增加的变量会自行重置

当我尝试将数据从一个活动传递到另一个活动时,我的应用程序崩溃

由于 java.lang.NullPointerException,当我尝试从一个活动移动到另一个活动时,我的应用程序崩溃

当我按 Enter 时,如何生成另一个条目小部件

当我使用onclick属性单击元素时如何触发另一个功能

当我在另一个工作表上处于活动状态时隐藏工作表

当我尝试使用putExtra传递数组并在另一个活动中获取它时出错

当我单击另一个活动中的图像按钮时,获取 recyclerview 项目的位置

当我在 android 中将包从一个活动传递到另一个活动时,为什么它不传递数据?

当我将它包含在另一个活动中时,如何在自定义工具栏上使用图标?

当我尝试在另一个分区上打开pdf文件时,“无法加载torrent...。”

当我切换到另一个 Excel 文件时,Excel 宏会自行停止运行

当我想找到一个节点到另一个节点的路径时,如何优化密码?

当我在另一个模板中包含一个模板时,如何传递源文件的路径?

当我从片段滑动到另一个时如何做一个事件