您必须收听 BOOT_COMPLETED 意图过滤器。您刚刚引用的这段代码来自一个BroadcastReceiver,它将在设备启动时启动。
此类必须扩展自BroadcastReceiver
:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
...
}
}
然后,您必须通过执行以下操作在清单文件中注册该接收器:
<receiver
android:enabled="true"
android:name="your_package.BootReceiverClassName"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
您还需要以下权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
顺便说一句,您必须确保该应用程序未安装在 SD 卡上,否则它将无法工作(但有可能的解决方法)。