
谢谢
以下是活动:
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}所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)