2014-01-21 2 views
1

WebView에서 HTML 5 비디오를 재생하고 있습니다. 이 비디오에는 5 개의 슬라이드가 포함되어 있으며 하나의 슬라이드가 끝나면 사용자 만 다음 슬라이드로 이동할 수 있습니다. 그 다음 슬라이드에서 다음 버튼을 눌러야합니다. 그러나 마지막 슬라이드에서 사용자가 화면을 클릭하면 새로운 작업을 시작하려고합니다. 그래서 내 관심사는 마지막 슬라이드 또는 사용자가 해당 링크 (슬라이드)를 클릭했을 때 어떻게 알 수 있는지입니다. 또는 해당 링크를 다시 클릭하면 새 세션을 요청하기 때문에 webview 내부에서 새 링크를 열 수 있습니까?사용자가 WebView Android를 클릭 할 때 새 링크를 여는 방법

나는이 링크를 통해 갈하지만 나에게 도움이되지 않았다

Detect click on HTML button through javascript in Android WebView

답변

1

활동에 사용하면됩니다 웹뷰에서 당신이

private WebView wb; 

    @SuppressLint("SetJavaScriptEnabled") 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 
     wb = (WebView) findViewById(R.id.home_webview); 
     WebSettings webSettings = wb.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     //Add a JavaScriptInterface, so I can make callbacks from the webView 
     wb.addJavascriptInterface(new myJavaScriptInterface(), "CallToAnAndroidFunction"); 
     wb.loadUrl("http://mywebsite"); 
    } 

    public class myJavaScriptInterface { 
     //Add JavascriptInterface annotation for SDK 17 
     @JavascriptInterface 
     public void myFunction(){ 
       //startActivity 
     } 
    } 

를 웹보기를로드 할 때 당신은 JSInterface을 추가 할 수 있습니다 이런 식으로 전화 해. 예를 들어

:

onclick="window.CallToAnAndroidFunction.myFunction()"

+0

당신은 사용자가 클릭 할 웹보기 내부 버튼을 제출하면 활동에서 출구를 가져 오는 방법을 말해 수 있습니다. 어쨌든 친절한 지원에 감사드립니다. – user3154663

+0

액티비티에서 : newFunction을 JSInterface에 추가하고'finish()'를 실행하십시오. Webview에서 : onSubmit = "window.CallToAnAndroidFunction.newFunction()"속성을 추가하십시오. (양식 제출 유효성 확인 후 또는 버튼을 클릭 할 때 수행 한 작업) – AlexBcn

관련 문제