Определите, установлено ли приложение Android на устройстве с помощью мобильной веб-страницы-PHP и JS

У меня есть такое требование и что-то похожее на то, что было реализовано Android Pit app-store.

Мне нужно проверить, установлено ли приложение Android на устройстве с помощью мобильной веб-страницы (PHP и JS), и если установлено, немедленно запустите приложение.

это промежуточные страницы, используемые Android pit.

когда приложение не установлено - http://www.androidpit.com/en/android/market/app-center-mobile?pname=com.ocito.laredoute

когда приложение уже установлено - http://www.androidpit.com/en/qrdl/com.mobage.ww.a692.Bahamut_Android

кто-нибудь знает, как реализовать это?

2 ответов


к счастью, это невозможно, по понятным причинам конфиденциальности.

самое близкое, что вы можете сделать, это в приложении, есть действие, которое имеет <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. Когда пользователь достигнет этого адреса, ваш сервер должен перенаправить на market: / / details?id=com.ваш.приложение.пакет.

таким образом, если после перехода пользователя к http://www.myurl.com/openmyapp, веб-сервер вызовет другой URL-адрес. Этот URL, в свою очередь, откроет Google Play на устройстве, прямо на странице приложения.