2017-04-06 3 views
-1

저는 android에서 초보자입니다.Android를로드 할 때 javascript 메서드를 호출하는 방법

Android에서 javascript 메소드를 사용했습니다. 앱을 처음으로로드 할 때 호출하고 싶습니다. 예를 들어

,

testMethod = function(str) { 
    alert("hi" + str); 
}//javascript 

과 내가 여기에 생각하는 것은 내가 응용 프로그램을 시작할 때 경고가 즉시 나타납니다입니다

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.getSettings().setDefaultTextEncodingName("utf-8"); 
    mWebView.loadUrl("file:///index.html"); 
    mWebView.addJavascriptInterface(androidBridge, "jsinterface"); 

    mWebView.loadUrl("javascript:testMethod('javascript')"); 
} 

.

하지만 아무 일도 발생하지 않습니다.

약 두 가지 질문이 있습니다.

1. Android의 onCreate 메소드에서 javascript 메소드를 호출하고 사용할 수 있습니까?

2. 가능한 경우 어떻게해야합니까?

답변

1

시작시 팝업을 표시하려면 기본 AlertDialog 만 사용하십시오. 아래 코드를 참조하십시오. index.html을 정말로드 여부를

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    showMessage("My Message Here", "Title here"); 
} 

private void showMessage(String data, String title){ 
     new AlertDialog.Builder(this) 
       .setTitle(title) 
       .setMessage(data) 
       .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         // continue 
        } 
       }) 
       .show(); 
    } 
+0

답변 해 주셔서 감사합니다. 좋습니다.하지만 실제로하고 싶은 것은 javascript의 가치를 얻고 인쇄하는 것입니다. 그리고 마침내 나는 그 값을 안드로이드에서 사용할 것이다. 당신의 답을 사용해서 이것을 할 수 있습니까? – aaa

0
  1. 확인하시기 바랍니다. 나는 webview 귀하의 HTML을 제대로로드하지 않은 것 같아요, 그것은 잘못된 파일 경로가 아니야. 시도하십시오 file : ///mnt/sdcard/index.html. (또는 뭔가가)
  2. mWebView.loadUrl("javascript:testMethod('javascript')")을 view.post 또는 view.postDelayed에 넣으려고합니다.
+0

html 페이지가 제대로로드되었지만 여전히 작동하지 않습니다. 아마, 그것은 자바 스크립트 오류라고 생각합니다. 당신의 도움을 주셔서 감사합니다! – aaa