我已经实现了这样的接收器(在清单文件中)
<receiver android:name="com.phonelight.realparrot.RecorderBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE">
</action>
</intent-filter>
</receiver>
如果手机的状态发生变化,则会调用录像机广播接收器。 一切都好。但是,如果我重新启动设备,则在运行我的应用程序之前永远不会调用接收器。
我需要在启动后注册(不调用)此接收器。
非常感谢,
[编辑]
我通过将以下接收器添加到清单文件
来解决了这个问题 <receiver android:name="com.phonelight.realparrotpro.RecorderBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
我没有在java代码中注册RecorderBroadcastReceiver。 我只添加了上面的接收器。这意味着从应用程序调用任何东西都会注册在Manifest文件中写入的所有接收器。
答案 0 :(得分:0)
您需要为onBootComplete创建一个接收器,然后在那里注册您的接收器。这样,即使重启后,您的接收器也会被注册。
<receiver android:name="App_Receiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>