В настоящее время я занимаюсь разработкой приложения для 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)