谷歌放置自动完成错误:“意图包含一个地方,但没有”

问题描述

我正在创建一个简单的应用程序,用户可以在其中输入任何地址并获取建议,点击任何建议后,它将显示在文本视图中。

自动完成初始化:

try {
      val fields = listof(
      Place.Field.ID,Place.Field.NAME,Place.Field.LAT_LNG,Place.Field.ADDRESS)
                
      val intent=Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN,fields).build(this)
      startActivityForResult(intent,PLACE_AUTOCOMPLETE_REQUEST_CODE)
    }catch (e: Exception){
                e.printstacktrace()
              }

onActivityResult() 代码

if (requestCode == PLACE_AUTOCOMPLETE_REQUEST_CODE){
        val place = Autocomplete.getPlaceFromIntent(data!!)
        et_location.setText(place.address)
        mLatitude=place.latLng!!.latitude
        mLongitude=place.latLng!!.longitude
    }

问题是,每当我在自动完成功能中输入一个字母时,应用程序就会崩溃并显示 Intent expected to contain a Place,but doesn't

我的代码有什么问题?

这个 question 没有帮助我,因为我希望 place.address 返回一个字符串地址。

日志猫:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null,request=3,result=2,data=Intent { (has extras) }} to activity {com.example.happyplaces/com.example.happyplaces.activities.AddHappyPlaceActivity}: java.lang.IllegalArgumentException: Intent expected to contain a Place,but doesn't.
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
        at android.app.ActivityThread.-wrap19(UnkNown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.IllegalArgumentException: Intent expected to contain a Place,but doesn't.
        at com.google.android.libraries.places.internal.zzft.zza(com.google.android.libraries.places:places@@2.4.0:5)
        at com.google.android.libraries.places.internal.zzeg.zza(com.google.android.libraries.places:places@@2.4.0:3)
        at com.google.android.libraries.places.widget.Autocomplete.getPlaceFromIntent(com.google.android.libraries.places:places@@2.4.0:2)
        at com.example.happyplaces.activities.AddHappyPlaceActivity.onActivityResult(AddHappyPlaceActivity.kt:253)
        at android.app.Activity.dispatchActivityResult(Activity.java:7276)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312) 
        at android.app.ActivityThread.-wrap19(UnkNown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6494) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)