У меня есть такое требование, и что-то подобное этому было реализовано в Android-магазине Android Pit.
Мне нужно проверить, установлено ли приложение Android на устройстве с помощью мобильной веб-страницы (PHP и JS), и если приложение установлено немедленно.
Это промежуточные страницы, используемые ядром Android.
Когда приложение не установлено – http://www.androidpit.com/en/android/market/app-center-mobile?pname=com.ocito.laredoute
Когда приложение уже установлено – http://www.androidpit.com/ru/qrdl/com.mobage.ww.a692.Bahamut_Android
Кто-нибудь знает, как это реализовать. Пожалуйста помоги
К счастью, это невозможно, по очевидным причинам конфиденциальности.
Самое близкое, что вы можете сделать, это приложение, у которого есть функция <intent-filter>
для некоторой структуры URL-адреса и есть ссылка на мобильном веб-сайте на соответствующий URL-адрес.
Если пользователь нажмет на ссылку и приложение будет установлено, это будет выбор для пользователя.
Если пользователь нажимает на ссылку и приложение не установлено, или они предпочитают придерживаться своего веб-браузера от выбора, какая-либо веб-страница будет существовать по этому URL-адресу (например, инструкции по загрузке приложения).
Есть способ достичь этого. Нашел этот ответ
Вы не можете определить, установлено ли какое-либо конкретное приложение по соображениям безопасности и конфиденциальности. Но вы можете сделать трюк, чтобы открыть приложение, если оно установлено или открыть страницу Google Play, если это не так.
Чтобы сделать это, вы должны создать фильтр намерений в основной деятельности вашего приложения, чтобы открыть его, когда вызывается данный URL. Как это:
<activity android:name=".MainActivity > <intent-filter> <data android:host="www.myurl.com" android:pathPrefix="/openmyapp" android:scheme="http" > </data> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.VIEW" /> </intent-filter> </activity>
Объяснение: когда пользователь переходит на http://www.myurl.com/openmyapp , если приложение установлено, будет создано намерение и будет показано действие.
Но что, если у пользователя нет установленного приложения? Затем вам нужно создать страницу переадресации на http://www.myurl.com/openmyapp/index.html . Когда пользователь достигает этого адреса, ваш сервер должен перенаправить на рынок: // details? Id = com.your.app.package.
Таким образом, когда не будет создан Intent после того, как пользователь перейдет на http://www.myurl.com/openmyapp , веб-сервер вызовет другой URL-адрес. Этот URL, в свою очередь, откроет Google Play на устройстве прямо на странице приложения.
Надеюсь, поможет.