放置检测api不适用于avd

时间:2016-06-19 16:45:16

标签: android google-play-services google-places-api gmsplacepicker

我使用Google Places API在Android上工作。 我在运行PlaceDetectionApi的getCurrentPlace方法时遇到了问题。我在方法的PlaceLikelihoodBuffer中获得的resultcallback是空的,当我在我的logcat中打印errorstatus时,它说错误代码是13并且在logcat中,我也可以阅读" D / PlaceInferenceEngine: No place inference engine is running, returning null"。 我在模拟器上的AVD中运行它,遗憾的是我暂时无法在真实设备上测试它。 所以,问题是:这个地方推理引擎是什么?如何让它在我的AVD上运行?

相关的代码是:

public void getCurrentPosition(int requestCode) {
        if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) !=
                PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                    requestCode);
        } else {
            if(requestCode == PERMISSION_REQUEST_GET_CURRENT_POSITION) {
                PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi.getCurrentPlace(client, new PlaceFilter());
                result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
                    @Override
                    public void onResult(PlaceLikelihoodBuffer placeLikelihoods) {
                        System.out.println("inside callback...");
                        Status status = placeLikelihoods.getStatus();
                        System.out.println(status.isSuccess());
                        System.out.println(status.getStatusCode());
                        System.out.println(status.getStatusMessage());
                        for (PlaceLikelihood placeLikelihood : placeLikelihoods) {
                            Place place = placeLikelihood.getPlace();
                            System.out.println("possible place: " + place.getAddress());
                        }
                        placeLikelihoods.release();
                    }
                });
            }
         }
}

我的logcat中的结果是:

06-19 14:39:33.436 1865-2848/com.google.android.gms.persistent D/PlaceInferenceEngine: No place inference engine is running, returning null
06-19 14:39:33.437 1865-2284/com.google.android.gms.persistent W/Places: getLastLocation returned null. Falling back to location updates
06-19 14:39:33.621 1865-2148/com.google.android.gms.persistent W/GCoreFlp: No location to return for getLastLocation()
06-19 14:39:43.478 1865-2284/com.google.android.gms.persistent E/Places: Timed out waiting for a location for getCurrentPlace
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: inside callback...
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: false
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: 13
06-19 14:39:43.500 2760-2760/com.example.kevin.mapproject I/System.out: ERROR

0 个答案:

没有答案