OPPO, Vivo приложение убить уведомление не приходит в Android Fcm - PullRequest
0 голосов
/ 03 ноября 2018

Тестирование приложения в Motorola, Samsung работает нормально, когда приложение убито. но когда я тестирую приложение in vivo, напротив, если приложение не работает, приложение уничтожается.

 public void onMessageReceived(RemoteMessage remoteMessage) {
    Log.e(TAG, "From: " + remoteMessage.getFrom());

    if (remoteMessage == null)
        return;

    // Check if message contains a notification payload.
    if (remoteMessage.getNotification() != null) {
        Log.e(TAG, "Notification Body: " + remoteMessage.getNotification().getBody());
        //  handleNotification(remoteMessage.getNotification().getBody());
    }

    // Check if message contains a data payload.
    if (remoteMessage.getData().size() > 0) {
        Log.e(TAG, "Data Payload: " + remoteMessage.getData().toString());

        try {
            JSONObject json = new JSONObject(remoteMessage.getData().toString());
            handleDataMessage(json);
        } catch (Exception e) {
            Log.e(TAG, "Exception: " + e.getMessage());
        }
    }
}

Манифест Android xml:

 <service
        android:name="notification.MyFirebaseMessagingService"
        android:exported="true">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    <service android:name="notification.MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>

Я не получаю сообщения в случае vivo, в противном случае рекомендуется любая помощь.

1 Ответ

0 голосов
/ 10 ноября 2018

Infinix Note 5 (Android One-Oreo) и Oppo F9 (Oreo) не получают Push-уведомление, если приложение убито, они работают нормально, если приложение в фон или передний план.

китайские ПЗУ, использующие (Oxygen OS, MIUI и т. Д.), Когда приложения перелистываются из недавнего трея приложений, ваше приложение закрывается (аналогично Force Stop). И из-за этого все задачи, выполняющиеся в фоновом режиме, такие как службы, убивают Джобса с приложением. Даже высокоприоритетный FCM не видит дневного света в китайских ПЗУ

Проблемы в реальном времени:

1) Вы не можете получить местоположение пользователя. Таким образом, ни одно приложение не будет работать должным образом, если оно зависит от местоположения в реальном времени

2) Вы не можете получать уведомления с высоким приоритетом FCM

3) Задание / задание, не зависящее от времени, не будет выполнено, если приложение не будет отображаться в трее и многое другое ...

Решение

пользователю необходимо включить автоматический запуск в настройках приложения, чтобы фоновая служба / задание работали. По умолчанию оно отключено. Для этого на некоторых устройствах, которые мы можем использовать,

Пример кода

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Intent intent = new Intent();

    String manufacturer = android.os.Build.MANUFACTURER;

    switch (manufacturer) {

        case "xiaomi":
            intent.setComponent(new ComponentName("com.miui.securitycenter",
                    "com.miui.permcenter.autostart.AutoStartManagementActivity"));
            break;
        case "oppo":
            intent.setComponent(new ComponentName("com.coloros.safecenter",
                    "com.coloros.safecenter.permission.startup.StartupAppListActivity"));

            break;
        case "vivo":
            intent.setComponent(new ComponentName("com.vivo.permissionmanager",
                    "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
            break;
    }

  List<ResolveInfo> arrayList =  getPackageManager().queryIntentActivities(intent,
          PackageManager.MATCH_DEFAULT_ONLY);

    if (arrayList.size() > 0) {
        startActivity(intent);
    }
}

}

ИСТОЧНИК: https://stackoverflow.com/questions/52849445/some-oreo-devices-are-not-getting-push-notification/52943903#52943903

...