未在Moto E4 plus上收到通知

时间:2019-04-16 08:07:55

标签: android firebase firebase-cloud-messaging motorola

一个客户端正在使用我们的应用程序,该应用程序是Moto E4 plus设备上的视频通话应用程序。当我们从服务器收到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'
        }
}

我们注意到,当关闭自动启动设置时,服务类无法打开应用程序。但是需要确定之后,我们才能将其介绍给客户。

0 个答案:

没有答案