0

アクティビティ、Receiver を通知のコンテンツ インテントとして設定しています。

Intent clickIntent = new Intent(context, Receiver.class);
            mBuilder.setContentIntent(PendingIntent.getActivity(context, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT));

レシーバー アクティビティ内で、次の方法で TaskStackBuilder を使用して開くことを意図したアクティビティを開始しています。

Intent intent = new Intent(this, Class.forName(className));
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       TaskStackBuilder.create(this).addParentStack(Class.forName(className)).addNextIntent(intent).startActivities();

アプリがバックグラウンドにあり、通知のクリックが発生すると、ParentActivity が再開されます。特にデバイスがアイドル状態になり、戻ってくるとき。何か助けはありますか?私はこれに頭を悩ませています。

4

1 に答える 1

0

Android アプリの場合はandroid:launchMode、androidManifest.xml ファイルでも宣言する必要があります。

Androidのドキュメントで説明されているように:

アクティビティの開始方法に関する指示。オブジェクトのアクティビティ フラグ (FLAG_ACTIVITY_* 定数) と連携して動作しIntent、インテントを処理するためにアクティビティが呼び出されたときに何が起こるかを決定する 4 つのモードがあります。

彼らです:

  • "標準"
  • 「シングルトップ」
  • 「シングルタスク」
  • 「単一インスタンス」

デフォルトのモードは「標準」です。

この SO 投稿に記載されている解決策 -通知からアクティビティを再開することも役立つ場合があります。

于 2016-07-21T10:45:42.113 に答える