我正在使用firebase向用户发送推送消息,puh在应用程序运行时或在后台运行时工作正常,但是当我使用多任务托盘杀死应用程序时,它没有在某些设备上接收推送,但是在某些设备上,它的工作完美无缺, 似乎应用程序正在接收推送但未显示它。 我搜索了SO并发现了类似的问题,但没有解决问题。 因为我的应用程序严重依赖推送消息。 这是实现它的任何方式吗? 我正在使用以下代码重新启动服务,但没有任何反应。
@Override
public void onTaskRemoved(Intent rootIntent) {
super.onTaskRemoved(rootIntent);
// Log.d(TAG, "TASK REMOVED");
PendingIntent service = PendingIntent.getService(
getApplicationContext(),
1001,
new Intent(getApplicationContext(), MyFirebaseMessagingService.class),
PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 1000, service);
}
答案 0 :(得分:0)
某些制造商限制了app自动启动。因此,如果推送,我们的应用程序将不会收到该广播。
我们必须为我们的应用启用自动启动,以便在每种情况下都能使用推送通知。可能有一些名为“自动启动”的设置。打开我们的应用程序。
答案 1 :(得分:0)
尝试这种方式:
{
"notification" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark",
"icon" : "myicon"
}
"data": {
"message":Hello,
"member_id":"15",
"push_type":2
},
"registration_ids":["er3444@34343sdsadsadsadsad213213"]
}
当应用程序不可用时,firebase会从通知对象触发默认推送,因此您需要默认使用通知对象,并且数据用于其他数据。