Я работаю над проектом, и я использую Intent Service с wakefulBroadcastReceiver, чтобы запланировать будильник и отправить уведомление. На данный момент проблем нет. Но я хочу, когда я открою свое приложение, оно не будет отображать уведомление снова. Пожалуйста, задумайтесь над этой проблемой ?.Уведомление Android: не показывать уведомления, когда приложение открыто?
-3
A
ответ
0
В получателе уведомления, когда вы получаете уведомление, вы можете проверить, находится ли приложение в фоновом режиме или нет, и принять решение о том, чтобы показать уведомление соответствующим образом.
Это код, который нужно проверить, есть ли у вас приложение в фоновом режиме или нет.
public class MyGcmPushReceiver extends GcmListenerService {
/**
* Called when message is received.
* @param from SenderID of the sender.
* @param bundle Data bundle containing message data as key/value pairs.
* For Set of keys use data.keySet().
*/
@Override
public void onMessageReceived(String from, Bundle bundle) {
// Check here whether the app is in background or running.
if(isAppIsInBackground(getApplicationContext())) {
// Show the notification
} else {
// Don't show notification
}
}
/**
* Method checks if the app is in background or not
*/
private boolean isAppIsInBackground(Context context) {
boolean isInBackground = true;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) {
List<ActivityManager.RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) {
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
for (String activeProcess : processInfo.pkgList) {
if (activeProcess.equals(context.getPackageName())) {
isInBackground = false;
}
}
}
}
}
else
{
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
if (componentInfo.getPackageName().equals(context.getPackageName())) {
isInBackground = false;
}
}
return isInBackground;
}
}
Смежные вопросы
- 1. Показывать собственное уведомление о нажатии, когда приложение открыто?
- 2. Push-уведомление на Android не получено, когда приложение открыто
- 3. Отображение push-уведомления, когда приложение не открыто
- 4. Android: показывать уведомления, когда приложение закрыто
- 5. Android уведомления (если приложение открыто)
- 6. Получить уведомление в APNs, когда открыто приложение
- 7. Уведомление о Android-шоу, когда приложение не открыто?
- 8. только одно gcm уведомление открыто, когда приложение android закрывается
- 9. Push уведомления обработки, если приложение не открыто
- 10. Push-уведомления не отображаются, когда приложение открыто pushwoosh - Телефонная связь
- 11. Запретить уведомление о показе, когда приложение открыто
- 12. Android PhoneGap - контроль, когда показывать уведомление
- 13. Показывать приложение, когда пользователь нажимает на уведомление в Android
- 14. Уведомление отправляется всякий раз, когда приложение открыто в Android
- 15. Android: не показывать уведомление, если приложение отображается
- 16. Уведомления о Sinch не отображаются, когда приложение не открыто
- 17. Уведомления отображаются в панели уведомлений, даже когда приложение открыто
- 18. Правильный способ захвата push-уведомлений, когда приложение открыто в Android
- 19. Приложение было открыто из значка или уведомления
- 20. Уведомления о приложении iOS, когда приложение открыто (например, whatsapp)
- 21. Показывать всплывающее окно из push-уведомления, когда приложение запущено
- 22. Push-уведомление, если приложение не открыто в течение недели, когда приложение не работает (Android)
- 23. Обновление значка без предупреждения, когда приложение открыто
- 24. Сохраните уведомление, которое не открыто
- 25. Ионное уведомление push не работает, если приложение открыто
- 26. Проверьте, может ли мое приложение показывать уведомление
- 27. Показывать уведомление оповещения, когда приложение находится на переднем плане
- 28. Обновить номер значка, когда push-уведомление получено, когда приложение не открыто
- 29. Android push-уведомление, когда приложение закрыто
- 30. PUSH не отображается, когда приложение открыто
Я называю метод выше внутри onCreate activity? @Мистер. Rabbit –
yes call is from activity, но опубликуйте это в классе приложения – user3040153
@FinnD Этот метод необходимо вызвать внутри вашего ресивера, а не в onCreate. Я отредактировал ответ, который показывает пример для приемника GCM, если вы используете его. –