android - requestCode 代码返回相同的值,或者更改您是否检查 gps 的选项

标签 android android-activity resultset

我正在调用以下方法:

Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(intent, GPS_LOC);

但是在 onActivityResult 作为下面的方法

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode != -1) {
           switch (requestCode) {
              case GPS_LOC:
                userData();
               break;
            }
         }  
     }

它是“requestCode”和“resultCode”返回相同的值,或者你“打开”gps 设置或返回而不做“打开”。我不想调用 userData();当用户没有打开“on”gps 设置时。请调查此事

最佳答案

问题是您无法启动 Activity :

android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS

一个结果。

因此您的 requestCode 永远不会从 Activity 中返回。

问问自己为什么要开始这个结果?是为了检查他们是否打开了 GPS?如果是这样,当 Activity 返回时再次检查它。如果是其他原因,我认为您没有掌握 startActivityForResult 的用途。

相关问题: getting-back-from-location-to-my-application

关于android - requestCode 代码返回相同的值,或者更改您是否检查 gps 的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5324608/

相关文章:

Android:为什么我不应该在选项卡内使用 Activity ?

android - 无法解析符号 'AppCompatActivity'

android - 从最近的任务中排除当前 Activity

java - 生产 Android 应用显示 Caused by : java. lang.NoClassDefFoundError 错误

android - 在 Azure Pipelines 的 Ubuntu 代理上构建 Android 项目时,SDK 目录不可写

java - 错误 : Before start of result set in Java

java - 如何一键删除数据库中的所有行

java - 找不到以下类: com. codecarpet.fbconnect.FBLoginButton

android - HTML 5 视频标签,使用 Ionic 3 在 Android 上 2-4 秒后开始播放视频