在Android 啟動時啟動服務
問題陳述
儘管精心配置了必要的元件, Android 啟動期間IntentService 無法啟動。沒有報錯訊息,讓您很困惑。
解決方案
第1步:驗證AndroidManifest.xml設定
確保您的AndroidManifest.xml 中存在以下條目文件:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <receiver android:name=".StartupIntentReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
第2 步驟:實作啟動的 BroadcastReceiver
在您的 StartupIntentReceiver中,將以下行:
context.startService(serviceIntent);
替換為以下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { context.startForegroundService(serviceIntent); } else { context.startService(serviceIntent); }
步驟3:新增偵錯日誌記錄
要找出問題,請將日誌記錄語句新增至StartupIntentReceiver 的onReceive處理程序中,例如:
Log.v("BatteryLogger", "Got to onReceive, about to start service");
第4 步:故障排除
以上是為什麼我的 Android IntentService 無法在啟動時啟動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!