3

Ich bin auf der Suche nach einer Möglichkeit, die Anweisungen von Maps Navigation zu erhalten. Momentan denke ich, dass der einzige mögliche Weg darin besteht, die Benachrichtigungsdaten zu lesen, die von Maps Navigation ganz oben platziert werden. Mein Grund zu glauben, dass dies der einzige Weg ist, kommt aus dieser post. Ich habe versucht, die Daten mit dem OnNotificationPosted Methode bekommen, aber ich kann Richtungen Daten im StatusBarNotification Objekt finden ...Get Google Maps Navigationsanweisungen

Hat jemand eine Lösung oder eine bessere Idee, wie diese

+0

Mögliche doppelte: http://stackoverflow.com/questions/14495030/get-driving-directions-using- Google-Karten-api-v2/15053901 # 15053901. Auch hier ist eine Demo-App: https://github.com/akexorcist/Android-GoogleDirectionLibrary –

+1

Leider ist das nicht das, wonach ich suche. Ich kann das Wegweiser-Objekt usw. von Google bekommen, aber ich suche nach einer Möglichkeit, Echtzeitreihenfolgen basierend auf Geolocation zu erhalten. –

+0

Ich suche dasselbe auch für ein paar Tage. Aber ich denke nicht, dass diese Informationen zugänglich sind. –

Antwort

0

erreichen Sie eine NotificationListenerService implementieren um den Inhalt von google maps Routenrichtung abzurufen. Leider verwendet Maps nicht die allgemeinen Attribute in der StatusBarNotification. Maps verwendet jedoch RemoteViews, um Inhalte anzuzeigen. Sie können diese Daten per Broadcast an die Aktivität senden und schließlich um den Inhalt einer vorhandenen Ansicht hinzufügen:

RemoteViews remoteView = intent.getParcelableExtra(id); 
if (remoteView != null) { 
    ViewGroup frame = (ViewGroup) findViewById(R.id.layout_navi); 
    frame.removeAllViews(); 
    View newView = remoteView.apply(getApplicationContext(), frame); 
    newView.setBackgroundColor(Color.TRANSPARENT); 
    frame.addView(newView); 
} 
+0

Thnx für die Lösung! Ich habe eine Frage dazu, mit Ihrer Lösung könnte ich einen Rahmen erstellen, um die Lösung an einem anderen Ort anzuzeigen, oder? Oder kann ich auch sehen ob Google Maps Links oder Rechts sagt? Weil ich diese Anweisungen im Code verwenden möchte. –

+0

Nein, Sie können auch durch die 'newView' ViewGroup navigieren und den Inhalt der untergeordneten Elemente abrufen:' view viewImage = ((ViewGroup) newView) .getChildAt (0); 'und der Text ist innen:' View outerLayout = ((ViewGroup) newView) .getChildAt (1); 'und dann durch das 'outerLayout', um den Textinhalt zu erhalten. – droiddude