在不启动应用程序的情况下启动闹钟 activity

Launch alarm activity without launching app

我的应用程序中有一个闹钟,但我有一个问题 - 我的闹钟就像一个对话框 - 它不会占据整个屏幕。我的问题是我的闹钟 activity 也打开了我的应用程序,显示用户在我的应用程序中的最后位置。

activity 从服务调用:

@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);

}

我不希望我的应用在打开闹钟 activity 时打开,我希望它只打开闹钟 activity。我该怎么做?

谢谢! 编辑: 我什至尝试使用过滤器意图并使 AlarmActivity 像主要 activity(启动器)一样,但它没有用。

这是我在清单中设置 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" />

将闹钟 activity 的 android:taskAffinity 设置为应用的唯一值。

例如

android:taskAffinity="uk.co.packagename.alarmactivity"

然后它将在自己的任务中打开,并且不会与您的应用程序的其余部分相关联。即它不会在打开时将您的应用程序的其余部分拉到前台。