Native App aus EMail heraus starten

  • 5 Antworten
  • Letztes Antwortdatum
H

hawky76

Neues Mitglied
0
Hallo zusammen,

ich bin relativ neu in der Android Welt und versuche gerade eine App für Doodle zu schreiben (Doodle: easy scheduling). Hierbei handelt es sich um eine Plattform die Onlineumfragen zur Verfügung stellt. Die Einladungen zu den Umfragen werden als Weblinks per EMail verschickt. Für mich stellt sich jetzt die Frage ob es möglich ist, wenn der Anwender auf den Link in der EMail klickt nicht der Webbrowser gestartet wird, sondern meine App. Wenn ja, wie geht das und in welcher Form kommt der Link dann in der App an?

Besten Dank im voraus.

Grüße
/Hawky
 
Sorry, komme erst jetzt dazu das zu testen, leider funktioniert es bei mir auch nicht.

Meine AndroidManifest.xml sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.terrok_nor.android.doodle"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".DoodleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!-- eingefügt zum Starten von Doodle-Links -->
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="www.doodle.com" android:scheme="http"></data>
<!-- -->
</intent-filter>
</activity>

</application>


<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>

Leider startet beim Anklicken eines Links immernoch der Browser. Ich habs nur im Emulator getestet, gehe aber davon aus, dass es dort auch funktionieren sollte, oder?

Grüße
/Hawky
 
Moin zusammen,

ok, habs hinbekommen das die App direkt gestartet wird. Vielen Dank für den Link.

Ich müsste jetzt allerdings noch von der App aus auf den Link zugreifen. Hat hier noch jemand eine Idee in welchem Feld ich den Link finde?

Danke!
/Hawky
 
Hab mich nicht mit beschäftigt, aber der Link dürfte im Intent mitgeschickt werden. Gibt eine Funktion namens intent.getExtra()

Bundle extras = intent.getExtras
String meineUrl = extras.getString("URL");
könnte funktionieren, aber frag mal Google. Kann sein das das "URL" falsch ist und da war was anderes hin muss.

ok, habs hinbekommen das die App direkt gestartet wird. Vielen Dank für den Link.

Was war denn falsch, nur falls es nochmal jemand versucht?
 
Hallo FelixL,

vielen Dank für den Hinweis.

Die Abfrage:
getIntent().getExtras().getString("URL");
ist, wie vermutet, nicht ganz korrekt, gab mir aber den eintscheidenden Hinweis.
Die entsprechende Information ist im Datenbereich gespeichert, so dass die Abfrage:
getIntent().getData().getHost() + getIntent().getData().getPath();
das gewünschte Ergebnis liefert.

Zur Aufklärung der ursprünglichen Frage: in dem angegebenen Link war nichts falsch, ich hab es nur an die falsche Stelle kopiert und hatte zudem noch einen Tippfehler drin. Kaum macht mans richtig, klappt es auch. :)

Hier nochmal die Lösung:
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="doodle-test.com" android:scheme="http"></data>
</intent-filter>

Grüße
/Hawky
 

Ähnliche Themen

E
Antworten
11
Aufrufe
1.163
evgkop
E
nowo84
Antworten
2
Aufrufe
435
nowo84
nowo84
F
Antworten
9
Aufrufe
533
swa00
swa00
G
Antworten
0
Aufrufe
271
Gerdchen07
G
Zurück
Oben Unten