我需要将数据写入文件,当系统重新启动时不在启动完成时。 我正在使用广播接收器“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动作
答案 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"/>