2011-10-15 4 views
4

Monodroid는 아직 WebView에서 JavaScriptInterface를 기본적으로 지원하지 않습니다.Monodroid JavaScript Interface

이 해결 방법과 함께 사용할 수있는 .java 파일 예를 찾고 있습니다.

// TODO: use an actually valid package name. :-) 
package the.package.for; 

public class JavaScriptInterface { 
    // The JNI in the original question uses a default constructor. 
    // Either provide one explicitly or use the implicit one... 
    public JavaScriptInterface() 
    { 
    } 

    // TODO: add any methods you want invokable from JavaScript here. 
} 

에 AndroidJavaSource.java 파일의 빌드 작업을 설정하는 것을 잊지 마십시오

IntPtr JavaScriptInterface_Class = JNIEnv.FindClass ("the/package/for/JavaScriptInterface"); 
IntPtr JavaScriptInterface_ctor = JNIEnv.GetMethodID (JavaScriptInterface_Class, "<init>", "()V"); 
IntPtr instance = JNIEnv.NewObject (JavaScriptInterface_Class, JavaScriptInterface_ctor); 

appView.AddJavascriptInterface (new Java.Lang.Object (instance), "Android"); 

답변

2

당신과 같은 사용자 정의 .java를 사용할 수 있습니다.

+0

마찬가지로 간단합니다. 감사. – FlappySocks

1

이 스레드는 이미 약간 오래된 것으로 알고 있습니다. 하지만 같은 때 찾고있는이 발견하고 여기에 솔루션은 C#을 사용할 수있는 방법 #

public class AndroidInterface : Java.Lang.Object 
{ 
     [Export] 
     public void Save(string text) 
     { 

     } 
} 

AndroidInterface androidInterace = new AndroidInterface(); 
webView.AddJavascriptInterface(androidInterface, "Android");