我正在开发一个在 BOOT_COMPLETED 上启动服务的 android 应用程序。一切正常,但是在记录一些消息时,我注意到在我终止应用程序后,它会立即重新启动到一分钟后。
唯一可以启动服务的接收器注册到 BOOT_COMPLETED。所以我的问题是为什么我的应用程序在手机启动后自行启动。
从安卓网站:
广播动作:在系统完成启动后广播一次。它可用于执行特定于应用程序的初始化,例如安装警报。您必须拥有 RECEIVE_BOOT_COMPLETED 权限才能接收此广播。
据我了解,这个事件应该只广播一次,所以还有什么可能导致这个事件。
编辑:这是我在 BootReceiver(扩展 BroadCastReceiver)中用于启动服务的代码。此代码不会在其他任何地方重复。
Intent serviceIntent = new Intent(context, RandomToneService.class);
context.startService(serviceIntent);