【问题标题】:Solution to handle an app on even of phone shut down在手机关机时处理应用程序的解决方案
【发布时间】:2014-07-20 13:02:45
【问题描述】:

我想知道在用户使用应用程序时是否有处理关机/意外关机的规定/解决方案。
一种可能的解决方案似乎是为 BATTERY_LOW 注册广播接收器。还有其他好的有效的解决方案吗?

【问题讨论】:

  • 完全准确地定义“意外关闭”是什么意思。

标签: android android-filter


【解决方案1】:

您的广播接收器...

public class ShutdownReceiver extends BroadcastReceiver {

 @Override
 public void onReceive(Context context, Intent intent) {
    //handle your stuff
 }
}  

最后是你的清单..

<uses-permission android:name="android.permission.DEVICE_POWER" />
<receiver android:name=".ShutdownReceiver">
 <intent-filter>
  <action android:name="android.intent.action.ACTION_SHUTDOWN" />
 </intent-filter>
</receiver>

对于某些设备,这也是必需的

android.intent.action.QUICKBOOT_POWEROFF

【讨论】:

  • 是的 ACTION_SHUTDOWN 应该工作。但它能够处理意外关闭吗?我的意思是如果手机因为某种未知的原因突然关机,是否保证会调用广播接收器?
  • 不,但有几个原因导致设备可能会关闭,您无法处理。一旦取出电池,操作系统就会崩溃,等等。您可能想使用 LOW_BATTERY 和 ACTION_SHUTDOWN,但不能确定。您可以在关闭时设置一个标志,并在重新创建服务时检查它。 (ON_BOOT_COMPLETED)。当服务未成功关闭时,您可能需要处理此问题。
猜你喜欢
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
  • 2011-08-18
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多