gpt4 book ai didi

android - 用户更改位置设置后刷新 Activity

转载 作者:太空狗 更新时间:2023-10-29 16:01:46 25 4
gpt4 key购买 nike

用户流程:点击一个按钮,被重定向到显示谷歌地图的 MapActivity。给定一个位置,有一个按钮可以使用当前位置创建到给定位置的路线。当位置服务关闭时,系统会提示用户将其打开。

private void goToLocationSettings(){
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS );
startActivityForResult(intent, 1);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
switch (requestCode) {
case 1: Log.e("test", "onActivityResult");
break;
}
}
}

当用户返回时,函数应该能够完成。但程序再次打开设置。日志永远不会显示。

如果我在我的设备上打开位置服务后稍等片刻,我没有收到打开它的问题,但仍然没有显示日志消息。

我不知道我做错了什么。

最佳答案

您正在检查错误的 resultCode,为避免混淆使用常量 Activity#RESULT_OKActivity#RESULT_CANCELED .如果您查看文档,您会发现 RESULT_OK 的 int 值为 -1。

在为结果启动 Location Settings Activity 的情况下,resultCode 将始终为 0,因为用户使用后退按钮退出了 Settings Activity,因此对于系统来说,他似乎取消了请求.

static final int LOCATION_SETTINGS_REQUEST = 1;

protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == LOCATION_SETTINGS_REQUEST) {
// user is back from location settings - check if location services are now enabled
checkGPS();
}
}

关于android - 用户更改位置设置后刷新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29508848/

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