检测是否在Android上安装了Flash并在活动中嵌入了Flash视频

Mar*_*k B 23 flash android android-webview

这实际上是一个两部分问题.首先,是否可以检测Android设备上是否安装了Flash?其次,如果已安装,是否可以在活动中显示Flash视频?我认为您必须在Activity中使用WebView小部件来显示Flash内容,而不是像VideoView这样的内容.Flash甚至在WebView小部件中是否受支持,或者仅由实际的浏览器应用程序支持?

Ret*_*ier 31

你问题的两个部分的答案都是"是",第二部分取决于第一部分.

(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;
}
Run Code Online (Sandbox Code Playgroud)

(2)如果安装了Flash,您可以通过将其嵌入WebView中来在Activity中显示Flash视频.Flash插件为WebView提供与本机浏览器相同的支持.

如果您在第1部分中的检查返回false,则最佳做法是隐藏您的WebView并将其替换为解释Flash要求的错误消息,或者更好的是,从Android Market下载Flash插件的链接.

  • 如果您要在没有Flash的情况下链接到市场,您可能应该检查以确保在安装市场之前,正确的Reto?;) (3认同)
  • 请注意,某些HTC设备具有与Adobe不同的Flash播放器,其封装为:com.htc.flash.检查两者. (2认同)