android WebView onJsAler onJsC…

简介: package com.html; import com.sqlite.Dao.NcpRegisterDAO; import android.app.
package com.html;

import com.sqlite.Dao.NcpRegisterDAO;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.widget.Toast;


public class Register_protocolActivity extends Activity {
   

    privateHandler mHandler = new Handler();
    privateWebView mWebView;
    privateNcpRegisterDAO dao = null;
    
    public voidonCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       
       //踩上一脚,记录有了就知道复位的时候要去哪里
       dao = new NcpRegisterDAO(Register_protocolActivity.this);
       String name = "MainActivity";
       dao.add_Stepped(name);
       
       //隐藏标题栏
       //requestWindowFeature(Window.FEATURE_NO_TITLE);
       //隐藏状态栏
       //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
       //该ACTIVITY不需要layout设置,所以直接指向MainActivity的main
       setContentView(R.layout.protocol);
       //将WebView实例化
       mWebView = (WebView) this.findViewById(R.id.webView);
       //WebView打开权限
       mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
       mWebView.getSettings().setJavaScriptEnabled(true);
       //WebView,SWF文件运行权限
       mWebView.getSettings().setPluginsEnabled(true);


       mWebView.addJavascriptInterface(new Action(), "ncp"); 
    
      mWebView.loadUrl("file:///android_asset/protocol.html");

      
        
        // 创建WebViewChromeClient
            WebChromeClient wvcc = new WebChromeClient() {          
        // 处理Alert事件
           
           public boolean onJsAlert(WebView view, String url, String message,final JsResult result) {
            // 构建一个Builder来显示网页中的alert对话框
                           Builder builder = newBuilder(Register_protocolActivity.this);
                             builder.setTitle("计算1+2的值");
                             builder.setMessage(message);
                             builder.setPositiveButton(android.R.string.ok, newAlertDialog.OnClickListener() {
                                 @Override
                                 public void onClick(DialogInterface dialog, int which) {
                                     result.confirm();
                                 }
                             });
                            builder.setCancelable(false);
                             builder.create();
                             builder.show();
                             return true;
                         }
           
           
           // 处理Confirm事件
                  public boolean onJsConfirm(WebView view, String url, Stringmessage, final JsResult result) {
                      Builder builder = newBuilder(Register_protocolActivity.this);
                      builder.setTitle("退出确认");
                      builder.setMessage(message);
                      builder.setPositiveButton(android.R.string.ok, newAlertDialog.OnClickListener() {
                          public void onClick(DialogInterface dialog, int which) {
                              //result.confirm();
                           //从协义开始到发送注册信息,这些步骤退出后直接清零复位表,不然如果非正常关机后再重启会再次进入该页
                           dao.Clear_NcpStep_Set0();
                             finish();
                              
                          }
        
           
目录
相关文章
|
12月前
|
API Android开发 数据安全/隐私保护
解决android webview 加载http url 失败 net::ERR_CLEARTEXT_NOT_PERMITTED 错误
解决android webview 加载http url 失败 net::ERR_CLEARTEXT_NOT_PERMITTED 错误
772 0
|
4月前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
4月前
|
JavaScript 前端开发 Android开发
kotlin安卓在Jetpack Compose 框架下使用webview , 网页中的JavaScript代码如何与native交互
在Jetpack Compose中使用Kotlin创建Webview组件,设置JavaScript交互:`@Composable`函数`ComposableWebView`加载网页并启用JavaScript。通过`addJavascriptInterface`添加`WebAppInterface`类,允许JavaScript调用Android方法如播放音频。当页面加载完成时,执行`onWebViewReady`回调。
|
3月前
|
Web App开发 JavaScript 前端开发
Android端使用WebView注入一段js代码实现js调用android
Android端使用WebView注入一段js代码实现js调用android
51 0
|
4月前
|
Web App开发 移动开发 前端开发
52. 【Android教程】网页视图:WebView
52. 【Android教程】网页视图:WebView
58 1
|
4月前
|
安全 网络安全 API
kotlin安卓开发JetPack Compose 如何使用webview 打开网页时给webview注入cookie
在Jetpack Compose中使用WebView需借助AndroidView。要注入Cookie,首先在`build.gradle`添加WebView依赖,如`androidx.webkit:webkit:1.4.0`。接着创建自定义`ComposableWebView`,通过`CookieManager`设置接受第三方Cookie并注入Cookie字符串。最后在Compose界面使用这个自定义组件加载URL。注意Android 9及以上版本可能需要在网络安全配置中允许第三方Cookie。
|
5月前
|
XML Android开发 数据格式
安卓和webview交互
安卓和webview交互
54 0
|
5月前
|
XML Android开发 数据格式
安卓和webview交互
安卓和webview交互
96 1
|
5月前
|
JavaScript 前端开发 Android开发
android开发,使用kotlin学习WebView(详细)
android开发,使用kotlin学习WebView(详细)
424 0
|
11月前
|
小程序 Android开发 iOS开发
在钉钉小程序中安卓无法打开webview
在钉钉小程序中安卓无法打开webview
185 1