2016-08-03 13 views
1

Ich möchte eine bestimmte Android-App über eine NFC-Karte starten. Ich möchte nicht, dass Android mich fragt, welche App geöffnet werden soll. Es sollte sofort meine App öffnen. Wie könnte ich das tun?Starten Sie eine bestimmte Android-App mit NFC

Ich habe es bereits mit MIME-Types versucht, aber es hat nicht funktioniert. Könnte ich meine eigene angeben? Wäre es möglich, die text/plain für einen bestimmten Text (Intent-Filter?) Zu überprüfen?

Zum Beispiel: Ich möchte meine App starten, wenn die NFC-Karte einen bestimmten Text wie "Test" oder etwas gespeichert hat.

Die Idee ist, dass es auf jedem gängigen mobilen Betriebssystem funktionieren sollte. Daher würde ein Android-Anwendungslink nicht funktionieren.

+0

Mögliche Duplikat [Starten Spezielle App, wenn NFC entdeckt] (http://stackoverflow.com/questions/27712115/launch-specific-app-wenn-nfc-is-discovered) –

Antwort

0

Sie können Ihre eigene Anwendung mimeType erstellen.

Sie könnten einen benutzerdefinierten MimeType in Ihrer NDEF-Nachricht erstellen und dann einen Intent-Filter erstellen, der genau übereinstimmt. Dies würde bedeuten, dass Ihre App gestartet wird, da sie der spezifischste Filter ist.

Beispiel:

<intent-filter> 
    <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="application/vnd.com.my.app.package.customString" /> 
</intent-filter> 

Genommen von einem vorherigen Beispiel, das ich hier zur Verfügung gestellt haben: https://stackoverflow.com/a/27397938/3312868

+0

Das würde nur auf Android-Geräten funktionieren, denke ich. Vielleicht sollte ich einen externen NDEF-Typ mit NdefRecord createEternal (String-Domäne, String-Typ, Byte [] Daten) erstellen. Könnte das funktionieren? –

+0

Ich bin mit Windows Phone nicht vertraut, aber können Sie sich nicht für einen bestimmten MimeType registrieren? Wenn Sie einen externen Datensatz erstellen möchten, werfen Sie einen Blick auf den obigen Kommentar von Michael Roland. – jgriffin

+0

Ich habe das Problem bereits gelöst. Sie können einen eigenen MIME-Typ erstellen. Mit diesem MIME-Typ können Sie Ihre App starten. Danke für die Hilfe. –

Verwandte Themen