2015-04-20 10 views
8

मैं अपने ऐप में रखें पिकर का उपयोग करने में असमर्थ हूँ। एपीआई तो बस बंद कर दिया काम नहीं explanation.The पिकर के साथ एक दिन के लिए समय की एक बहुत ही कम अवधि के लिए दिखाई देता है तो बस कोई अपवाद नहीं और लॉग में कुछ भी नहीं के साथ बंद कर देता है। OnActivityResult फ़ंक्शन को अनुरोध कोड = 1, परिणाम कोड = 2 (त्रुटि कोड) और बिना डेटा के कहा जाता है। गूगल से नमूना कोड वही काम करता है। मैंने यह काम करने के लिए सब कुछ करने की कोशिश की है। किसी को भी ऐसा कुछ अनुभव होता है? कृपया मदद करें।Google स्थल एपीआई काम नहीं करता

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.easy.parcelapp." 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="16" 
     android:targetSdkVersion="22" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.RECORD_VIDEO" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.BROADCAST_STICKY" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 

    <application 
     android:name=".EasiParcelApplication" 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyDEcV-My-Actual-API-Key-goes-here" /> 

     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.Holo.Light.NoActionBar" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".RegistrationActivity" 
      android:label="@string/title_activity_register" 
      android:parentActivityName=".MainActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.easiparcel.MainActivity" /> 
     </activity> 
     <activity 
      android:name=".JobListingActivity" 
      android:label="@string/title_activity_listing" > 
     </activity> 
     <activity 
      android:name=".NewJobActivity" 
      android:label="@string/title_activity_new_job" 
      android:parentActivityName=".JobListingActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.easiparcel.JobListingActivity" /> 
     </activity> 
     <activity 
      android:name=".NewJobConfirmation" 
      android:label="@string/title_activity_new_job_confirmation" 
      android:parentActivityName=".NewJobActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.easiparcel.NewJobActivity" /> 
     </activity> 
     <activity 
      android:name=".JobDetails" 
      android:label="@string/title_activity_job_details" 
      android:parentActivityName=".JobListingActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.easiparcel.JobListingActivity" /> 
     </activity> 
    </application> 

</manifest> 

Activity.java

public void HandleSenderAddressPickerClicked(View view) 
{ 
    int PLACE_PICKER_REQUEST = 1; 
    LoadPlacePicker(PLACE_PICKER_REQUEST); 

} 

public void HandleRecieverAddressPickerClicked(View view) 
{ 
    int PLACE_PICKER_REQUEST = 2; 
    LoadPlacePicker(PLACE_PICKER_REQUEST); 

} 

private void LoadPlacePicker(int PlacePickerRequest) 
{ 
    try { 

     PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder(); 
     Intent intent = intentBuilder.build(NewJobActivity.this); 
     // Start the Intent by requesting a result, identified by a request code. 
     startActivityForResult(intent, PlacePickerRequest); 


    } catch (GooglePlayServicesRepairableException e) { 
     GooglePlayServicesUtil 
       .getErrorDialog(e.getConnectionStatusCode(), NewJobActivity.this, 0); 
    } catch (GooglePlayServicesNotAvailableException e) { 
     Toast.makeText(NewJobActivity.this, "Google Play Services is not available.", 
       Toast.LENGTH_LONG) 
       .show(); 
    } 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 1) { 
     if (resultCode == RESULT_OK) { 
      Place place = PlacePicker.getPlace(data, this); 
      String toastMsg = String.format("Sender Place: %s", place.getName()); 
      Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show(); 
     } 
    } 

    //Reciever 
    if (requestCode == 2) { 
     if (resultCode == RESULT_OK) { 
      Place place = PlacePicker.getPlace(data, this); 
      String toastMsg = String.format("Receiver Place: %s", place.getName()); 
      Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

उत्तर

22

मैं अपने ही सवाल का जवाब पता लगा।

किसी और ही समस्या का सामना करना पड़ता है, तो आप "Android के लिए स्थल API" सक्षम यकीन है कि और न सिर्फ "स्थल API"Developer Console में बनाते हैं। "Android के लिए स्थल API" "एपीआई & प्रमाणीकरण/एपीआई" के अंतर्गत दिखाई नहीं देंगे, क्योंकि यह एक लोकप्रिय एपीआई नहीं है (अभी तक)। आपको एपीआई खोज बॉक्स का उपयोग करके इसे खोजना होगा।

+0

यह भी मेरी समस्या हल। लेकिन अजीब बात यह है कि मेरे पास यह एपीआई सक्षम था और 10 दिन पहले जगह पिकर काम कर रहा था। लेकिन इससे अचानक काम करना बंद कर दिया, और आज जब मैंने अपने डेवलपर कंसोल में प्रवेश किया तो एपीआई अक्षम कर दिया गया था, लेकिन मैंने इसे अक्षम नहीं किया है ... यह अजीब है .. – Andranik

+0

यह पहले से ही कोटा था? 1,000 अनुरोध/दिन, मुझे याद नहीं है – Minas

+1

पूरी तरह से काम कर रहे –

9
बजाय इस बात का

:

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="your_key"/> 

इस जोड़ें:

<meta-data    
    android:name="com.google.android.geo.API_KEY" 
    android:value="your_key" /> 

यह मेरे लिए काम किया !!!

+0

अभी भी काम नहीं कर रहा है। –

0

अपने निर्माण संस्करण की जाँच करें।

यदि आप release से debug पर वापस स्विच करते हैं, तो आपको आम तौर पर परिणाम कोड 2 भी मिलता है।

वापस release पर स्विच किया जा मेरे लिए चाल किया था।

संबंधित मुद्दे