2017-04-06 3 views
-1

私はアンドロイドの初心者です。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')"); 
} 

私はここで考えていた私は、アプリを起動したときにアラートがすぐにポップアップ表示されますです。

しかし、何も起こりません。

これについては、2つの質問があります。

1. AndroidのonCreateメソッドでjavascriptメソッドを呼び出して使用できますか?

2.できればどうすればいいですか?

答えて

1

起動時にポップアップを表示する場合は、デフォルトのAlertDialogを使用してください。以下のコードを参照してください。

@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. のindex.htmlが実際にロードされているかどうかチェックしてください。私はwebviewがあなたのhtmlを正しくロードしていないと思う、bczは無効なファイルパスではない。 try file:///mnt/sdcard/index.html。 (または何か)
  2. mWebView.loadUrl("javascript:testMethod('javascript')")をview.postまたはview.postDelayedに入れてみてください。
+0

htmlページがうまく読み込まれていますが、それでも動作しません。私は、おそらくjavascriptのエラーと思う。ご協力いただきありがとうございます! – aaa

関連する問題