私はAndroidアプリのウィジェットで作業していますが、問題が発生しました。ユーザーがウィジェットをクリックすると、最初のアクティビティ(インテントフィルタを持つアクション: 'action.MAIN'/'category.LAUNCHER')を開きます(アクティビティAと呼びます)。Android:意図が間違った活動を開く
はそれをするために、私は(私のWidgetProviderクラスで)このスニペットを使用します。
Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.view , pendingIntent);
私のアプリケーションが強制終了された場合、これは非常に良い作品
またはすべての活動がクローズされている場合(まで[戻る]ボタンを使用してアプリケーション終了)
問題は、いくつかのアクティビティが開いているときに発生します。アクティビティスタックが次のようになったとします。アクティビティA - >アクティビティB - >アクティビティC ウィジェットをクリックした場合、何かアプリケーションはちょうど前面に来て、アクティビティの代わりにアクティビティCが表示されます。です。 これは毎回発生しないので非常に奇妙です。
このアクティビティは、さまざまな機能へのリンクがいくつかあるため、アクティビティスタックがどのようになっていても、アクティビティAを開くには本当に必要で、別のアクティビティは必要ありません。
誰かが私を助けることができますか?
ありがとうございました。
PS:申し訳ありませんが、私の英語はかなり悪い場合、私はあなたが起動する特定の活動をしたい場合は、なぜあなたはだけではなく、動的で、特にその活動を呼び出さないベルギー
あなたは次のアクティビティを開始するときにfinish()を呼び出すことができませんでしたか?それは再出現すべきではありません。 – nik431
これは考えられません。これを行うと、ユーザーが戻るボタンを押すとすぐにアプリケーションが停止します。 – Valentin