3 Stimmen

Absichtsfilter funktionieren nicht, um die benutzerdefinierte App zu öffnen

Ich versuche, eine URL zu öffnen, um eine benutzerdefinierte Anwendung zu starten, die ich geschrieben habe, aber die Intent-Filter scheinen nicht zu funktionieren. Ich habe mir etwa ein Dutzend Threads in SO angesehen, die die "Lösung" anbieten, aber für mich ist es nutzlos.

Ich muss die Aktion aus einem QR-Code-Scan meine App öffnen lassen. Daher klicke ich nicht in einem Browser auf Links. Ich öffne einfach meinen QR-Code-Scanner, scanne einen QR-Code und möchte, dass meine App gestartet wird, anstatt den Standard-Webbrowser zu öffnen. Die Standardaktion für den QR-Scanner besteht darin, die URI im Webbrowser zu öffnen.

Das Manifest.xml sieht so aus:

Mein QR-Code verweist auf http://tinysb.com/ecard/, daher suche ich nach etwas, um meine App zu starten, anstatt den Browser zu öffnen, wenn dieser Link von einer beliebigen Anwendung erkannt wird. Derzeit startet der Browser und ich bekomme nicht einmal die Option, was ich tun soll, sobald ich den QR-Code scanne. Derzeit übergebe ich nichts vom Webserver, daher muss es meine App starten, ohne etwas hineinzugeben.

Da dies alles vom QR-Scanner initiiert wird, gibt es keine Aktivität, die ich codieren kann, um die URI abzufangen.

Viele Beiträge haben gesagt, dass die Einrichtung des android:scheme wie oben beschrieben das Problem lösen sollte, aber es funktioniert überhaupt nicht für mich.

Jede Hilfe wäre sehr geschätzt.

3voto

Dirk Jäckel Punkte 2921

Das Problem könnte am QR-Code-Scanner liegen, den Sie verwenden. Eine Anwendung kann eine App zur Öffnung der URL bestimmen, anstatt den Android-Intent-Auswähler damit umgehen zu lassen. Haben Sie mehrere Browser installiert und werden Sie aufgefordert, einen davon auszuwählen?

Der folgende Intent-Filter funktioniert für mich:

Sie könnten versuchen, android:pathPrefix="/ecard" zu verwenden oder die BROWSABLE-Kategorie hinzuzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X