xamarin boot_completed Аварийный Android 8+ - PullRequest
0 голосов
/ 24 августа 2018

В настоящее время я занимаюсь разработкой приложения для Android, и у меня возникла загадочная проблема на Android с 8 по 9. Когда я перезагружаю свой телефон, я получаю сообщение с предупреждением о сбое приложения (главным образом службой, запущенной во время Boot_Completed). ), но службы приложения все еще работают. По трассировке стека могу сказать, что проблема связана с приемником вещания, который запускает любую другую службу.

К сожалению, мне не удалось найти решение этой проблемы.

Ниже вы можете видеть мой приемник вещания.

[BroadcastReceiver( Name = "com.parroinfo.SERVICE_STARTUP", Enabled = true, Exported = true, DirectBootAware = true)]
    [IntentFilter(new[] {Intent.ActionBootCompleted, Intent.ActionLockedBootCompleted}, Priority = (int)IntentFilterPriority.HighPriority)]
    class ServiceStartup : BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
            {
             if (AndroidUtils.isVersionBelow(BuildVersionCodes.O))
             {
                        context.StartService(new Intent(context, -type-));
                     }
                     else
                     {
                        context.StartForegroundService(new Intent(context, -type-));
                     }
        }
    }

Ниже вы можете увидеть мое заявление в моем манифесте.

<receiver android:exported="true" android:name="com.parroinfo.SERVICE_STARTUP">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

Ниже вы можете увидеть трассировку стека проблемы.

java.lang.RuntimeException: 
at android.app.ActivityThread.handleReceiver (ActivityThread.java:3388)
at android.app.ActivityThread.access$1200 (ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1661)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:193)
at android.app.ActivityThread.main (ActivityThread.java:6669)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run  
(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
Caused by: java.lang.IllegalStateException: 
at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1577)
at android.app.ContextImpl.startService (ContextImpl.java:1532)
at android.content.ContextWrapper.startService (ContextWrapper.java:664)
at com.parroinfo.SERVICE_STARTUP.n_onReceive (Native Method)
at com.parroinfo.SERVICE_STARTUP.onReceive (SERVICE_STARTUP.java:29)
at android.app.ActivityThread.handleReceiver (ActivityThread.java:3379)

1 Ответ

0 голосов
/ 28 августа 2018

Я наконец решил свою проблему. проблема была вызвана firebase, у которой есть обновление, которое избегает установки завершенной службы загрузки. Поэтому я решил не запускать службу для какой-либо версии андроида из зефира.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...