如何解决退出GoogleFit
我尝试使用this,但是推荐的操作却无效:
Fitness.getConfigClient(this,GoogleSignIn.getLastSignedInAccount(this)).disableFit()
我如何通过Google进行身份验证:
if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this),fitnessOptions)) {
GoogleSignIn.requestPermissions(this,REQUEST_OAUTH_REQUEST_CODE,GoogleSignIn.getLastSignedInAccount(this),fitnessOptions);
} else {
subscribe();
}
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_OAUTH_REQUEST_CODE) {
subscribe();
}
}
}
public void subscribe() {
Fitness.getRecordingClient(this,GoogleSignIn.getLastSignedInAccount(this))
.subscribe(DataType.TYPE_STEP_COUNT_CUMULATIVE)
.addOnCompleteListener(
new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.i(TAG,"Successfully subscribed!");
} else {
Log.w(TAG,"There was a problem subscribing.",task.getException());
}
}
});
}
我需要能够获取上次登录的Google帐户,并向用户提供退出其Google帐户的选项。
解决方法
要从应用程序断开Google帐户的连接,您应使用GoogleSignIn中的signOut方法,该方法将保留授予的权限,或者您可以使用revokeAccess方法退出并撤销授予的权限:
val options = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.addExtension(getFitnessOptions())
.requestProfile()
.build()
GoogleSignIn.getClient(this,options).signOut() // or GoogleSignIn.getClient(this,options).revokeAccess()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。