[英]Android:WebView display flash webpage ,“shouldOverrideUrlLoading” not called
我的應用程序使用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()仍然不會調用。
如果我加載正常的無Flash網頁(如“ www.googel.com”),則該網頁可以正常工作,該方法應該調用OverrideUrlLoading()。
並有可能在Android 3.2平板電腦中使用。
因此,我認為這是否是Adobe Flash Player Plus的錯誤??
我該如何解決? 你能幫助我嗎??
如果您在Flash按鈕中使用的是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:\\”等),以便在3.2中觸發shouldOverrideUrlLoading
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.