如何在android中同时运行2个意图?

时间:2017-06-20 09:25:52

标签: java android android-intent android-developer-api

我想通过intent在我的应用程序中设置两个警报。这是应用程序应该如何工作,它应该从用户那里获得时间并设置该时间的警报+3分钟。例如,如果用户想要设置警报8:30它应该设置闹钟8:30,然后立即8:33。我用3作为例子,但在实际运行中,我将在那里包含一个变量。这个应用程序是设置多个带有用户输入间隙的警报。它将提示用户设置此类警报的数量。所以我写了两个意图,但只有第一个工作。这是我的代码:

Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM);

    intent.putExtra(AlarmClock.EXTRA_MESSAGE, "Your alarm");
    intent.putExtra(AlarmClock.EXTRA_HOUR, result);
    intent.putExtra(AlarmClock.EXTRA_MINUTES, i);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
        } else {
          Toast.makeText(getApplicationContext(), "There is alarm option for your device", Toast.LENGTH_SHORT).show();
       }

    Intent intent1 = new Intent(AlarmClock.ACTION_SET_ALARM);

     intent1.putExtra(AlarmClock.EXTRA_MESSAGE, "Your alarm");
     intent1.putExtra(AlarmClock.EXTRA_HOUR, result);
     intent1.putExtra(AlarmClock.EXTRA_MINUTES, i+3);
     if (intent1.resolveActivity(getPackageManager()) != null) {
         startActivity(intent1);
        } else {
           Toast.makeText(getApplicationContext(), "There is alarm option for your device", Toast.LENGTH_SHORT).show();
        }

我们可以将intent对象作为数组吗?

先生,谢谢你的帮助。 这就是我所做的。

 @Override
  public void onResume()
 { super.onResume();
   secondintent();
 }


public void secondintent() {
        if (test == 1)
        {
            Intent intent1 = new Intent(AlarmClock.ACTION_SET_ALARM);

        intent1.putExtra(AlarmClock.EXTRA_MESSAGE, mess);
        intent1.putExtra(AlarmClock.EXTRA_HOUR, result);
        intent1.putExtra(AlarmClock.EXTRA_MINUTES, i + 5);
        startActivity(intent1);
        i=i+5;
        }

2 个答案:

答案 0 :(得分:1)

除非您startActivity(firstIntent)进行下一项活动或点击finish()按钮,否则在您执行back后,您无法返回主要或上一个活动。 每次您返回上一个活动时,系统都会调用onResume(),并且为了继续设置下一个闹钟,您必须再次调用startActivity(nextIntent)。 将startActivity(firstIntent)视为您方法的break语句。

所以你可以做的是,尝试从你的onResume()设置下一个闹钟。

了解活动生命周期概念 here

答案 1 :(得分:0)

我认为您应该更改代码使用警报管理器以进行多次警报 如果我正确而不是使用
This link