无需启动应用即可启动警报活动

时间:2015-02-04 12:18:19

标签: android android-alarms

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

从服务调用活动:

@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" />

1 个答案:

答案 0 :(得分:2)

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

e.g

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

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