1

我从通知开始临时活动,只显示一些短信。无论我设置launchMode=singleInstance或noHistory=true,上次显示的临时活动将在从“最近打开”进入时再次显示。我希望仅在单击通知时才显示临时活动,而不是在“最近打开”中显示。先感谢您。

    <activity
        android:name=".NotifiticationDialog"
        android:launchMode="singleInstance"
        android:noHistory="true"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" >


            Notification notification = new Notification(R.drawable.icon, context.getString(R.string.app_name), System.currentTimeMillis());
            Intent intent = new Intent(context, NotifiticationDialog.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
            PendingIntent activity = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
            notifycation.setLatestEventInfo(context, context.getString(R.string.app_name), message, activity);
            notifycation.flags = Notification.FLAG_AUTO_CANCEL;
            _nm.notify(NotifiticationDialog.ID, text);

编辑:@Lalit Poptani,我尝试了你的建议,但这不是我需要的。在我使用 android:excludeFromRecents="true" 单击临时活动后,我的应用程序在“最近”中消失了。(用户找不到它,我的所有活动都被排除在外)

编辑:事实:我有 3 个 tmp 活动显示一些文本,就像 toast 一样,2 个是从小部件打开的,它们没有与应用程序堆栈混合。1 是从通知中打开的,它总是从“最近”中单独显示。

    <activity
        android:name=".AppwidgetDialog1"
        android:launchMode="singleInstance"
        android:noHistory="true"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity
        android:name=".AppwidgetDialog2"
        android:launchMode="singleInstance"
        android:noHistory="true"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <activity
        android:name=".NotifiticationDialog"
        android:excludeFromRecents="true"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" >

4

1 回答 1

1

要从最近的应用程序中删除您的活动,您可以使用android:excludeFromRecents,因此请尝试添加android:excludeFromRecents="true"到您的活动标签。

于 2012-10-23T07:41:37.270 回答