gpt4 book ai didi

Android 从 Android 设置导航回应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:34 25 4
gpt4 key购买 nike

由于 Android 从 Android 设置导航回来的方式,我的用户体验不一致。

在我的应用程序中,用户需要授予我的应用程序访问 ACTION_USAGE_ACCESS_SETTINGS 的权限,我通过以下方式访问它:

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

将我的应用程序的设置切换为打开后,我需要用户返回到我的应用程序。据我所知,执行此操作的唯一方法是让他们按下手机上的后退按钮(很想知道是否可以在切换设置后自动返回!!!?!)。

现在会发生以下两种情况之一:

1) 用户最近没有使用过安卓设置,所以它还没有打开(即在打开的应用程序抽屉中打开)。第一次按下后退按钮将根据需要将它们带到我的应用程序。

2) 用户最近使用过安卓设置。因此设置已经在应用程序抽屉中打开。现在,当用户按下后退键时,Android 将带他们返回他们最近使用的每个设置页面(即后退按钮带他们浏览他们在 android 设置页面中的历史记录)。可能需要按 2、3 或 4 次后退按钮才能离开 Android 设置并返回到我的应用程序。这显然是糟糕的 UI/UX,我想知道是否有更好的方法?

我注意到,在安装 Google 应用程序时,将设置切换为 ON 后,它会自动退出并返回到调用该设置的应用程序。能够做到这一点是最理想的,但我就是做不到。

谢谢!

最佳答案

好的,在尝试了大约一百万种方法之后,我想出了 3 种不同的方法来改善我的问题。

1) 由@CommonsWare 提供,通过删除 FLAG_ACTIVITY_NEW_TASK,它可以防止所需的后退次数不一致,这意味着每次用户只需按两次后退。

2) 在进一步研究标志后,我发现使用三个组合:

Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);

将所需的背压次数减少到 1 次背压。这是简单合理的用户友好。

3) 在触发设置 Intent 后,使用处理程序持续检查所需的权限。这看起来有点像 hack,我不敢相信没有更好的方法来做到这一点,但它的工作原理与使用 Google 应用程序时完全一样。即,一旦您将切换开关切换到打开状态,它就会退出 Android 设置页面,并返回到您的应用程序,即您离开的地方。我正在使用:

Handler handler = new Handler();

Runnable checkSettingOn = new Runnable() {

@Override
//@TargetApi(23)
public void run() {
Log.d(TAG, "run: 1");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
Log.d(TAG, "run: 2");
return;
}
if (isAccessGranted()) {
Log.d(TAG, "run: 3");
//You have the permission, re-launch MainActivity
Intent i = new Intent(MainActivity.this, MainActivity.class);
Log.d(TAG, "run: 4");
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
return;
}
handler.postDelayed(this, 200);
}
};

然后,当您触发进入 Android 设置页面的 Intent 时,请确保启动处理程序:

handler.postDelayed(checkSettingOn, 1000);

希望这对遇到类似问题的其他人有所帮助。

关于Android 从 Android 设置导航回应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47445695/

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