gpt4 book ai didi

android - 调用 ActivityManager.clearApplicationUserData() 后是否可以重新启动 Android 应用程序

转载 作者:行者123 更新时间:2023-12-02 15:19:25 27 4
gpt4 key购买 nike

我当前的Android应用程序需要调用

 ActivityManager.clearApplicationUserData()

模拟用户清理App存储

效果很好。

调用 clearApplicationUserData() 的副作用是应用程序(可以理解)关闭。

这会带来较差的用户体验。

调用 clearApplicationUserData() 后,我很难重新启动应用程序。

我尝试使用 startActivityAlarm ManagerPending IntentForeground/Background 服务。

没有任何作用。

调用 clearApplicationUserData() 后是否无法重新启动 Android 应用?

最佳答案

(第一个答案:此答案仅适用于有限的情况。这不是一个完整的答案)

公共(public) bool clearApplicationUserData()

Description

返回:true如果应用程序成功请求删除应用程序的数据;否则

正如引用网站所述,在申请关闭之前我们已经有一名返回者。因此,我们将使用此返回者来重新启动应用程序。

if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
}

当 Activity onDestroy()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);
}
}

我们将重新启动操作放入 onDestroy()onStop() 中,以确保应用再次重新启动。

而且,我认为在操作系统停止 Activity 之前强制停止 Activity 是个好主意。

if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
finish(); <= i mean this
}

这是因为它确保 onDestroy()onStop() 将被调用。

关于android - 调用 ActivityManager.clearApplicationUserData() 后是否可以重新启动 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59425115/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com