Не получает уведомления на Moto E4 plus

#android #firebase #firebase-cloud-messaging #motorola

# #Android #firebase #firebase-облако-обмен сообщениями #motorola

Вопрос:

Один из клиентов использует наше приложение, которое представляет собой приложение для видеовызовов на устройстве Moto E4 plus. Мы показываем экран вызова, когда получаем push-уведомление FCM с сервера. Итак, для этого конкретного устройства она не получает вызов, когда приложение находится в фоновом режиме или отключено. Она не проверила, работает ли оно, когда приложение запущено на переднем плане.

Ниже приведен код, который мы используем в классе FirebaseMessagingService.

 @Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    Log.d("FirebaseMessaging", "onMessageReceived");
        Intent intent = new Intent(AppConstants.INCOMING_CALL_BROADCAST_ACTION);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        sendImplicitBroadcast(MyFirebaseMessagingService.this, 
intent);
}


private static void sendImplicitBroadcast(Context ctxt, Intent i) {
    PackageManager pm = ctxt.getPackageManager();
    List<ResolveInfo> matches = pm.queryBroadcastReceivers(i, 0);

    for (ResolveInfo resolveInfo : matches) {
        Intent explicit = new Intent(i);
        ComponentName cn =
                new ComponentName(resolveInfo.activityInfo.applicationInfo.packageName,
                        resolveInfo.activityInfo.name);

        explicit.setComponent(cn);
        ctxt.sendBroadcast(explicit);
    }
}
 

Ниже приведена настройка gradle.

 android {
    compileSdkVersion 27
    buildToolsVersion '27.0.2'
    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.videocallapp"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 48
        versionName "2.2"
    }
    dexOptions {
        javaMaxHeapSize "2g"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
}
 

Мы заметили, что когда настройки автозапуска отключены, service class не может открыть приложение. Но нужно убедиться, прежде чем мы передадим это клиенту.