Android 앱을 개발 중입니다. 내 앱에서 알림을 클릭하면 활동을 시작합니다. MainActivity와 SecondActivity 주요 활동은 SecondActivity에서 OnBackPressed 알림에서 활동 열기가 Android의 활동 수명주기에 문제가 있습니다.
SecondActivity
을 열 수 있습니다는, MainActivity 그것이 SecondActivity를 여는 활동 다시 표시됩니다 -
나는이 개 활동을해야합니다. MainActivity의 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를 열 방법입니다 내가 서비스와 SecondActivity의 OnBackPressed, 응용 프로그램이 종료에서 열 때. 내가하고 싶은 일은 SecondActivity 내에서 뒤로 버튼을 누르면 MainActivity를 항상 열고 싶습니다. 그래서 내가 시도한 것은 SecondActivity의 onBackPressed를 오버라이드 (override)하는 것이다. onBackPressed에서 MainActivity를 시작합니다. 하지만 문제는 알림에서 SecondActivity를 연 다음 다시 버튼을 누르면 MainActivity가 열리는 것입니다.
하지만 뒤로 버튼을 누르면 SecondActivity가 다시 열립니다. MainActivity를 SecondActivity의 OnBackPressed에서 항상 열려면 어떻게해야합니까? 지금과 같은 활동주기 문제는 발생하지 않습니다.
이
이가 어떻게 발생하면SecondActivity
는 역사 가기 backstack에 얻을 수 있다는 것입니다 SecondActivity
@Override
public void onBackPressed() {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
그런 다음 onBackPressed를 재정 의하여 MainActivity? –
@WayYanHein 예 –
매니페스트 파일에 추가했습니다. 그런 다음 두 번째 작업의 onBackPressed를 재정의합니다. 작동 안함. 그들은 누를 때마다 서로를 계속 열어 놓습니다. –