Blockera flash?

Diskussion i 'Frågor, support och diskussion' startad av Dalla, 7 juni 2010.

  1. Dalla

    Dalla Youth Droid Medlem

    Blev medlem:
    1 maj 2010
    Inlägg:
    145
    Mottagna gillanden:
    3

    MINA ENHETER

    Tjena

    Undrar om det finns något sätt att blockera flash i en webview?
    Låter kanske galet eftersom inte Android 2.1 och lägre förstår flash.

    Mitt problem är att jag behöver visa en div av en sida som inte använder flash,
    men en del av ramen på denna sida använder i flash. Får därför upp ett meddelande om att flash måste installeras. Men jag behöver alltså inte flash för den delen av sidan som jag vill visa för användaren.

    Går det att lösa?
     
  2. ThePatrik

    ThePatrik Youth Droid Medlem

    Blev medlem:
    3 juni 2010
    Inlägg:
    248
    Mottagna gillanden:
    28

    MINA ENHETER

    Ja det borde gå att lösa om du laddar ner HTMLen först utan att visa den
    i WebWiev direkt. Nåt sånt här:

    URL url = new URL(webLocation);
    URLConnection c = url.openConnection();
    BufferedReader rd = new BufferedReader(new InputStreamReader(c.getInputStream()));
    String line ="";
    while ((line = rd.readLine()) !=null ) {

    String HTMLdivUtanFlash= line.substr....// leta reda på rätt div i HTMLen här

    }

    webview.loadData(HTMLdivUtanFlash, "text/html", "utf-8");

    Ja, ungefär så.

    :)
     
  3. Dalla

    Dalla Youth Droid Medlem

    Blev medlem:
    1 maj 2010
    Inlägg:
    145
    Mottagna gillanden:
    3

    MINA ENHETER

    Jag hade någon tanke i de banorna också, dock osäker på om det skulle fungera då jag även behöver posta tillbaka till sidan. Rotade lite mer och grundproblemet är egentligen att det körs ett javascript som öppna en ny sida.

    Funderade även på om det gick att blockera javascript, men det verkar inte gå. Det körs ett gäng kontroller via javascript som kollar om man har flash installerat. På slutet anropas detta skript:

    function checkFlashForced()
    {
    if(!FlashDetect.majorAtLeast(10)){
    location.href = '/common/noflash.asp';
    }
    }

    Det är egentligen detta som gör att jag inte kommer åt sidan som jag vill.
    Kör min webview som enligt nedan, men det verkar som att scriptet ovan körs ändå:

    WebView webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(false);
    webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
    webview.loadUrl(msg.getData().getString("url"));

    Några fler tips? :-)