0

我已经实现了这样的接收器(在清单文件中)

    <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 文件的接收器。

4

1 回答 1

0

You need to create a receiver for onBootComplete and then register your receiver there. This way your receiver will get registered even after reboot.

<receiver android:name="App_Receiver">
<intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

于 2012-12-03T15:59:22.003 回答