Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java google api错误-无法让google登录正常工作_Java_Android_Google Api_Google Signin_Google Fit - Fatal编程技术网

Java google api错误-无法让google登录正常工作

Java google api错误-无法让google登录正常工作,java,android,google-api,google-signin,google-fit,Java,Android,Google Api,Google Signin,Google Fit,我有一个应用程序需要访问Google Fit Api。 我可以得到谷歌登录弹出窗口。但下一个屏幕不会显示请求对我的数据类型(类型\步骤\计数\增量、聚合\步骤\计数\增量)的权限 一旦我选择了我的谷歌账户,弹出窗口就会消失,不再显示任何内容 我已经完成了此处提到的设置的所有步骤 在Google API开发者控制台中设置我的项目 在我的android studio中安装google play服务包 创建了OAuth 2.0客户端ID 添加依赖项 在我的firebase控制台中启用登录选

我有一个应用程序需要访问Google Fit Api。
我可以得到谷歌登录弹出窗口。但下一个屏幕不会显示请求对我的数据类型(类型\步骤\计数\增量、聚合\步骤\计数\增量)的权限

一旦我选择了我的谷歌账户,弹出窗口就会消失,不再显示任何内容

我已经完成了此处提到的设置的所有步骤

  • 在Google API开发者控制台中设置我的项目

  • 在我的android studio中安装google play服务包

  • 创建了OAuth 2.0客户端ID

  • 添加依赖项

  • 在我的firebase控制台中启用登录选项“google”
  • 但我没有看到更多的屏幕

    我的代码如下:

     public void setFitnessOption() {
            fitnessOptions =
                    FitnessOptions.builder()
                            .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
                            .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
                            .build();
          }
    
    public void checkFitInstalled() {
            if (isGoogleFitPermissionGranted()) {
                GetData();  //step count query       
            } else {
              requestGoogleFitPermission();
                GetData();    //step count query
            }
          }
    
    public boolean isGoogleFitPermissionGranted() {
            if (GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) {
              return true;
            } else {
              return false;
            }
          }
    
    public void requestGoogleFitPermission() {
            GoogleSignInAccount account = GoogleSignIn.getAccountForExtension(this, fitnessOptions);
            GoogleSignIn.requestPermissions(
                    this,
                    GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,
                    account,
                    fitnessOptions);
          }
    
    
    

    我错过了什么??为这个问题挣扎了好几天。任何输入都将是伟大的

    这回答了你的问题吗?问题在于
    reactApplicationContext
    ,它为空。在我的ReactModule中检查您的
    ReactModule
    @Lalit我尝试了一个简单的方法,将“Hello World”返回到我的前端。它工作了,我可以加载我的reactApplicationContext。我猜ReactModule和MainActivity()之间的连接不正确。
     public void setFitnessOption() {
            fitnessOptions =
                    FitnessOptions.builder()
                            .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
                            .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
                            .build();
          }
    
    public void checkFitInstalled() {
            if (isGoogleFitPermissionGranted()) {
                GetData();  //step count query       
            } else {
              requestGoogleFitPermission();
                GetData();    //step count query
            }
          }
    
    public boolean isGoogleFitPermissionGranted() {
            if (GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) {
              return true;
            } else {
              return false;
            }
          }
    
    public void requestGoogleFitPermission() {
            GoogleSignInAccount account = GoogleSignIn.getAccountForExtension(this, fitnessOptions);
            GoogleSignIn.requestPermissions(
                    this,
                    GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,
                    account,
                    fitnessOptions);
          }