Я пытался поддерживать сервисы переднего плана моего приложения на Oreo, просматривая сервисы своего приложения, так как я внедряю сообщения данных FCM, но я обнаружил, что приложение становится неактивным, этого не происходит, когда я отправляю сообщения уведомления FCM.
Это код, который я использую для перехвата сообщений с данными:
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
// Cordova Callback
FCMPlugin.sendPushPayload(data);
Intent resultIntent = new Intent(this , FCMPluginActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent resultPendingIntent = PendingIntent.getActivity(this,0 , resultIntent,PendingIntent.FLAG_ONE_SHOT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mBuilder = new Builder(this, "0");
}else{
mBuilder = new Builder(this);
}
mBuilder.setSmallIcon(getApplicationInfo().icon)
.setContentTitle(title)
.setContentText(messageBody)
.setAutoCancel(false)
.setContentIntent(resultPendingIntent);
mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel notificationChannel = new NotificationChannel("0", "Playback status", importance);
notificationChannel.setShowBadge(false);
assert mNotificationManager != null;
mNotificationManager.createNotificationChannel(notificationChannel);
}
assert mNotificationManager != null;
mNotificationManager.notify(0, mBuilder.build());
}
Что я могу сделать, чтобы сохранить службы переднего плана моего приложения в Oreo с помощью сообщений данных FCM?