android – 如何从应用程序本身禁用Google Fit并撤消权限

前端之家收集整理的这篇文章主要介绍了android – 如何从应用程序本身禁用Google Fit并撤消权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经设置了连接到Google Fit的应用,可以读取和写入有关用户身体的一些数据.当用户在应用设置中停用Google健身时,我会尝试通过以下方式撤消我的应用权限:
public void disableGoogleFit(){
    if(!mClient.isConnected()){
        Log.e(TAG,"Google Fit wasn't connected");
        return;
    }
    PendingResult<Status> pendingResult = Fitness.ConfigApi.disableFit(mClient);

    pendingResult.setResultCallback(new ResultCallback<Status>() {
        @Override
        public void onResult(Status status) {
            if(status.isSuccess()) {
                Log.i(TAG,"Google Fit disabled");
            }else{
                Log.e(TAG,"Google Fit wasn't disabled " + status);
            }
        }
    });
}

即使我可以成功读取/写入数据,禁用Fit也会返回错误

Google Fit wasn't disabled Status
{statusCode=unknown status code: 5010,resolution=null}

Edit1:添加了整个方法,其中可见,该客户端在我尝试禁用Fit时连接.

解决方法

如果我撤消了操作的Google Fit方面的访问而不是调用disableFit()方法,我遇到了这个问题.当使用disableFit()方法时,事情变得很糟糕,重新连接是一个蛋糕步行.但是当Google Fit撤销访问时,它并没有消除现有的OAuth,因此您陷入了困境. Limbo因为您已断开连接但未发出OAuth质询,因此您不断收到5010错误.

我想出的唯一解决方案是通过连接到另一个帐户来进行OAuth挑战.那你很好.这听起来像是Google Fit上的一个问题,而客户端则没有任何问题.

猜你在找的Android相关文章