У меня есть имя схемы Android: android.scheme, и я хочу открыть приложение для Android, когда я нажимаю:
android.scheme://serversettings?personalizationhost=192.168.32.122&personalizationport=8080&vpnhost=192.168.32.122
Как я могу это сделать?
Я знаю, как я могу добиться такого же использования, но поместив это на HTML-страницу и открыв эту страницу, вы откроете приложение следующим образом:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<script type="text/javascript">
window.location.href = "android.scheme://serversettings?personalizationhost=192.168.32.122&personalizationport=8080&vpnhost=192.168.32.122"</script>
<title>AuthenticVPN Settings</title>
</head>
<body>
</body>
</html>
Но я не хочу нажимать на URL-адрес, а затем открывать приложение. Я хочу нажать на android.scheme напрямую, что открывает приложение. Любая помощь будет оценена?
Вам не нужно создавать отдельную страницу, которая перенаправляет на URI с помощью схемы android.scheme. Вы можете создать ссылку на исходной странице по той же схеме. Что-то вроде:
<html>
<head>
</head>
<body>
You can <a href="android.scheme://serversettings?personalizationhost=192.168.32.122&personalizationport=8080&vpnhost=192.168.32.122">launch Activity</a> directly with anchor tags.
</body>
</html>
И добавьте фильтр намерений для запущенного намерения вашей деятельности:
<intent-filter>
<data android:scheme="android.scheme"/>
<data android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
Вы можете использовать одну и ту же схему для запуска различных действий с использованием разных узлов для фильтра данных и соответствующего URL-адреса:
<data android:scheme="android.scheme" android:host="serversettings" />
или
<data android:scheme="android.scheme" android:host="clientstatus" />