Подтвердить что ты не робот

О запуске приложения Android из URL-адреса

Я пытаюсь выяснить, как запустить приложение из URL-адреса, и как я должен писать этот URL-адрес.

У меня есть следующий код в AndroidManifest:

<activity android:name=".MyActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"></action>
        <action android:name="android.intent.action.VIEW"></action>
        <category android:name="android.intent.category.LAUNCHER"></category>
        <category android:name="android.intent.category.DEFAULT"></category>
        <category android:name="android.intent.category.BROWSABLE"></category>
        <data android:host="my.app" android:scheme="http"></data>
    </intent-filter>
</activity>

Я использовал URL, как описано в этом ответе, но ничего не происходит.

Пожалуйста, дайте мне знать, хорошо ли написано мое намерение, и как я должен писать URL-адрес, который вызывает это приложение, и обратите внимание, что мне нужно вызвать мою "главную" активность.

4b9b3361

Ответ 1

Для этого <activity> вам нужно иметь два элемента <intent-filter>. Один будет для MAIN и LAUNCHER. Другой будет для VIEW, BROWSABLE/DEFAULT и вашего элемента <data>:

<activity android:name=".MyActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"></action>
        <category android:name="android.intent.category.LAUNCHER"></category>
    </intent-filter>
    <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="my.app" android:scheme="http"></data>
    </intent-filter>
</activity>

Затем http://my.app должен запустить вашу активность.