2017-08-21 1 views
0

Ich möchte die Funktion der Deep-Linking zu meiner App aktivieren. Der Intent-Filter meiner App sollte das Ereignis erhalten, das Informationen zum Breitengrad (doppelt) und zum Längengrad (doppelt) enthalten sollte. Basierend auf diesen Werten wird die Kartenansicht mit der durch Längen- und Breitengradwerte angegebenen Position gestartet.So senden Sie Daten beim Deep-Linking zu einer Android App

Dies ist, was ich bisher versucht:

Aus einer anderen App, ich habe die Absicht, in dieser Art und Weise schicke:

String requestedLatitude = "48.8584"; 
String requestedLongitude = "2.2945"; 
String uri = "myapp://nearby?lat=" + requestedLatitude + "&lon=" + requestedLongitude; 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(uri)); 
startActivity(intent); 

Dies ist, wie ich Intent-Filter zu schreiben versuche:

<intent-filter android:label="@string/intent_nearby_label"> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:scheme="myapp" 
    android:host="nearby" /> 
</intent-filter> 

Ich bin mir nicht sicher, wie man diesen Intent-Filter erhält, um Breiten- und Längengrade zu erhalten und wie man sie in meiner App bekommt.

Ich möchte eine ähnliche Funktion wie diese App hinzuzufügen:

https://www.developers.moovitapp.com/deeplinking-your-app

ich Hilfe schätzen würde.

Antwort

0

Um Deep-Linking durchzuführen, müssen Sie keinen Filter hinzufügen, es sei denn, Sie möchten die Funktionalität öffentlich machen.

In beiden Fällen starten Sie einfach die Hauptanwendung Ihrer App mit diesen Extras in der Absicht.

Dann in der onCreate() -Mehtod erhalten Sie die Intent mit getIntent() und überprüfen Sie für die Parameter.

Wenn sie dort sind, starten Sie Ihre Mapview-Aktivität.

Wenn du zurückgehst, musst du zur Hauptaktivität deiner App gehen und den Back Stack anpassen.

Referenzen:
Tasks and Back Stack
Deep Linking

+0

Vielen Dank für Ihre Antwort. Ich möchte die Funktionalität öffentlich machen, also möchte ich den Intent-Filter schreiben, um Absichten mit dem URL-Format zu erhalten, das Breiten- und Längengradinformationen hat. – Sushil

Verwandte Themen