广播接收器重启?

时间:2011-10-12 06:38:46

标签: android broadcastreceiver

我需要将数据写入文件,当系统重新启动时不在启动完成时。 我正在使用广播接收器“android.intent.action.REBOOT”下面是我的代码和清单文件

public class broadcastreceiver extends BroadcastReceiver{
 @Override
 public void onReceive(Context context, Intent intent) {
 Log.i("LOG_TAG","rebooted"); 
}

清单文件:

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".broadcast"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.example.broadcastreceiver.broadcastreceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.REBOOT">
<intent-filter>    
<action android:name="android.intent.action.REBOOT" />
</intent-filter>
</receiver>
</application>

但重启时我甚至无法写日志。 注意:我不想在广播接收器中使用Bootcompleted动作

2 个答案:

答案 0 :(得分:2)

我不明白为什么你不想使用BootCompleted,你能提供理由吗?

没有其他操作可以提醒您的广播接收器启动。您必须使用BootCompleted。

作为一个注释,我希望您使用上下文向您注册BroadcastReceiver(因为您没有包含该代码)。如果您没有使用BootComplete,我不知道您注册了哪些操作可以执行上述代码。

答案 1 :(得分:0)

将此添加到我的工作中,但在新设备上,没有测试。 例如,最近的nexus没有工作。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>