grpc failed - google maps

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • grpc failed - google maps

    Hallo,
    ich versuche in einer Mapview mit

    Quellcode

    1. addressList = geocoder.getFromLocationName(searchString, 1);



    die Orte einer Nutzereingabe herauszufinden. Gehalten hab ich mich an dieses Tutorial:

    Bisher hat immer alles funktioniert, jetzt versuch ich vor ein paar Tagen weiterzumachen und ganz plötzlich dieser Fehler:

    Quellcode

    1. W/System.err: java.io.IOException: grpc failed
    2. W/System.err: at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
    3. at net.osek.bikerfreunde.ui.openRideout.fragments.OpenRideoutRouteFragment.geolocate(OpenRideoutRouteFragment.java:114)
    4. at net.osek.bikerfreunde.ui.openRideout.fragments.OpenRideoutRouteFragment.access$000(OpenRideoutRouteFragment.java:47)
    5. at net.osek.bikerfreunde.ui.openRideout.fragments.OpenRideoutRouteFragment$1.onEditorAction(OpenRideoutRouteFragment.java:86)
    6. at android.widget.TextView.doKeyDown(TextView.java:7226)
    7. W/System.err: at android.widget.TextView.onKeyDown(TextView.java:7095)
    8. at android.view.KeyEvent.dispatch(KeyEvent.java:2691)
    9. at android.view.View.dispatchKeyEvent(View.java:11713)
    10. at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1834)
    11. I/chatty: uid=10083(net.osek.bikerfreunde) identical 1 line
    12. W/System.err: at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1834)
    13. at androidx.viewpager.widget.ViewPager.dispatchKeyEvent(ViewPager.java:2744)
    14. at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1834)
    15. I/chatty: uid=10083(net.osek.bikerfreunde) identical 4 lines
    16. W/System.err: at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1834)
    17. at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:440)
    18. at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1819)
    19. at androidx.core.view.KeyEventDispatcher.activitySuperDispatchKeyEventPre28(KeyEventDispatcher.java:130)
    20. at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:87)
    21. at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:133)
    22. W/System.err: at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:558)
    23. at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
    24. at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:2814)
    25. at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:354)
    26. at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4733)
    27. W/System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4605)
    28. at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4147)
    29. at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4200)
    30. at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4166)
    31. at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4293)
    32. at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4174)
    33. at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4350)
    34. at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4147)
    35. at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4200)
    36. at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4166)
    37. at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4174)
    38. at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4147)
    39. at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4200)
    40. W/System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4166)
    41. at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4326)
    42. at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4487)
    43. at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2435)
    44. at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1998)
    45. at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1989)
    46. at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2412)
    47. at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
    48. at android.os.MessageQueue.nativePollOnce(Native Method)
    49. at android.os.MessageQueue.next(MessageQueue.java:325)
    50. at android.os.Looper.loop(Looper.java:142)
    51. W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6494)
    52. at java.lang.reflect.Method.invoke(Native Method)
    53. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    54. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
    Alles anzeigen


    Hier noch die geolocate Methode:

    Quellcode

    1. private void geolocate () {
    2. String searchString = tv_search_bar.getText().toString();
    3. List<Address> addressList = new ArrayList<>();
    4. Geocoder geocoder = new Geocoder(getActivity());
    5. try {
    6. addressList = geocoder.getFromLocationName(searchString, 1);
    7. } catch (IOException e) {
    8. e.printStackTrace();
    9. }
    10. if (addressList.size() > 0) {
    11. Address address = addressList.get(0);
    12. moveCamera(new LatLng(address.getLatitude(), address.getLongitude()), DEFAULT_ZOOM);
    13. }
    14. }
    Alles anzeigen


    Und falls es hilft: Die build.gradle


    Quellcode

    1. apply plugin: 'com.android.application'
    2. android {
    3. compileSdkVersion 28
    4. buildToolsVersion "29.0.2"
    5. defaultConfig {
    6. applicationId "net.osek.bikerfreunde"
    7. minSdkVersion 21
    8. targetSdkVersion 28
    9. versionCode 1
    10. versionName "1.0"
    11. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    12. multiDexEnabled true
    13. }
    14. buildTypes {
    15. release {
    16. minifyEnabled false
    17. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    18. }
    19. }
    20. }
    21. dependencies {
    22. implementation fileTree(include: ['*.jar'], dir: 'libs')
    23. implementation 'androidx.appcompat:appcompat:1.1.0'
    24. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    25. implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    26. implementation 'com.google.android.material:material:1.0.0'
    27. implementation 'androidx.navigation:navigation-fragment:2.1.0'
    28. implementation 'androidx.navigation:navigation-ui:2.1.0'
    29. implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
    30. testImplementation 'junit:junit:4.12'
    31. androidTestImplementation 'androidx.test:runner:1.2.0'
    32. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    33. implementation files('libs/SimpleServerClient_lib_2.4.1.jar')
    34. implementation 'com.google.android.gms:play-services-maps:17.0.0'
    35. implementation 'com.google.android.gms:play-services-location:17.0.0'
    36. implementation 'com.android.support:multidex:1.0.3'
    37. }
    Alles anzeigen
    Ich hab schon versucht, das ganze auf nem eigenen Thread laufen zu lassen, hab Android Studio mehrmals geschlossen etc. Weiß vielleicht jemand wie ich diesen Fehler beheben kann?


    Das ganze läuft weder am Emulator noch am echten Handy. Ich nutze Android 8.1. Wenn ihr mehr Code braucht, Manifest oder so, sagt es einfach, ich will hier jetzt nicht alles zuspamen :D
    Was vielleicht noch hilfreich ist, aber auch Zufall sein könnte: Der Fehler tritt auf, seit ich in nem anderen Netzwerk bin. Vielleicht ne Firewall oder so? Aber selbst wenns dann in meinem eigenen Netzwerk wieder geht brauch ich ja trotzdem ne Lösung dafür...

    Danke für jede Hilfe!
    Osek
  • Hallo

    Richtig erstens solltest du das revers geodecoding in einen eigenen Thread Asynctask machen.


    Das Problem scheint öfters aufzutreten wenn die Netzwerk Verbindung beim revers coding zusammen bricht. Das Scheit ein Problem im Android Framework zu sein. Ist auch etwas Geräte und API Version abhängig.


    Du solltest vor dem Decoding prüfen wie die Netzwerk Verbindung ist.
    status != NETWORK_STATUS_NOT_CONNECTED

    Du könntest auch einen Receiver dafür einrichten der die Verbindung überwacht.



    Auch würde ich das im grade mal weg lassen
    buildToolsVersion "29.0.2"

    oder auch die 28.0.3 er nehmen,


    Wahrscheinlich ist es sogar besser noch tiefer zu gehen API 26.
    Aber bitte immer beides gleich.



    Ich würde testweise das SDK 29 im SDK Manager entfernen. Ist noch beta
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()