Определите, установлен ли Flash на Android, и вставьте Flash-видео в действие

Это действительно вопрос из двух частей. Во-первых, можно ли определить, установлен ли Flash на Android-устройстве? Во-вторых, если он установлен, можно ли отображать флэш-видео в действии? Я думаю, вам придется использовать виджет WebView в своей деятельности для отображения содержимого Flash вместо чего-то вроде VideoView. Поддерживается ли Flash даже в виджете WebView или поддерживается только приложением браузера?


person Mark B    schedule 06.01.2011    source источник


Ответы (1)


Ответ на обе части ваших вопросов «да», причем вторая часть зависит от первой.

(1) Определение того, установлен ли Flash.

Используйте PackageManager, чтобы попытаться получить информацию о приложении для пакета Flash Player. Он выдаст исключение, что такой пакет не существует.

boolean flashInstalled = false;
try {
  PackageManager pm = getPackageManager();
  ApplicationInfo ai = pm.getApplicationInfo("com.adobe.flashplayer", 0);
  if (ai != null)
    flashInstalled = true;
} catch (NameNotFoundException e) {
  flashInstalled = false;
}

(2) Если Flash установлен, вы можете отображать Flash-видео в своем действии, встраивая его в WebView. Плагин Flash обеспечивает такую ​​же поддержку WebView, как и собственный браузер.

Если ваша проверка в части 1 возвращает false, лучше всего скрыть свой WebView и заменить его либо сообщением об ошибке, объясняющим требования к Flash, либо, что еще лучше, ссылкой для загрузки плагина Flash из Android Market.

person Reto Meier    schedule 10.01.2011
comment
Если вы собираетесь подключиться к Маркету при отсутствии Flash, вам, вероятно, следует проверить, установлен ли Маркет, прежде чем делать это, верно, Рето? ;) - person Josh; 12.01.2011
comment
@ Джош, это приложение доступно только на официальном рынке, так что я не слишком беспокоюсь об этом. На мой взгляд, Android-устройство без официальных приложений Google (gmail, market, карты, календарь и т. д.) не стоит того, чтобы его покупать. - person Mark B; 13.01.2011
comment
Вы упустили один ключевой момент: webView.getSettings().setPluginsEnabled(true); Вы будете крутить колеса некоторое время, пытаясь заставить это работать, пока не найдете эту настройку :) - person Mark B; 14.01.2011
comment
Обратите внимание, что на некоторых устройствах HTC установлен флеш-плеер, отличный от Adobe, пакет которого: com.htc.flash. Проверьте оба. - person Trasplazio Garzuglio; 31.05.2011
comment
FlashPlayer 11 не поддерживается на некоторых устройствах, поэтому приведенная выше ссылка ведет на страницу flashplayer, но вы не можете его скачать. Может ли кто-нибудь узнать, как определить совместимость устройства и перенаправить на правильную версию флеш-плеера? - person App Work; 08.07.2012
comment
К вашему сведению... Adobe официально прекратила разработку для мобильных устройств. Кроме того, в Google Play Store больше нет приложения Adobe Flash Player... - person Yogesh; 19.12.2012
comment
Я пробовал это на своем Nexus 4. Он говорит мне, что у него установлен Flash, но когда я пытаюсь просмотреть видео YouTube в веб-просмотре (включены плагины и jscript), я вижу только предварительный просмотр (неподвижный кадр с кнопку воспроизведения на нем), и когда я нажимаю кнопку воспроизведения, область видео становится серой и показывает значок, похожий на кинопленку. Я делаю что-то не так здесь? - person Frank; 16.05.2013