W / IInputConnectionWrapper:不存在的InputConnection上的reportFullscreenMode

时间:2019-05-07 12:43:39

标签: android google-maps google-places-api

我正在尝试在我的应用中放置Placepicker。我已经为它创建了一个api密钥,并将其添加到我的字符串中。 但是当我打开Placepicker时,它只会崩溃并显示日志

Timeline: Activity_launch_request time:126708460 intent:Intent { 
act=com.google.android.gms.location.places.ui.PICK_PLACE 
pkg=com.google.android.gms (has extras) }

W/IInputConnectionWrapper: reportFullscreenMode on inexistent InputConnection

我已在控制台中启用了我的api,并且我再次检查了它在那里存在的api密钥。我很困惑这里出了什么问题。

这就是我正在做的事,我使用的是Google文档中提到的以下库,因为它已贬值,所以要使用placepicker。

implementation 'com.google.android.libraries.places:places-compat:1.1.0'

其次,我还要导入文档中提到的以下类

import com.google.android.libraries.places.compat.Place;
import com.google.android.libraries.places.compat.ui.PlacePicker;

最后,我在按钮的点击事件中调用了投放机

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            showPlacePicker();
        }
    });

在我的showPlacePicker中

int PLACE_PICKER_REQUEST = 1;
private void showPlacePicker() {
    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
    try {
        startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);
    } catch (Exception e) {
        Log.e("error", e.getStackTrace().toString());
    }
}


public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == PLACE_PICKER_REQUEST) {
        if (resultCode == RESULT_OK) {
            Place place = PlacePicker.getPlace(data, this);
            LatLng latLng = place.getLatLng();
            lat = latLng.latitude;
            lng = latLng.longitude;
            setAddress();
        }
    }
}

public void setAddress(){
    Geocoder geocoder = new Geocoder(this, Locale.getDefault());
    try {
        List<Address> addressList = geocoder.getFromLocation(
                lat, lng, 1);
        if (addressList != null && addressList.size() > 0) {
            Address address = addressList.get(0);
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
                sb.append(address.getAddressLine(i)).append("\n");
            }
            sb.append(address.getFeatureName()).append(", ");
            sb.append(address.getSubLocality()).append(", ");
            sb.append(address.getAdminArea()) ;
            Toast.makeText(this, "admin area"+address.getAdminArea(), Toast.LENGTH_SHORT).show();
            locationText.setText(result);
        }
    } catch (IOException e) {
        Log.e("Address is ", "Unable connect to Geocoder", e);
    }
}

有人可以告诉我这里有什么问题吗?我在这里有点困惑,我在这里没有太多的信息。我已经按照Google上有关获取密钥的步骤进行操作,还看到了教程。但是我仍然有能力解决这个问题。

0 个答案:

没有答案