JavaScriptを使用してタスクを実行するAndroidサービスを作成しようとしています。 this postには、WindowManager
を使用してサービス内でWebView
のJavaScriptコードを実行する方法が記載されています。 .html
と.js
ファイルを問題なく使用してWebView
を作成することができました。いったんアンドロイド.java
サービスのデータをWebView
に渡すと、私は問題に遭遇します。私はこの方法でそうしようとしているサービスからAndroid WebViewでjavascriptコードを実行できません
:
final WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
...
wv = new WebView(this);
wv.setWebViewClient(new WebViewClient());
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("file:///android_asset/www/test.html");
windowManager.addView(wv, params); // params set using method from linked post above
wv.evaluateJavascript("console.log('hello');", null);
wv.loadUrl("javascript:console.log('blah')");
どちらevaluateJavascript()
もloadUrl()
への呼び出しは、(私はChromeデベロッパーツールを使用してコンソールにアクセス)のWebView上の任意の効果を持っているように見えません。
私はtest.html
でそれをテストしました。<script>
タグを追加して、問題なく出力することができます。
ビューを追加する前に関数を呼び出そうとしました。
[duktape](https://github.com/square/duktape-android)などのJavaScriptインタープリタを使用することをおすすめします。 – CommonsWare
@CommonsWare私のコードでは、私が実装しなければならないさまざまなブラウザ機能を使用しているということです。私はduktapeのようなものを使っていました(私が知る限り) –
test.htmlといくつかのJSコードをexcute? – Steven