簡體   English   中英

Android:WebView顯示Flash網頁,“ shouldOverrideUrlLoading”未調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM