我想通过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;
}
答案 0 :(得分:1)
除非您startActivity(firstIntent)
进行下一项活动或点击finish()
按钮,否则在您执行back
后,您无法返回主要或上一个活动。
每次您返回上一个活动时,系统都会调用onResume()
,并且为了继续设置下一个闹钟,您必须再次调用startActivity(nextIntent)
。
将startActivity(firstIntent)
视为您方法的break
语句。
所以你可以做的是,尝试从你的onResume()
设置下一个闹钟。
了解活动生命周期概念 here
答案 1 :(得分:0)
我认为您应该更改代码使用警报管理器以进行多次警报
如果我正确而不是使用
This link