Androidアプリを開発しています。私のアプリでは、通知がクリックされたときにアクティビティを開いています。Androidのアクティビティライフサイクルで通知からアクティビティを開くと、
2活動私がしている - MainActivityとSecondActivity
主な活動は、SecondActivityにOnBackPressed SecondActivity
を開くことができ、MainActivityは、それがSecondActivityを開き、活動バックが表示されます。 MainActivityのOnBackPressedでは、アプリケーションは終了します。これは、最初に起動されるデフォルトのアクティビティアプリケーションです。今私はサービスの中からSecondActivityを開いているので問題があります。
これは、問題は、私はサービスとSecondActivityのOnBackPressed、アプリケーションが終了から開いたときにということで、私はサービスからSecondActivityを開く方法
private void showTrollPostNotification(String message)
{
notification = new NotificationCompat.Builder(getApplicationContext());
notification.setAutoCancel(true);
notification.setSmallIcon(R.mipmap.ic_launcher);
notification.setWhen(System.currentTimeMillis());
notification.setTicker(message);
notification.setContentTitle(getApplication().getResources().getString(R.string.app_name));
notification.setContentTitle(message);
Intent i = new Intent(getApplicationContext(), SecondActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(),0,i,PendingIntent.FLAG_UPDATE_CURRENT);
notification.setContentIntent(pendingIntent);
NotificationManager nm = (NotificationManager)getApplicationContext().getSystemService(getApplicationContext().NOTIFICATION_SERVICE);
nm.notify(1,notification.build());
}
です。私がやりたいことは、SecondActivityの中に戻るボタンを押したときにMainActivityをいつも開きたいということです。だから私が試みたのは、SecondActivityのonBackPressedをオーバーライドすることです。私はonBackPressedでMainActivityを開始します。しかし、問題は、通知からSecondActivityを開いた後、[戻る]ボタンを押すと、MainActivityが開きます。
しかし、戻るボタンを押すと、SecondActivityが開きます。 MainActivityをSecondActivityのOnBackPressedで常に開くようにするには、今のようなアクティビティサイクルの問題を起こさずに何ができるのですか?
これは、これは何が起こることはSecondActivity
は、履歴backstackになるということですSecondActivity
@Override
public void onBackPressed() {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
次に、MainActivityを開くonBackPressedをオーバーライドしますか? –
@WayYanHeinはい –
マニフェストファイルに追加しました。次に、2番目のアクティビティのonBackPressedをオーバーライドします。働いていない。彼らは押したまま互いを開いたままにします。 –