2012-03-15 5 views

답변

3

예입니다. 기본적으로 WebView에서 모든 종류의 기본 Android 코드를 호출 할 수 있습니다. 클래스에서 WebView 내에서 호출하기 위해 노출 할 메소드를 정의하고이 클래스의 인스턴스를 WebView으로 전달한 다음 메소드가 javascript 메소드처럼 호출 가능합니다. 여기 예제가 제공됩니다 (이 복사 - 붙여 넣기 양식은 나의 또 다른 대답은, 당신은 이미지를 표시하는 의도와 비디오 의도를 교체해야합니다) : 웹을 만들 때
:

웹보기 내에서 네이티브 코드를 호출을 보기 추가 자바 스크립트 인터페이스 (기본적으로 자바 클래스는 웹 뷰에서 자바 스크립트를 통해 호출되도록 노출 될 것입니다).

JavaScriptInterface jsInterface = new JavaScriptInterface(this); 
webView.getSettings().setJavaScriptEnabled(true); 
webView.addJavascriptInterface(jsInterface, "JSInterface"); 

자바 스크립트 인터페이스 클래스 자체의 정의 요이 코드 양식을 호출 할 경우 지금

public class JavaScriptInterface { 
    private Activity activity; 

    public JavaScriptInterface(Activity activiy) { 
     this.activity = activiy; 
    } 

    public void startVideo(String videoAddress){ 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setDataAndType(Uri.parse(videoAddress), "video/3gpp"); // The Mime type can actually be determined from the file 
     activity.startActivity(intent); 
    } 
} 

(이것은 내가 내 다른 답변에서했다 네이티브 의도에서 비디오를 엽니 예시적인 클래스)

<script> 
    function playVideo(video){ 
    window.JSInterface.startVideo(video); 
    } 
</script> 

그래서 당신이 JSInterface에 적절한 방법을 추가하고 내에서 코드를 호출해야합니다 다음과 같은 방법을 제공하는 페이지의 HTML 웹 응용 프로그램.