2015-10-20 69 views
0

這裏是我的AndroidManifest.xml:廣播接收器不處理BOOT_COMPLETED

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<application> 
    <receiver android:name=".MyBroadcastReceiver" > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver> 

這裏是我的類MyBroadcastReceiver.java:

public class MyBroadcastReceiver extends BroadcastReceiver { 
    public void onReceive(Context context, Intent intent) { 
     Log.d("TAG", "this is onReceive"); 

我使用過Android Studio 1.4在Windows上用模擬器。我沒有在我的日誌中得到任何東西。

+0

你有一個活動?在嘗試重新啓動設備或模擬器之前是否啓動了該活動? – CommonsWare

+0

我有一個主要(發射器)活動。我只是按下android studio播放器,並期望我的廣播能夠正常工作。這是錯誤的? – joakim0112

回答

0

我只是在Android工作室按播放,並期望我的廣播工作。這是錯誤的?

是的,這是錯誤的。

首先,Android Studio將只運行一項活動,特別是啓動器活動。 Android Studio不會自行發送廣播。

其次,android.intent.action.BOOT_COMPLETED在設備或仿真器重新啓動(或從完全關閉時開啓)時廣播。在Android Studio中運行應用程序不會重新啓動設備或模擬器。在Android Studio中運行應用程序可以啓動模擬器,但是直到引導過程發生並且發送了BOOT_COMPLETED廣播之後,您的應用程序纔會安裝在模擬器上。如果你想廣播亞行發送到您的應用程序

+0

這解釋了。我想從接收器開始一項服務。我的解決方案現在是從接收器*和*從主要活動的onCreate事件啓動該服務(除非它已經啓動)。謝謝。 – joakim0112

1

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED