Как решить, Запрещено запускать сервисное приложение в фоновом UID UIDRecord? - PullRequest
0 голосов
/ 02 марта 2019

Я работаю над тестированием приложения и проверкой уведомлений Firebase, процесс уведомлений работал нормально в Android версии 6.0, а при тестировании приложения в 8.0 процесс уведомлений не работает.

Ошибка

    2019-03-02 14:01:50.104 25477-25498/com.progressive_solution.parttimeforce E/AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
    Process: com.progressive_solution.parttimeforce, PID: 25477
    java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.progressive_solution.parttimeforce/.FloatingWidgetService }: app is in background uid UidRecord{4f2dfcf u0a241 RCVR idle change:idle|uncached procs:1 proclist:25477, seq(0,0,0)}
        at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1600)
        at android.app.ContextImpl.startService(ContextImpl.java:1546)
        at android.content.ContextWrapper.startService(ContextWrapper.java:669)
        at com.progressive_solution.parttimeforce.FirebaseMessagingService.startFloatingWidgetService(FirebaseMessagingService.java:31)
        at com.progressive_solution.parttimeforce.FirebaseMessagingService.onMessageReceived(FirebaseMessagingService.java:26)
        at com.google.firebase.messaging.FirebaseMessagingService.handleIntent(Unknown Source:373)
        at com.google.firebase.iid.zzg.run(Unknown Source:26)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
2019-03-02 14:01:50.111 25477-25494/? V/FA: Connecting to remote service

Страница Firebase

    package com.progressive_solution.parttimeforce;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import com.google.firebase.messaging.RemoteMessage;

public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService
{
    Context context;
    /*  Permission request code to draw over other apps  */
    private static final int DRAW_OVER_OTHER_APP_PERMISSION_REQUEST_CODE = 1222;

    //THIS METHOD IS CALLED WHEN THE MESSAGE IS RECEIVED FROM THE FCM
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage)
    {
//SEND THE RECEIVED MESSAGE AS THE NOTIFICATION TO THE USERS
        int count = 1;
        context = getApplicationContext();
        SharedPreferences sp = getSharedPreferences("your_prefs",  context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.putInt("your_int_key", count);
        editor.commit();

        startFloatingWidgetService();
    }

    private void startFloatingWidgetService()
    {
        startService(new Intent(FirebaseMessagingService.this, FloatingWidgetService.class));

    }
}

Получение ошибки на этой странице.

Я пытался использовать startForeground, но он показывает недопустимую ошибку chennel.

...