2017-03-01 4 views
0

ich brauche (wenn es möglich ist) eine „url“ wie folgt aus (in einer E-Mail ich meine App öffnen müssen („WICs“)) zu behandeln:android: Wie Absicht uri zusätzliche Daten lesen

http://wics/resetPassword/[email protected]/FOOBARTOKEN 

ich habe dies in meinem AndroidManifest.xml

<activity android:name=".ResetPasswordActivity"> 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
       <category android:name="android.intent.category.BROWSABLE" /> 
       <data android:scheme="http" 
        android:host="wics"/> 
      </intent-filter> 
</activity> 

Wie kann ich "[email protected]" und "FOOBARTOKEN" in meinem ResetPasswordActivity bekommen?

Ich habe diesen Code einfügen:

Intent intent = getIntent(); 
Uri uri = (Uri)intent.getData(); 

Aber jetzt? Split "Uri" String und erhalten 3td und 4th Elemente?

Antwort

1

Nun, Sie könnten so etwas tun.

<meta-data android:name="my_url" android:value="http://wics/resetPassword/[email protected]/FOOBARTOKEN" /> 

dann bekommen Sie es in Code.

ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); 
Bundle bundle = appInfo.metaData; 

String url = bundle.getString("my_url"); 
Uri uri = Uri.parse(url); 

Dann auf dem Trennzeichen "/" aufgeteilt.

String[] arr = url.split("/"); 

dann alles, was Sie tun müssen, ist Schleife über die arr und finden Sie Ihre Worte Sinn machen?

+0

bitte die antwort als akzeptiert. Danke. immer bereit, Wissen zu teilen. – Remario

+0

danke @Caspain. Ich hatte es ähnlich gemacht wie deinen Kommentar, aber ich dachte, dass dies nicht die richtige Methode ist, um zu folgen. Danke noch einmal. – ZioBudda

Verwandte Themen