我的应用程序中有一个警报,但我遇到了问题 - 我的警报就像一个对话框 - 它不会占用整个屏幕。我的问题是,通过我的闹钟活动,我的应用程序也会打开,显示用户在我的应用中的最后位置。
从服务调用活动:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent != null) {
Intent alarmIntent = new Intent(getBaseContext(), AlarmScreen.class);
alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.putExtras(intent);
getApplication().startActivity(alarmIntent);
AlarmManagerHelper.setAlarms(this);
}
return super.onStartCommand(intent, flags, startId);
}
我不希望我的应用程序打开警报活动,我希望它只是打开警报活动。我怎么能这样做?
谢谢! 修改 我甚至尝试使用过滤器意图并使AlarmActivity像主要活动(启动器)一样,但它没有用。
这就是我在menifest中设置AlarmActivity和AlarmService的方法:
<activity
android:name="com.ezlist.tasks.AlarmScreen"
android:label=""
android:screenOrientation="portrait"
android:theme="@style/Theme.Transparent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name="com.fgdvir.ezlist.AlarmService"
android:enabled="true" />
答案 0 :(得分:2)
将闹钟活动的android:taskAffinity设置为应用的唯一值。
e.g
android:taskAffinity="uk.co.packagename.alarmactivity"
然后它将在自己的任务中打开,而不是与您的应用程序的其余部分相关联。即打开时,它不会将应用程序的其余部分拉到前台。