【问题标题】:Android 9 back button when launching settings activity works incorrectly启动设置活动时的 Android 9 后退按钮无法正常工作
【发布时间】:2019-03-09 09:52:55
【问题描述】:

在我们的应用程序中,我们有一个特殊的按钮,可以将用户带到网络设置页面。我们使用如下代码

 Intent intent=new Intent(Settings.ACTION_WIRELESS_SETTINGS);
 startActivity(intent);

在 Android 9 中此实现存在几个问题。

  1. 由于某种原因,我在启动网络和 Internet 设置时看到了一个后退按钮。按下该后退按钮会将用户带到“设置”页面,而不是将它们带回我的应用程序。这根本不可取。
  2. 更糟糕的是,按下系统返回按钮会使用户完全返回启动器,从而完全破坏导航返回堆栈。

然而,在 Android 8 中一切正常,顶部没有软件后退按钮,系统后退按钮也没有上述行为。

Android 9 出了什么问题?是否有我应该放入启动网络设置的意图的特殊活动操作标志?

附言

这两款手机都是诺基亚 2.1,一部是 Android 8.1,一部是 Android 9.0。

【问题讨论】:

  • 您找到解决方案了吗?
  • @JaswantSingh 并非如此,这就是 android 的工作方式,如下面的答案所述。

标签: android android-activity android-9.0-pie


【解决方案1】:

Android 9 实现是正确的,这就是他们更改它的原因:

https://developer.android.com/training/design-navigation/ancestral-temporal

向上按钮出现在应用栏中,用于根据屏幕之间的层次关系在应用内导航。

【讨论】:

  • 感谢您的回答。但是这种实现没有任何意义。因为如果我从我的应用程序中启动了设置,如果用户想要返回我的应用程序是没有办法的,“向上”和“返回”按钮都会将它们带到不同的地方。
  • 我同意他们做不同的事情,但做不同的正确事情。我认为我看到的行为不正确,因为从 App1 转到设置没有意义,然后按返回并转到启动器而不是转到 App1,您不同意吗?
  • 我在运行 Android 9 的 Pixel 3 上运行了代码。按“返回”按钮返回我的应用程序,而不是启动器。
  • 感谢您提供宝贵的信息。我想这可能是我手机的问题。
【解决方案2】:

我认为正确的流程应该是:-
1. 向上导航 -> 任何应用都将在应用内导航。
2.在系统后退按钮上,应用程序将移至Task中的上一个Activity或上一个任务(如果使用Intent.FLAG_ACTIVITY_NEW_TASK启动)。

在 Android 9.0 设备上进行测试时,我发现了同样的行为。在您的情况下,这可能是一个构建问题。我测试过的设备具有以下配置。

【讨论】:

  • 感谢您的回答。当您说“在 Android 9.0 设备上进行测试期间,我发现了这种相同的行为。”您所说的相同行为是什么意思?
  • 我在回答中提到的相同。很抱歉造成混乱。该设备是 Stock android Motorola One Power。所以你可以使用它,因为它看起来像一个依赖于构建/设备的缺陷。
  • 所以,为了清楚起见,当您按下系统后退按钮时,它确实会转到启动设置屏幕的应用程序,对吗?你没有被带到系统启动器,不是吗?
  • 我在 2019 年 7 月 1 日之后的 Android 9 Samsung S9+ 设备中发现了同样的问题。但在 2019 年 6 月 1 日及之前的行为与预期一致。你有什么解决办法吗?
猜你喜欢
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多