#android #android-intent #push-notification #android-pendingintent
#Android #android-намерение #push-уведомление #android-pendingintent
Вопрос:
Я пытаюсь открыть свое приложение с помощью push-уведомления. Но у меня проблема, у меня есть 3 действия, действие, которое работает как средство запуска, и 2 других.
Когда я нажимаю на нажатие, если я делаю:
new Intent(this, ClientActivity.class)
приложение открывается в том действии, которое работало ранее. То же самое, если приложение было на переднем плане или в фоновом режиме.
Проблема в том, что когда я нажимаю на уведомление, и приложение отключается, ClientActivity
оно не загружается, поэтому приложение выдает Runtime Exception
сообщение, потому ClientActivity
что оно было там.
Как я могу узнать, какое действие выполняется в данный момент?
Intent intent = new Intent(this, activityToOpen);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
if(pushTypeSecureSignature){
intent.putExtra("PUSH_TYPE_SECURE_SIGNATURE", true);
}
pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 0);
Комментарии:
1. Можете ли вы опубликовать свои журналы?
2. Отправьте исключение с помощью stacktrace из logcat в свой вопрос. Неясно, в чем ваша проблема.
Ответ №1:
Если вы хотите, чтобы щелчок мыши Notification
просто выводил ваше приложение на передний план в любом состоянии, в котором оно находилось, когда оно переходило на задний план, тогда просто используйте это:
Intent = PackageManager.getLaunchIntentForPackage("my.app.package.name")
Теперь оберните это Intent
в a PendingIntent
и поместите в свой Notification
.
Это выведет ваше приложение на передний план (если оно запущено) в любом состоянии, в котором оно находилось. Если ваше приложение не запущено, это просто запустит корень Activity
вашего приложения (то же самое, что происходит, когда пользователь нажимает на значок приложения на ГЛАВНОМ экране).