Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
GoogleAppClient检查android上的api可用性_Android_Google Api Client - Fatal编程技术网

GoogleAppClient检查android上的api可用性

GoogleAppClient检查android上的api可用性,android,google-api-client,Android,Google Api Client,当在调用connect时使用GoogleAPI客户端时,有没有办法检查API的可用性 而不是 GoogleApiClient.Builder apiClientBuilder = new GoogleApiClient.Builder(context); apiClientBuilder.addApi(API); apiClientBuilder.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListene

当在调用connect时使用GoogleAPI客户端时,有没有办法检查API的可用性

而不是

GoogleApiClient.Builder apiClientBuilder = new GoogleApiClient.Builder(context);
apiClientBuilder.addApi(API);
apiClientBuilder.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
        if (result.isSuccess()) {
        ...
        } else {
            // handle missing api 
        }
                        }
                    });
GoogleApiClient client = apiClientBuilder.build();
client.connect();
我想使用如下内容:

if (GoogleApiClient.isApiAvailable(API)) {
    GoogleApiClient.Builder apiClientBuilder = new GoogleApiClient.Builder(context);
    apiClientBuilder.addApi(API);
    GoogleApiClient client = apiClientBuilder.build();
    client.connect();
    ...
} else {
  // handle missing api without connecting
}

我使用了如下代码来检查WearOS

    int result = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(ctx);
if(ConnectionResult.SUCCESS == result ) {

    MessageClient mc = Wearable.getMessageClient(ctx);

    try {
        Task<Void> t = GoogleApiAvailability.getInstance().checkApiAvailability(mc);

        t.addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void v) {
                //... MessageClient available
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                //.. MessageClient not available
            }
        });
    }
    catch (Exception ex) {
        //.. MessageClient not available
    }
}
int result=GoogleAppAvailability.getInstance().isGooglePlayServicesAvailable(ctx);
if(ConnectionResult.SUCCESS==结果){
MessageClient mc=Wearable.getMessageClient(ctx);
试一试{
Task t=GoogleApiAvailability.getInstance().CheckapAvailability(mc);
t、 addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公开作废(作废v){
//…MessageClient可用
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
//..MessageClient不可用
}
});
}
捕获(例外情况除外){
//..MessageClient不可用
}
}

你可以检查
google PlayServicesAvailable?
。在这个具体的例子中,我想在设备上检查
Wearable.API
@LordFlash,如果google API services available Wearable可用too@Vyacheslav,如果有play services版本,但仍然不包含某些API,该怎么办?即,它是未更新的播放服务。