0

ダイアログをテーマにしたアクティビティを取得して、通知から開いたときに親ビューをクリアしようとしています。

public class addNotification extends BroadcastReceiver {
NotificationManager nm;
final int x = -100;
public void onReceive(Context context, Intent intent) {
        Intent openAdd = new Intent(context,AddDialog.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent createShortcut = PendingIntent.getActivity(context, x, openAdd, 0);
        nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification.Builder buildNotification = new Notification.Builder(context)
                .setSmallIcon(R.drawable.add_task)
                .setContentTitle("Quick Entry")
                .setContentText("Click here enter data")
                .setTicker("quick entry service started.")
                .setAutoCancel(false)
                .setContentIntent(createShortcut);
    Notification notification = buildNotification.build();
    notification.flags |= Notification.FLAG_ONGOING_EVENT;
        buildNotification.setDefaults(Notification.FLAG_ONGOING_EVENT);
        nm.notify(x, notification);
    }
}

アクティビティが最近のメニューにある場合、通知をクリックすると、アクティビティが含まれているアプリにジャンプします。アプリが最近使用したアプリから削除された場合、アプリは必要な機能を実行します。つまり、現在使用されているアプリの上にオーバーレイを作成して、データをすばやく入力します。

親アクティビティではなく、意図を持つアクティビティのみが表示されるように、アプリケーションのスタックをクリアするにはどうすればよいですか?

4

1 に答える 1

0

singleInstance 起動モードを使用してみてください。

「singleTask」と同じですが、システムはインスタンスを保持しているタスクに他のアクティビティを起動しません。アクティビティは、常にそのタスクの唯一のメンバーです。

于 2013-07-10T23:22:01.337 に答える