Android 当应用程序不在前台时,某些设备上不会显示通知

Android 当应用程序不在前台时,某些设备上不会显示通知,android,notifications,Android,Notifications,在某些设备上(似乎是api级别独立的,在本例中为三星S5和三星Galaxy Tab 3 8”,带库存ROM),通知仅在应用程序位于前台时显示,而不在后台时显示 我确信该服务正在运行,因为我可以在android设置中看到这一点,而且它也可以在其他设备上正常工作 public void generateProgressNotification(String title, String message) { long[] vibrate = new long[]{300}; Inte

在某些设备上(似乎是api级别独立的,在本例中为三星S5和三星Galaxy Tab 3 8”,带库存ROM),通知仅在应用程序位于前台时显示,而不在后台时显示

我确信该服务正在运行,因为我可以在android设置中看到这一点,而且它也可以在其他设备上正常工作

public void generateProgressNotification(String title, String message) {
    long[] vibrate = new long[]{300};

    Intent intent = new Intent(mApplicationContext, MainActivity.class);
    intent.putExtra(NotificationHelper.START_SHOW_PROGRESS, true);
    PendingIntent contentIntent = PendingIntent.getActivity(mApplicationContext, 0, intent, 0);

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(mApplicationContext)
            .setSmallIcon(R.drawable.ic_notification)
            .setContentTitle(title)
            .setVibrate(vibrate)
            .setContentIntent(contentIntent)
            .setLights(mApplicationContext.getResources().getColor(R.color.primary), 200, 200)
            .setContentText(message);

    NotificationManager mNotificationManager = (NotificationManager) mApplicationContext.getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(PROGRESS_NOTIFICATION_ID, mBuilder.build());
}
有人知道为什么通知不能在所有设备上工作吗

致以最良好的祝愿,
Moritz

在较新版本的android设备中。只有在用户使用应用程序时才会推送通知。如果应用程序未运行,则通知将在下次运行时推送。我也遇到了同样的问题,然后我搜索了问题,甚至使用了wakeful广播接收器,但问题没有得到解决。

在我的例子中,ap应用程序运行,但在后台。我在MainActivity的onDestroy方法中停止服务,该方法只应在进程被破坏时执行。你最终解决了问题吗?我只在android 4.3上遇到过这个问题。我在android 2.3上也尝试过同样的方法,它工作正常,即使出现错误,也会自动推送通知应用程序未运行。我使用了wakefull broadcast receiver并从gcm推送通知。我认为您正在使用自己的代码手动放置通知。对。?没错,我正在运行一个后台服务,该服务生成通知,代码为。它与任何类型的接收器无关。