Я разрабатываю приложение для Android. В моем приложении я открываю действие при нажатии на уведомление.Вступительное слово извещения имеет проблемы с Activity Life Cycle в Android
У меня есть две деятельности - MainActivity и SecondActivity
Основная деятельность может открыть SecondActivity
OnBackPressed на SecondActivity, MainActivity будет отображаться назад это деятельность, которая открывает SecondActivity. OnBackPressed из MainActivity, приложение завершит работу. Сначала запускается приложение по умолчанию. Теперь у меня проблема, потому что я открываю SecondActivity изнутри службы.
Это, как я открываю 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());
}
Проблема заключается в том, что когда я открываю от службы и OnBackPressed из SecondActivity, выхода из приложения. Что я хочу сделать, так это всегда хочу открыть MainActivity, когда я нажимаю кнопку в SecondActivity. Так что я попытался переопределить onBackPressed of SecondActivity. Я запускаю MainActivity в onBackPressed. Но проблема в том, что я открываю SecondActivity из уведомлений, затем нажимаю кнопку «Назад», открывает MainActivity.
Но когда я нажимаю кнопку «Назад», он открывает SecondActivity назад. Что я могу сделать, чтобы MainActivity всегда открывался в OnBackPressed из SecondActivity, не имея проблемы с Activity Cycle, как это происходит сейчас.
Это SecondActivity в Manifest
<activity
android:noHistory="true"
android:label="Post Details"
android:name=".SecondActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Это onBackPressed из SecondActivity
@Override
public void onBackPressed() {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
Затем переопределить onBackPressed, открыв MainActivity? –
@WaiYanHein Да –
Я добавил его в файл манифеста. Затем переопределил onBackPressed второй активности. Не работает. Они продолжают открывать друг друга на спине. –