Frage

Gibt es unterschiedliche Schritte, um eine Android-Aktivität als browsiver Absicht auf Android 2.3 (API-Level 10) und früheren Versionen zu registrieren?

Ich habe eine Aktivität mit einem Absichtsfilter eingerichtet, das ein benutzerdefiniertes Schema verwendet: generasacodicetagpre.

auf einem physischen Gerät, das 2.3 ausgeführt wird, und mit dem SDK-Simulator auf 2.3, leitet die Browseranwendung Links mit meinem benutzerdefinierten Protokoll mit der App. Wenn der Simulator jedoch den Simulator auf 2.2 oder 2.1 skaliert, wird der Browser nicht umlösend, jedoch zeigt jedoch an, dass der Server nicht gefunden werden kann.Ich habe kein echtes Gerät, das diese API-Ebenen ausführt.

Ich möchte meine App freigeben, sodass er mit den Geräten kompatibel ist, die 2.1 und höher läuft.Bin ich falsch, anzunehmen, dass dies möglich sein sollte?Laut Android docs Intent.CATEGORY_BROWSABLE ist seit 1.0 verfügbar.

danke!

War es hilfreich?

Lösung 2

Solved. BROWSABLE works back at least as far as Android 2.1. Before 2.3 it seems that loading the <data scheme=""> from a string resource leads to the Activity not being registered correctly.

Changing the @string/ reference to a hard-coded value yields the desired result.

<intent-filter>
    <action name="android.intent.action.VIEW"/>
    <category name="android.intent.category.DEFAULT"/>
    <category name="android.intent.category.BROWSABLE"/>
    <data scheme="my-custom-protocol"/>
</intent-filter>

Andere Tipps

I have had no problems using BROWSABLE going back at least to 2.1 if not earlier. However, I have not implemented a custom scheme, let alone one defined in a string resource. Here is a sample project demonstrating the use of BROWSABLE.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top