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

Как протестировать пользовательскую схему URL в android

Я работаю над приложением, которое требует, чтобы настраиваемая схема URL-адресов выглядела как "appname://"

Я искал много вещей, а также нашел много связанных вопросов, но у меня все еще есть проблемы.

Как я могу проверить эту схему URL из браузера? В настоящее время всякий раз, когда я вхожу в адресную строку браузера "appname://", он переходит непосредственно к поиску Google.

У меня это в моем AndroidManifest.xml:

<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="appname"
             android:host="appnamehost"/>
</intent-filter>
4b9b3361

Ответ 1

Это легко с помощью adb. Проверьте эту команду:

adb shell am start -a android.intent.action.VIEW -d "appname://appnamehost" your.package.name

Однако вы должны использовать имя своего пакета в качестве схемы. Таким образом, вы можете быть абсолютно уверены, что нет конфликта (или в деталях выбор намерения).

Если у вас несколько устройств, вам необходимо выполнить adb devices. Это приведет к следующему выводу:

List of devices attached
1645e1d0b86b    device
S9WM00904386    device

Затем вы можете использовать этот id сверху, чтобы обратиться к конкретному устройству с параметром -s. Это приведет к такой командной строке:

adb -s S9WM00904386 shell [...]

В случае ссылки на браузер это тоже легко. Вам просто нужно добавить эту строку html:

<a href="appname://appnamehost">Click me</a>

Если вам нужен резерв в вашем URL-адресе, вы можете попробовать URL-адрес намерения:

<a href="intent://apphostname#Intent;scheme=appname;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>

Это откроет ваше приложение, даже если ваша схема не уникальна, и если приложение не установлено, оно откроет example.com.