我安装了Adobe Flash Player apk,将其从资产复制到SD卡并使用Intent进行安装。即使在此之后,webView也无法加载.swf文件。
我应该使用Adobe Flash构建器来开发Android应用程序。我的主要要求是从服务器播放.swf文件!
这是我的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flash);
installFlashPlayer();
//Fake Url
// String url = "http://www.test.com/test.swf";
//
// webView = (WebView) findViewById(R.id.webView);
// webView.getSettings().setPluginState(WebSettings.PluginState.ON);
// webView.setWebViewClient(new WebViewClient());
//
// webView.getSettings().setUseWideViewPort(true);
// webView.getSettings().setLoadWithOverviewMode(true);
// webView.loadUrl(url);
}
void installFlashPlayer(){
AssetManager assetManager = FlashActivity.this.getAssets();
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open("flp.apk");
out = new FileOutputStream(Environment.getExternalStorageDirectory() + "/flp.apk");
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
out = null;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/flp.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
} catch(Exception e) { }
}
答案 0 :(得分:0)
您可以使用"GeckoView of Firefox" 我在我的项目中使用了它。
用于播放swf文件。
您还需要在GeckoView中设置plugin.state.flash = true;
..
糟糕的想法是,如果你选择使用GeckoView(如果我不记得错误的话),你的apk会增加20-25 mb,因为GeckoView可以使用jni ...