2013-10-04 4 views
0

그래서 내 안드로이드 앱 내부에서 WebView를 통해로드하는 웹 애플리케이션이 있습니다. 사용자가 외부 웹 사이트의 버튼을 클릭했을 때 내 안드로이드 앱 내부에서 함수를 호출하려면 어떻게해야합니까? 그 기능을 실행하는 것 외에도 변수를 전달할 수 있기를 원합니다. myapp : // activity /? d = variables % 20to % 20pass와 같은 링크 일 수 있습니까? 웹 사이트와 Android 앱 모두에서 어떻게 구현해야합니까?WebView는 activity.java에서 함수를 트리거합니다.

답변

2

페이지에 "일반"웹 링크가 포함될 수 있는지 잘 모르겠습니다 ... (아래 예제에서 가정 할 수 있음). 우선

이 페이지는 앱이 링크를 사용하여

를 처리 할 수있는 링크의 응용 프로그램 이야기하는 다음 웹뷰 활동

"myapp://activity/?d=variables" 

을, 당신은해야합니다 Webviewclient을 무시, 링크가 호출 될 것이다 URL 절편 매개 변수 등 :

_webView.setWebViewClient(new WebViewClient(){ 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      //find out if the link we're looking for is really for this app 
    if (url.contains("myapp://activity")){ 
     String action= = url.substring("myapp://activity/?".length()); 
     //parse the action from the link... 
     //do something with this action..., parse additional params etc. 

     return true; 
    } 

    //handle the "normal" links... 
    return super.shouldOverrideUrlLoading(view, url); 
} 
}); 

희망이 구문 분석, 링크는 앱 있는지 확인하고, 궁극적으로 필요한 작업을 실행 도움이

+0

감사합니다 마티아스, 그것은 매력처럼 작동했습니다. 나는 대답을 위해 모든 것을 조사하고 있었지만, 내가 읽은 다른 글들은 나를 더 혼란스럽게 만들었다. 고마워요! –

관련 문제