2015-10-20 3 views
0

Вот мой AndroidManifest.xml:BroadcastReceiver не обрабатывает 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 и ожидаю, что моя трансляция будет работать. Это не верно? – joakim0112

ответ

0

Я просто нажимаю игру в студии android и ожидаю, что моя трансляция будет работать. Это не верно?

Да, это неправильно.

Во-первых, Android Studio будет запускать только активность, в частности активность запуска. Android Studio не будет самостоятельно отправлять трансляции.

Во-вторых, android.intent.action.BOOT_COMPLETED транслируется, когда устройство или эмулятор перезагрузились (или включены от полного отключения). Запуск приложения в Android Studio не перезагружает устройство или эмулятор. Запуск приложения в Android Studio может загрузить эмулятор, однако ваше приложение не будет установлено на эмулятор до тех пор, пока не произойдет этот процесс загрузки и не будет отправлена ​​передача BOOT_COMPLETED.

+0

Это объясняет. Я хотел запустить службу у получателя. Мое решение теперь начать эту услугу с получателя * и * из события onCreate моего основного действия (если оно уже не начато). Благодарю. – joakim0112

1

если вы хотите отправить радиопередачу в приложение от ADB:

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