所以我在Android 5.0和6.0上运行我的应用程序。 在我的应用程序中,片段中有一个按钮可打开设备设置并转到位置屏幕:
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
getContext().startActivity(intent);
启动“设置”屏幕后,按HOME按钮,我将进入设备主屏幕。
然后我按下应用程序图标打开应用程序,这就是问题所在:
在Android 5.0中,我看到了启动设置屏幕的片段。
在Android 6.0中,我看到设置屏幕。我需要按后退按钮返回我的片段。
所需的行为是在Android 5.0中发生的行为。 设置屏幕不应计为应用程序使用的“最后”屏幕。
另一个重点,我不完全确定问题是由于不同的Android版本。在Samsung设备上会出现所需的行为,并且Nexus设备上会出现不良行为。也许它与此有关。
有什么方法可以解决这个问题吗? 谢谢!
答案 0 :(得分:0)
我最终使用了:
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
getContext().startActivity(intent);
解决这个问题。设备设置屏幕未添加到历史记录堆栈中,因此我始终返回正确的活动。