0

アプリに Pending インテントが設定された通知があります。アプリケーションを使用するときは、いくつかのアクティビティに移動します。ログイン -> メイン画面 -> バージョン情報など アプリケーションをフォアグラウンドに復元したいのですが、インテント コンストラクターでクラスを設定する現在のアクティビティがどれかわかりません。通知から復元したい。通知はサービスから来るため、開いた場合はアプリに戻り、閉じた場合は再び開く方法になります。

ユーザーが元に戻したときに、一番上にあったアクティビティを元に戻したいです。言い換えれば、私は動作をシミュレートしたい - >デバイスのホーム画面に戻る[今回はアプリは実行されているがバックグラウンドにある]そしてアプリアイコンをクリックすると..アプリケーションは最後のアクティビティを復元する/私がいる場所の前に持ってくるホームボタンをクリックすると、通知からもこれを行うことができます

これを行う方法はありますか?

ありがとう

4

1 に答える 1

0
            NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            Notification notification = new Notification(R.drawable.icon,"Details", System.currentTimeMillis());
            RemoteViews remoteView = new RemoteViews(getPackageName(),R.layout.custom_notification);
            remoteView.setImageViewResource(R.id.icon, R.drawable.icon);
            remoteView.setTextViewText(R.id.Mesg, "Status : "+ details);
            notification.contentView = remoteView;
            Intent notificationIntent = new Intent(context,Form.class).putExtra("layout", "99");
            PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, notificationIntent,Notification.FLAG_AUTO_CANCEL);
            notification.contentIntent = contentIntent;
            notification.flags = Notification.FLAG_AUTO_CANCEL+ Notification.FLAG_ONLY_ALERT_ONCE;
            manager.notify(45, notification);

そして、私のアプリケーションの作成では、私は使用しています

 Intent i = getIntent();
    k = Integer.parseInt(i.getStringExtra("layout"));
    Log.i(TAG, ">>>>>>>>>>" + k);
    if (k == 99) {
        finish();
    }

これにより、アクティビティがまだ存在するかどうかが確認されます。アクティビティが強制終了または閉じられた場合は、アクティビティがスタックの一番上に移動します。アプリケーションが完全に閉じられている場合、何もしません

于 2013-02-15T06:50:01.037 に答える