如何在 android 中同时 运行 2 个意图?
How to run 2 intents in android at the same time?
我想通过 intent.This 在我的应用程序中设置两个闹钟应用程序应该如何工作,它应该从用户那里获取时间并为该时间设置闹钟 +3 minutes.For 实例,如果用户要为8:30设置闹钟应该为8:30设置闹钟,然后为8:33设置immediately.I已经以3为例,但在实际运行中,我会包含一个变量 there.This 应用程序是设置多个警报与用户输入的间隙。它会提示用户此类警报的数量 set.So 我为此写了两个意图,但只有第一个是 working.This 是我的代码:
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();
}
我们可以将意图对象做成数组吗?
谢谢先生的帮助。
这是我所做的。
@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;
}
我认为你应该更改你的代码使用多个警报的警报管理器
如果我是对的而不是使用
This link
一旦你执行了 startActivity(firstIntent)
,你就不能回到你的主要或以前的 activity,除非你 finish()
下一个 activity 或者你点击back
按钮。
每次您返回到之前的 activity,都会调用 onResume()
,为了继续设置下一个闹钟,您必须再次调用 startActivity(nextIntent)
。
将 startActivity(firstIntent)
视为您方法的 break
语句。
所以你可以做的是,尝试从你的onResume()
设置下一个闹钟。
了解 Activity-生命周期概念 here
我想通过 intent.This 在我的应用程序中设置两个闹钟应用程序应该如何工作,它应该从用户那里获取时间并为该时间设置闹钟 +3 minutes.For 实例,如果用户要为8:30设置闹钟应该为8:30设置闹钟,然后为8:33设置immediately.I已经以3为例,但在实际运行中,我会包含一个变量 there.This 应用程序是设置多个警报与用户输入的间隙。它会提示用户此类警报的数量 set.So 我为此写了两个意图,但只有第一个是 working.This 是我的代码:
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();
}
我们可以将意图对象做成数组吗?
谢谢先生的帮助。 这是我所做的。
@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;
}
我认为你应该更改你的代码使用多个警报的警报管理器
如果我是对的而不是使用
This link
一旦你执行了 startActivity(firstIntent)
,你就不能回到你的主要或以前的 activity,除非你 finish()
下一个 activity 或者你点击back
按钮。
每次您返回到之前的 activity,都会调用 onResume()
,为了继续设置下一个闹钟,您必须再次调用 startActivity(nextIntent)
。
将 startActivity(firstIntent)
视为您方法的 break
语句。
所以你可以做的是,尝试从你的onResume()
设置下一个闹钟。
了解 Activity-生命周期概念 here