我想在手机关闭时清除共享首选项值?我的应用程序中的后退按钮存在问题
-2
A
回答
2
如何清除SharedPreference
当设备是switched off
。
当设备启动时,您可以通过BraodcastReceiver
将其清除。
public class PhoneStateReceiver extends BroadcastReceiver{
@Override
public void onReceive(final Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
//Clear your `SharedPreference` here.
}
}
}
在您的清单补充一点:
<receiver android:name=".receiver.PhoneStateReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
添加权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
0
Asfar酒店,因为我知道,唯一的可能就是用OnDestroy()
但你的程序在运行时,该设备已关闭。
0
同样的问题:Android的:Android: How to make a specific SharedPreference reset itself after the system reboots?
我不知道不同的方式。这个实现非常简单。只需处理BOOT_COMPLETED广播操作并通过调用SharedPreference.Editor上的.clear()(answer is here)来清除首选项。
一个简单的引导接收器可能是这样的:
public class OnBootReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//clear preferences here
}
}
也声明其在AndroidManifest.xml中为:
<receiver android:name=".OnBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
您还需要为这个权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
相关问题
- 1. 退出按钮退出后的问题
- 2. Android应用程序中的后退按钮无法退出应用程序
- 3. Android测验应用程序,后退按钮和下一个按钮问题
- 4. 导航应用程序 - 后退按钮
- 5. 后退按钮关闭应用程序
- 6. iOS中的后退按钮存在的问题
- 7. Laravel中的后退按钮问题
- 8. Ionic 1中的后退按钮问题
- 9. cakephp后退按钮问题
- 10. PJAX:后退按钮问题
- 11. 后退按钮问题
- 12. UINavigationController后退按钮问题
- 13. 后退按钮问题
- 14. UINavigationController后退按钮问题
- 15. 后退按钮在javascript禁用问题
- 16. VideoView中的后退按钮存在问题
- 17. 我单击按钮后退出的应用程序
- 18. 后退按钮不会暂停我的应用程序
- 19. 后退按钮仍然关闭我的应用程序
- 20. 后退按钮将我踢出WebView上的应用程序
- 21. 每当我按下后退按钮时,应用程序停止
- 22. 我想将我的应用程序后退按钮链接到Android手机内置后退按钮
- 23. 后退按钮的问题与Android的
- 24. iframe后退按钮问题(不想后退按钮影响iframe)
- 25. 如何禁用iPhone应用程序中的后退按钮
- 26. 处理后退按钮的问题
- 27. jsp上的IE后退按钮问题
- 28. Android - Android的后退按钮问题
- 29. 当我按下后退按钮时,我的应用程序不会关闭
- 30. 应用按后退按钮当按下后退按钮
请改善你的问题,把一些努力,其将被关闭。 – Mudassir
重新提出同样的问题被认为是滥用系统;请不要这样做。如果你可以[编辑]澄清你的问题(http://stackoverflow.com/posts/7498418/edit),那么请这样做。一旦你的问题得到了改善(请参阅[faq#howtoask]中的此部分以了解如何),标志着主持人的注意力。选择“其他”,并要求一个国防部重新打开你的问题。 – Will