2017-04-12 103 views
0

我的應用程序停止在Android 6上接收啓動廣播(它在Android 5上正常工作)。Android 6防止啓動完成廣播

我在日誌中發現被防止廣播:

I/BackgroundManagerService: prevent from boot complete broadcast: com.mycompany.app 

這裏是我的AndroidManifest.xml:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

<application 
...  
     <receiver android:name="plugin.kiosk.BootService"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       </intent-filter> 
     </receiver> 
... 
</application> 

我的應用程序包的名稱是:com.mycompany.app和我廣播類是在不同的包(plugin.kiosk)下。

有沒有人看到這個問題?任何線索?

更新:我已經嘗試過改變爲:

<receiver android:name="plugin.kiosk.BootService" android:enabled="true" android:exported="true" > 

,但同樣的問題。

更新2:試圖添加新的動作(下面)和相同的問題。

<action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
+0

嘗試在

+0

中添加android:enabled =「true」沒有成功。同樣的問題。 – rsc

+0

你使用哪種設備? –

回答

0

您有清單中的<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>權限嗎?

+0

是的,我有。它適用於Android 5. – rsc

+0

@rsc是否會擴展BroadcastReceiver?我的意思是在java代碼中。 – Dejvid

+0

是的,否則它不會工作在Android 5 – rsc

1

在@Dejvid的幫助下,我能夠確定我的代碼是否正常,並且它是我的平板電腦的東西。

確實我在另一個平板電腦上試過我的代碼,它都工作。

所以,我猜測我的原始平板電腦有一個奇怪的過程,阻止了廣播。

+1

用已簽名的apk測試。某些設備不允許在調試應用程序中使用服務/接收器 –