2014-09-11 6 views
6

푸시 알림을 수신하고 표시하는 수신기를 만들었습니다. 사용자가 푸시 알림을 누르면 응용 프로그램 내에서 딥 링크가 열립니다. 문제는 사용자가 "뒤로"를 누르면 홈 화면으로 돌아 가지 않고 응용 프로그램 백 스택에서 이전에 열린 응용 프로그램의 화면으로 이동한다는 것입니다. 응용 프로그램이 눌려지기 전에 최소화 된 경우에도 마찬가지입니다 통지.안드로이드 - 닫을 때 홈 화면으로 돌아가는 푸시 알림 딥 링크 인 텐트를 여는 방법?

내가 필요한 동작은 사용자가 알림 패널을 열고 알림을 누르고 내 앱의 딥 링크 페이지로 이동 한 다음 다시 버튼을 누르면 사용자가 홈 화면에있는 것입니다. - 그를 홈 화면으로 다시 나가길 바래. 주 응용 프로그램에 대한 백 스택과 어떤 식 으로든 상호 작용하는 것을 원하지 않습니다.

푸시 알림에서 pendingIntent에 대한 수많은 플래그 조합을 시도했습니다. FLAG_ACTIVITY_TASK_ON_HOME에서 FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_SINGLE_TOP 등 모든 항목을 원하는대로 조합 할 수 없습니다. 모든 경우에 최소화 된 앱으로 딥 링크를 열면 언론을 통해 앱 역사상 다음 페이지로 항상 돌아갑니다. 뒤로 버튼. 이 문제를 어떻게 해결할 수 있습니까?

예제 코드 :

 Intent notificationIntent = new Intent(this, DeepLink.class); 
    notificationIntent.setData(Uri.parse(url)); 
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME); 
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    PendingIntent pendingIntent = PendingIntent.getActivity(getBaseContext(), 1,  notificationIntent, 0); 

답변

0

해결. 딥 링크 클래스는 각각의 딥 링크 (deeplink)에 대한 의도를 시작했으며 이것들은 각각에 대해 플래그 NEW_TASK와 CLEAR_TASK를 설정해야했습니다. 그 후 모든 것이 효과가있었습니다.