1

基本上我正在尝试制作一个包含一个按钮的活动,该按钮重新启动设备并在重新启动后返回到相同的活动。

我知道这个问题可能会让其他人对重启设备感到困惑,但这不是这个问题的重点,因为我可以让设备正常重启。

我已经让按钮重新启动设备,但是在它完成重新启动后我可以让它启动活动的唯一方法是BOOT_COMPLETED在清单中注册一个广播接收器。问题是这种方法在每次设备启动时都会启动活动,这是不可取的。当我在按钮单击侦听器上注册接收器时,它不会在重新启动后启动活动。

我想知道是否有额外的东西BOOT_COMPLETED可以用来确定它是否被故意重新启动。

任何建议将不胜感激,在此先感谢!

4

2 回答 2

5

只需保存与通过您的活动有意重新启动的设备相对应的整数。用于SharedPreference相同。重新启动时,在您的 中broadcast receiver,检查该值是否已设置。如果已设置,则开始您的活动,否则,放手。

编辑

始终,在重新启动完成并且您的 Activity 位于前面时取消设置此值。

于 2015-08-26T08:40:48.323 回答
0

您的 XML 应存储在名为 AndroidManifest.xml 的文件中,而不是 manifest.java 中。

您的代码未运行的另一个原因可能是您的应用程序安装在外部存储 (sdcard) 上。BOOT_COMPLETE 在挂载外部存储之前发送到应用程序。因此,如果应用程序安装到外部存储,它将不会收到 BOOT_COMPLETE 广播消息。

如果这不是问题,那么已经有很好的描述如何让启动完成的接收器在 Android 上工作。

尝试在 Android 上启动服务

于 2015-08-26T08:41:51.797 回答