我有一个应用程序需要访问 Google Fit Api。
我可以弹出谷歌登录窗口。但下一个屏幕,请求我的数据类型(TYPE_STEP_COUNT_DELTA、AGGREGATE_STEP_COUNT_DELTA)权限的屏幕不会显示。
一旦我选择我的谷歌帐户,弹出窗口就会消失,并且不会进一步显示任何内容。
我已按照此处提到的所有设置步骤进行操作https://developers.google.com/fit/android/get-started https://developers.google.com/fit/android/get-started
-
在 Google API 开发者控制台中设置我的项目
-
在我的 android studio 中安装 google play 服务包
-
Created an OAuth 2.0 Client ID
-
添加依赖项
dependencies {
implementation 'com.google.android.gms:play-services-fitness:20.0.0'
implementation 'com.google.android.gms:play-services-auth:19.0.0'
}
- 在我的 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);
}
我错过了什么?为这个问题苦苦挣扎了好几天。任何输入都会很棒!
- 前往谷歌云平台。
- 在项目的左侧面板中,选择 OAuth Consent Screen。
- 向下滚动,您将看到测试用户。在这里,添加用户的电子邮件地址。
希望对你有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)