Hec*_*tor 10 android android-intent
我当前的 Android 应用程序需要调用
ActivityManager.clearApplicationUserData()
Run Code Online (Sandbox Code Playgroud)
模拟用户清理App存储
哪个工作正常。
调用的一个副作用clearApplicationUserData()是应用程序(可以理解)关闭。
这会给用户带来糟糕的体验。
一旦我调用了 ,我就很难重新启动我的应用程序clearApplicationUserData()。
我曾尝试将startActivity,Alarm Manager与Pending Intent, Foreground/Background服务一起使用。
什么都行不通。
是否无法重新启动已调用的 Android 应用程序clearApplicationUserData()?
(第一个答案:这个答案只适用于有限的情况。它不是一个完整的答案)
public boolean clearApplicationUserData()
返回:true如果应用程序成功请求擦除应用程序的数据;false除此以外。
正如参考网站所述,我们在关闭应用程序之前有一个返回者。所以,我们将使用这个返回者来重新启动应用程序。
if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
}
Run Code Online (Sandbox Code Playgroud)
当 ActivityonDestroy()和onStop()被称为重启应用程序。
@Override
protected void onDestroy() {
super.onDestroy();
if(doRestart){
Intent intent = new Intent(this, Activity.class);
this.startActivity(intent);
}
}
@Override
protected void onStop() {
super.onStop();
if(doRestart){
Intent intent = new Intent(this, Activity.class);
this.startActivity(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
我们把重新启动操作均onDestroy()和onStop(),以确保应用程序将再次重新启动。
而且,我认为在操作系统停止活动之前强制停止活动是个好主意。
if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
finish(); <= i mean this
}
Run Code Online (Sandbox Code Playgroud)
这是因为,它确保onDestroy()并且onStop()将被调用。
| 归档时间: |
|
| 查看次数: |
1574 次 |
| 最近记录: |