android – Google Place Api提供状态{statusCode = ERROR,resolution = null}

android – Google Place Api提供状态{statusCode = ERROR,resolution = null},第1张

概述下面是我的代码,以获取当前位置的neaby位置.代码有时有效,有时不会改变任何东西.为什么会这样.我检查了api密钥是否有效,状态代码“ERROR”表示 *** 作失败,没有关于 https://developers.google.com/android/reference/com/google/android/gms/common/api/CommonStatusCodes.html#constants 下面是我的代码,以获取当前位置的neaby位置.代码有时有效,有时不会改变任何东西.为什么会这样.我检查了API密钥是否有效,状态代码“ERROR”表示 *** 作失败,没有关于 https://developers.google.com/android/reference/com/google/android/gms/common/api/CommonStatusCodes.html#constants的更详细信息
谢谢
以下是活动:
public class PlacesAPIActivity extends AppCompatActivity implements        OnConnectionFailedListener,Googleapiclient.ConnectionCallbacks {    private static final String LOG_TAG = "PPPPPPPPPPPPPPPPP";    private static final int Google_API_CLIENT_ID =0;    private Googleapiclient mGoogleapiclient;    private static final int PERMISSION_REQUEST_CODE = 100;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_places_API);        Log.d("resuktfvvvfdfd","onCreate: ");        buildGoogleapiclient();}    private synchronized voID buildGoogleapiclient()    {  button currentbutton = (button) findVIEwByID(R.ID.currentbutton);        mGoogleapiclient = new Googleapiclient.Builder(PlacesAPIActivity.this)                .addAPI(Places.PLACE_DETECTION_API)                .addAPI(Places.GEO_DATA_API)                .addConnectionCallbacks(this)                .addOnConnectionFailedListener(this)                .enableautoManage(this,Google_API_CLIENT_ID,this)                .build();        mGoogleapiclient.connect();        Log.d("connected",String.valueOf(mGoogleapiclient.isConnected()));        currentbutton.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw v) {                if (mGoogleapiclient.isConnected()) {                    Log.d("connected1",String.valueOf(mGoogleapiclient.isConnected()));                    if (ContextCompat.checkSelfPermission(PlacesAPIActivity.this,Manifest.permission.ACCESS_FINE_LOCATION)                            != PackageManager.PERMISSION_GRANTED) {                        ActivityCompat.requestPermissions(PlacesAPIActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION},PERMISSION_REQUEST_CODE);                    } else {                        callPlaceDetectionAPI();                    }                }            }        });    }    @OverrIDe    public voID onConnectionFailed(ConnectionResult connectionResult) {        Log.e(LOG_TAG,"Google Places API connection Failed with error code: "                + connectionResult.getErrorCode());        Toast.makeText(this,"Google Places API connection Failed with error code:" +                        connectionResult.getErrorCode(),Toast.LENGTH_LONG).show();    }    @OverrIDe    public voID onRequestPermissionsResult(int requestCode,String permissions[],int[] grantResults) {        switch (requestCode) {            case PERMISSION_REQUEST_CODE:                if (grantResults.length > 0                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                    callPlaceDetectionAPI();                }                break;        }    }    private voID callPlaceDetectionAPI() throws SecurityException {        Log.d("mvkvkmvkmvkm","callPlaceDetectionAPI: ");        PendingResult<PlacelikelihoodBuffer> result = Places.PlaceDetectionAPI                .getCurrentPlace(mGoogleapiclient,null);        Log.d("result",result.toString());        result.setResultCallback(new ResultCallback<PlacelikelihoodBuffer>() {            @OverrIDe            public voID onResult(PlacelikelihoodBuffer likelyPlaces) {                System.out.println("insIDe callback...");                Status status = likelyPlaces.getStatus();                System.out.println("Status.tostring"+status.toString());                System.out.println(status.isSuccess());                System.out.println(status.getStatusCode());                System.out.println(status.getStatusMessage());                System.out.println(status.getStatus());                for (Placelikelihood placelikelihood : likelyPlaces) {                    Log.i(LOG_TAG,String.format("Place '%s' with " +                                    "likelihood: %g",placelikelihood.getPlace().getname(),placelikelihood.getlikelihood()));                }                likelyPlaces.release();            }        });    }    @OverrIDe    public voID onStop() {        super.onStop();        mGoogleapiclient.disconnect();    }    @OverrIDe    public voID onConnected(@Nullable Bundle bundle) {    }    @OverrIDe    public voID onConnectionSuspended(int i) {    }}

AndroID MAnifest文件

<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"    package="com.example.******">    <uses-permission androID:name="com.Google.androID.provIDers.gsf.permission.READ_GSERVICES"/>    <uses-permission androID:name="androID.permission.INTERNET"/>    <uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION"/>    <uses-permission androID:name="androID.permission.ACCESS_COARSE_LOCATION" />    <application        androID:allowBackup="true"        androID:icon="@mipmap/ic_launcher"        androID:label="@string/app_name"        androID:supportsRtl="true"        androID:theme="@style/Apptheme">        <activity androID:name=".PlacesAPIActivity">            <intent-filter>                <action androID:name="androID.intent.action.MAIN" />                <category androID:name="androID.intent.category.LAUNCHER" />            </intent-filter>        </activity>       <Meta-data        androID:name="com.Google.androID.gms.version"        androID:value="@integer/Google_play_services_version"/>        <Meta-data        androID:name="com.Google.androID.geo.API_KEY"        androID:value="A***************************o"/>    </application></manifest>

日志屏幕

07-06 15:56:32.499 10925-10925/com.example.utkarsh.nearby D/connected1: true07-06 15:56:32.500 10925-10925/com.example.utkarsh.nearby D/mvkvkmvkmvkm: callPlaceDetectionAPI: 07-06 15:56:32.554 10925-10925/com.example.utkarsh.nearby D/result: com.Google.androID.gms.location.places.internal.zzj@5dd875707-06 15:56:42.610 10925-10925/com.example.utkarsh.nearby I/System.out: insIDe callback...07-06 15:56:42.610 10925-10925/com.example.utkarsh.nearby I/System.out: Status.tostringStatus{statusCode=ERROR,resolution=null}07-06 15:56:42.610 10925-10925/com.example.utkarsh.nearby I/System.out: false07-06 15:56:42.610 10925-10925/com.example.utkarsh.nearby I/System.out: 1307-06 15:56:42.611 10925-10925/com.example.utkarsh.nearby I/System.out: ERROR07-06 15:56:42.611 10925-10925/com.example.utkarsh.nearby I/System.out: Status{statusCode=ERROR,resolution=null}
解决方法 有很多这个错误代码后,我解决了它在我的模拟器中发送我的GPS位置. 在AndroID Studio AVD – AndroID模拟器中,在我的程序运行的情况下,我点击了“更多”> “位置”>设置我的纬度和经度,然后单击“发送”. 立即成功执行了getCurrentLocation()的下一个请求. 您可以在执行应用程序之前将您的位置发送到模拟器.它也会起作用. 总结

以上是内存溢出为你收集整理的android – Google Place Api提供状态{statusCode = ERROR,resolution = null}全部内容,希望文章能够帮你解决android – Google Place Api提供状态{statusCode = ERROR,resolution = null}所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1135674.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存