2013-06-24 6 views
0

Я пытаюсь вызвать функцию javascript непосредственно из своего приложения (webview.apk), чтобы запустить скрипт, который будет автовоспроизводить видеоклип html5, я попытался добавить itt сразу после webview loadURL, но без везения.Вызов функции javascript из веб-сайта android?

Возможно, кто-то может взглянуть на код. Что мне не хватает? Благодаря!

package tscolari.mobile_sample; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.webkit.WebChromeClient; 

import android.media.MediaPlayer; 


public class InfoSpotActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     setContentView(R.layout.main); 

     WebView mainWebView = (WebView) findViewById(R.id.mainWebView); 

     WebSettings webSettings = mainWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 

     mainWebView.setWebChromeClient(new WebChromeClient()); 

     mainWebView.setWebViewClient(new MyCustomWebViewClient()); 
     mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 




     mainWebView.loadUrl("http://server.info-spot.net"); 
     mainWebView.loadUrl("javascript:playVideo()"); 


    } 


    private class MyCustomWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    } 
} 

ответ

5

ждать до загрузки страницы завершена, а затем выполнить webview.loadUrl ("JavaScript: playVideo()");

private class MyCustomWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
    public void onPageFinished(WebView view, String url) { 
     view.loadUrl("javascript:playVideo()"); 
    } 
} 
+0

Спасибо за помощь! –

+0

view.loadUrl ("javascript: playVideo()"); это ответ – AAlferez