<?xml version="1.0" encoding="utf-8"?>
<manifest
.............
<!-- 开机启动权限 -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
.........
<application
.........
<!-- 接收开机启动广播 -->
<receiver
android:name=".BOOTReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter android:priority="1000">
<!--.接收启动完成的广播-->
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
</application>
</manifest>
class BOOTReceiver : BroadcastReceiver() {
val TAG = "mytag"
class ReceiverTimer {}
companion object {
//开机广播
val device_start_cation = "android.intent.action.BOOT_COMPLETED"
}
override fun onReceive(context: Context?, intent: Intent?) {
Log.i(TAG, "device start")
if (device_start_cation == intent?.action) {
//设备启动
}
}
}
测试是在Android7.1.1,先打开一次,在重启设备,开机广播接收成功。