2011-12-13 41 views
0

我的应用程序使用webView来显示flash网页。并且有一个指向其他网址的内部按钮。我想单击该按钮,然后转到系统浏览器。不过,这并不在Android 3.2的工作tablet.So我重写shouldOverrideUrlLoading方法:Android:WebView显示Flash网页,“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; 
     } 

但我发现:当我加载闪存网页,我点击一个按钮来打开其他URL,该方法shouldOverrideUrlLoading ()将不会调用。

如果我加载像“www.googel.com”这样的正常的不闪光网页,它会工作,方法shouldOverrideUrlLoading()会调用。

而promble得到在Android 3.2平板电脑。

所以我认为如果是Adobe Flash Player的bug?

我该如何解决? 你能帮助我吗?

+0

帮助没有人知道? – PanLin

回答

0

如果你是在你使用ActionScript 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:\“等)。为了使shouldOverrideUrlLoading在3.2中触发