我的应用程序使用webView显示flash网页。并且有一个内部按钮指向其他网址。我想单击按钮,然后转到系统浏览器。但它在Android 3.2平板电脑中不起作用。所以我重写了shouldOverrideUrlLoading方法,:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
System.out.println("shouldOverrideUrlLoading get the url = > " + url);
Uri uri = Uri.parse(url);
Intent intent =new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
return true;
}
但我发现:当我加载Flash网页时,我点击一个按钮打开其他网址,方法shouldOverrideUrlLoading()无论如何都不会调用。
如果我加载了像“www.googel.com”这样的普通无闪存网页,它可以正常工作,方法shouldOverrideUrlLoading()会调用。
并且推出了Android 3.2平板电脑。
所以我认为如果是adobe flash player加上bug?
我该如何解决? 你能帮助我吗??
答案 0 :(得分:0)
如果您使用的是动作2 在你的闪光按钮,你可以添加
on(press)
{
getURL("flashURL:\\www.google.com");
}
然后在你的shouldOverrideUrlLoading:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
System.out.println("shouldOverrideUrlLoading get the url = > " + url);
url = url.substring(url.indexOf("flashURL:\\") + 1)
Uri uri = Uri.parse(url);
Intent intent =new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
return true;
}
显然你必须创建一个自定义协议(例如" flashURL:\"," gameURL:\"等...),以便在3.2中触发shouldOverrideUrlLoading