2015-10-20 67 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