2012-05-15 8 views
0

나는 넷뷰를 포함하고있는 간단한 네이티브 어플리케이션과 내가 인터넷에서 작성한 웹 사이트를 구현하고 싶습니다.안드로이드, webview를 통해 시작 의도

아이디어는 내 Android 앱이로드되고 나중에 iOS가 지원된다는 것입니다. 웹 사이트에로드하는 것이 웹 사이트입니다. 그러나 id = "LaunchNativeApp"라는 웹 페이지 중 하나에 단일 요소가 있습니다.이 요소는 onClick을 수신하면 기본 응용 프로그램에서 바코드 스캐너에 대한 의도를 시작하려고합니다. 어떻게해야합니까?

이에 대한 사용 사례는 다음과 같습니다

  1. 사용자는 네이티브 안드로이드 응용 프로그램을 실행

  2. 네이티브 안드로이드 응용 프로그램로드

  3. 사용자가 www.mywebsiteaddress을 탐색 www.mywebsiteaddress.co.uk. co.uk 페이지로 이동 www.mywebsiteaddress.co.uk/input 세부 정보

  4. 텍스트 inp에서 사용자 클릭 유타 필드

  5. 네이티브 안드로이드 응용 프로그램을로드 카메라는

  6. 사용자가 바코드를

  7. 바코드 텍스트 입력 필드에 삽입

  8. 목록 항목

1 단계에서 3 단계 I에를 읽고 4 ~ 8 가지가 가능합니다. 어떤 조언이 필요한데, 어떤 아이디어라도 가능하다면 어떻게해야합니까?

많은 감사

웹 페이지에서

답변

0

, 당신은 4 단계에서와 유사한 자바 스크립트 코드를 구현할 수 있습니다

에서는 window.location = '?을 myApp : // 메시지 PARAM = X & PARAM2 = Y'; 당신의 웹보기에서 다음

, 당신은 WebViewClient의 shouldOverrideUrlLoading 구현 거라고 :

mWebView.setWebViewClient(new WebViewClient() 
{ 

    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    { 


     // handle myApp links 
     if (url.startsWith("myApp")) 
     { 
      try 
      { 
       java.net.URI uri = new java.net.URI(url); 

       // MESSAGE 
       if (uri.getHost().equalsIgnoreCase("message")) 
       { 
          // do something here...(e.g. load Camera activity) 
       } 

      } 
      catch (Exception e) 
      { 
      } 

      return (true); 
     } 

     return (false); 
    } 

}); 

을하면 좋겠 '트랩'자바 스크립트 원시 코드에서 호출하고 응답 (예를 들어 카메라 활동을로드 등).

그런 다음 다시 페이지 DOM

String str = String.format("javascript:{your javascript code here}"); 
mWebView.loadUrl(str); 
2

또한 addJavascriptInterface (객체, 문자열)를 사용할 수 있습니다 그래서 당신은 자바 스크립트에서 자바 객체의 메소드를 호출 할 수로 호출하여 다시 웹보기로 결과를 반환 할 수 있습니다. 페이지 서버쪽에 스크립트를 넣을 필요는 없습니다. mWebView.loadUrl ("javascript : {여기서 자바 스크립트 코드}")를 호출하여 자바 스크립트를 주입하는 것으로 충분합니다. 페이지의 HTML 요소를 알고있는 경우

관련 문제