Ответ 1
Поиск примеров в других связанных вопросах я не мог найти, используя оба
<action android:name="android.intent.action.MAIN" />
а также
<action android:name="android.intent.action.VIEW" />
(последнее кажется обязательным для такого поведения).
Во всяком случае, можно использовать оба. Это мой рабочий пример:
<activity
android:name="com.example.MainActivity"
android:label="@string/title_activity_main"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Light.NoTitleBar" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
</activity>
Итак, следующие тэги, похоже, делают трюк:
android:exported="true"
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
Это якорь, который я использую с веб-страницы:
<a href="myapp://somthing/anotherthing">Open the app!</a>
ОБНОВЛЕНИЕ: Как указано в комментариях к разработчику82, если вы это сделаете, значок приложения исчезнет, и пользователь не сможет открыть приложение. Чтобы исправить это, вам нужно создать новый тег, чтобы поставить <data>
вместе с default
, browsable
категориями и view
действием.
Тег <activity>
должен выглядеть следующим образом:
<activity
android:name="com.example.MainActivity"
android:label="@string/title_activity_main"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Light.NoTitleBar" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
</intent-filter>
</activity>
Сообщите мне, помогло ли это!