Intereting Posts

Обнаружить приложение установлено или нет?

У меня есть приложение, которое регистрирует обработчик для пользовательского URI на телефоне. Я могу запустить приложение, сделав ссылку на «myapp: // act / launch» с веб-страниц телефона. Это работает, только если мое приложение установлено на устройстве. То, что я хочу сделать, это определить, поддерживается ли схема URI из браузера, а затем запросить мое собственное сообщение «скачайте приложение и т. Д.», Если обработчик для схемы URI не найден.

Есть ли способ обнаружить или найти список обработчиков схем URL на телефоне из веб-браузера?

Solutions Collecting From Web of "Обнаружить приложение установлено или нет?"

От Android How-to's

Если вам когда-либо понадобится знать, установлено ли какое-либо конкретное приложение на устройстве пользователя, вы можете использовать PackageManager. Из класса Context (например, Activity или Service) вы можете вызвать getPackageManager (). Это дает вам множество методов, одним из которых является getPackageInfo (). Ниже приведен метод, который вы можете использовать. Вы можете назвать это так:

isAppInstalled("com.simexusa.campusmaps_full"); private boolean isAppInstalled(String packageName) { PackageManager pm = getPackageManager(); boolean installed = false; try { pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); installed = true; } catch (PackageManager.NameNotFoundException e) { installed = false; } return installed; } 
  1. Вам нужно создать веб-страницу, на которую пользователь приземляется, если приложение не установлено. Скажем http://www.yourcompany.com/android/android_app_is_not_installed_landing_page.html

  2. Приложение должно зарегистрироваться в манифесте XML-файла http://www.yourcompany.com, схеме «http» и параметре path для приложения не устанавливать целевую страницу в фильтре намерений манифеста:

     <!-- These intents are used to launch the app from the web page--> <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="http" android:host="www.yourcompany.com" android:path="/android/android_app_is_not_installed_landing_page.html" /> </intent-filter> 
  3. Теперь на веб-странице, которая вызывает ваше приложение, вы указываете полную ссылку на android_app_is_not_installed_landing_page.html, за которой следуют любые параметры, которые вы хотите передать в приложение:

http://www.yourcompany.com/android/ android_app_is_not_installed_landing_page.html? '> Нажмите здесь, чтобы запустить приложение, если оно установлено

Если приложение установлено, оно будет запущено и передано весь http://www.yourcompany.com/android/android_app_is_not_installed_landing_page.html ? ' В намерении, чтобы он разбирался, извлекал и делал все, что он должен был делать.

Если приложение не установлено, веб-браузер Android откроет целевую страницу «Android-приложение не установлен» http://www.yourcompany.com/android/android_app_is_not_installed_landing_page.html o. Эта страница должна сообщить пользователю об установке приложения и предоставить ссылку для его установки с Android-рынка.

Нашлось это здесь: https://groups.google.com/forum/m/?fromgroups#!topic/android-developers/RGLHkGUpRoA