永远不会在服务中的webview中调用onPageFinished方法

时间:2019-05-26 18:09:30

标签: android service webview

我在服务中加载了一个Webview,该Webview有助于监视网页,但是onPageFinished方法绝不是我拥有javascript标签的地方。

quantity

我试图在onPageFinished方法内部进行烤面包,并注释所有windowsmanager参数,但是该烤面包没有出现,而出现在public class ServiceWithWebView extends Service { @Override public void onCreate() { super.onCreate(); WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, PixelFormat.TRANSLUCENT); params.gravity = Gravity.TOP | Gravity.LEFT; params.x = 0; params.y = 0; params.width = 0; params.height = 0; LinearLayout view = new LinearLayout(this); view.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)); WebView wv = new WebView(this); wv.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); view.addView(wv); wv.getSettings().setJavaScriptEnabled(true); wv.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer"); wv.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { wv.loadUrl("javascript:window.HtmlViewer.showHTML" + "('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');"); } }); wv.loadUrl("https://stackoverflow.com"); windowManager.addView(view, params); } class MyJavaScriptInterface { private Context ctx; MyJavaScriptInterface(Context ctx) { this.ctx = ctx; } public void showHTML(String html) { new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html) .setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show(); } } } 方法之外。

如何解决这个问题?

0 个答案:

没有答案