예, JavaScript 인터페이스를 통해이를 수행 할 수 있습니다. 이를 통해 JavaScript는 사용자가 첨부 한 인터페이스에 정의 된 함수를 호출 할 수 있습니다. 에서
http://developer.android.com/guide/webapps/webview.html
당신의 Activity
: 당신이 할 수있는 Javascript
지금
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
:
MyAndroidInterface.showToast("hello world");
호출에 갈 곳
WebAppInterface mInterface;
public void onCreate() {
mInterface = new WebAppInterface(this);
mWebView.addJavascriptInterface(mInterface, "MyAndroidInterface")
}
지금 객체를 정의
돌아 오는 길 (native
에서 Javascript
까지)은 Javascript injection
을 통해 할 수 있습니다. Javascript
에서 함수를 정의 :
function helloBack(param) {
}
지금 당신이
mWebView.loadUrl("javascript:helloBack(hi);");
우수한 호출 할 수 있습니다. 내가 찾고있는 것. 이것으로 인 텐트를 보낼 수 있으며이 인터페이스를 사용하여 서비스에 액세스 할 수 있습니까? – jonney
예, 구성 요소에 인 텐트 전송에 필요한 컨텍스트가 있는지 확인하십시오. – RvdK