我正在开发一个Android应用程序。在我的应用程序中,我在点击通知时打开活动。通知中的开放活动在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());
}
的问题是,当我从服务和SecondActivity的OnBackPressed,退出应用程序打开。我想要做的是当我按下SecondActivity内的按钮时,我总是想打开MainActivity。所以我尝试的是重写SecondActivity的onBackPressed。我在onBackPressed中启动MainActivity。但问题是,当我从通知中打开SecondActivity时,然后按回按钮,它将打开MainActivity。
但是,当我按回按钮然后,它打开SecondActivity回来。我能做些什么来使MainActivity始终在SecondActivity的OnBackPressed中打开,而不会像现在发生的Activity Cycle一样发生问题。
这是SecondActivity在清单
<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是的 –
我将它添加到清单文件中。然后重写第二个Activity的onBackPressed。不工作。他们继续打开对方的背部按下。 –