webview用例

public class MainActivity extends AppCompatActivity { 
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        /*setTheme(R.style.SplashTheme);*/
        super.onCreate(savedInstanceState);
        if (Build.VERSION.SDK_INT >= 21) {
         View decorView = getWindow().getDecorView();
         decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
         getWindow().setStatusBarColor(Color.TRANSPARENT);
         }


        setContentView(R.layout.activity_main);
        initView1();
      /*  new Thread() {
            @Override
            public void run() {
                initView1();
            }
        }.start();*/


        ZXingLibrary.initDisplayOpinion(this);
        /*自己加的* */
        registerSipRegStateReceiver();
        openService();
        new Handler().postDelayed(new Runnable() {  //设置3秒消失
            @Override
            public void run() {
                talk.setConfig(SIP,SIP_PSW);
                //----------------------------------配置成功后,RecvMsg4Jni会返回一个成功码,成功后可以发送重发指令(在一个界面或者服务里接收)------------------------
            }
        },3000);
        RecvMsg4Jni.setListent(new CallIdListent() {
            @Override
            public void call() {
                startActivity(new Intent(MainActivity.this,VideoActivity.class));
            }
        });
       // normalWallpaperSelect();
    }

        @TargetApi(Build.VERSION_CODES.M)
        private void initView1() {
            final WebView webView = (WebView) findViewById(R.id.web1);
            final ImageView imageView= (ImageView) findViewById(R.id.splash_bg_img);

            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webView.setBackgroundResource(R.drawable.timg);
            webView.setBackgroundColor(Color.argb(0, 0, 0, 0));

            webView.loadUrl("http://192.168.1.108:8080/#/index");
            webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
            webView.setWebChromeClient(new WebChromeClient() {
                                           @Override
                                           public void onProgressChanged(WebView view, int newProgress) {
                                               super.onProgressChanged(view, newProgress);
                                               if (newProgress >= 100) {
                                                   webView.setBackgroundResource(R.color.lmj);
                                                  // imageView.setVisibility(View.INVISIBLE);
                                                   }
                                           }
                                       });
            webView.addJavascriptInterface(this,"monitor");
            }

    /**
     * 发送重播(SIP服务器注册状态  0:注册失败  1:注册成功) 当返回1的时候就可以使用这个方法,具体的你要如何从RecvMsg4Jni得到这个回调,你可以写接口或者广播等都可以,
     */
    private void sendImsgQueryRepaly(String sip){
        dxml info = new dxml();
        info.setText(Constant.K_EVENT_URL, Constant.V_URL_GET_DEV_REPALY);
        info.setText(Constant.K_EVENT, Constant.V_REDIAL_REQ);
        info.setText(Constant.K_UNLOCK_APP, Constant.V_TALK_REQ);
        info.setText(Constant.K_UNLOCK_SIP, SIP);//这个是手机的
        talk.sendImsg(devSip, info.toString());//这个是设备的
    }

    private BroadRcvRegStatus receiver = null;
    private void registerSipRegStateReceiver() {
        if (receiver != null){
            return;
        }
        IntentFilter iFilter = new IntentFilter();
        iFilter.addAction(Constant.callConnectedAction);
        receiver = new BroadRcvRegStatus();
        registerReceiver(receiver, iFilter);
    }
    private class BroadRcvRegStatus extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            startActivity(new Intent(MainActivity.this,VideoActivity.class));
        }
    }
    private void openService() {
        // ***************************************************************************
        if(!CommonUtils.isServiceRunning(MainActivity.this,"com.dnake.speakdemo.service.SmarthomeService")){
            if (serviceIntent == null)
                serviceIntent = new Intent(this, SmarthomeService.class);
            // 启动服务
            startService(serviceIntent);
        }else{
        }
        // ***************************************************************************
    }
    private AsyncTask<String, String, String> mCallAsyncTask = null;
   /* //监视
    @JavascriptInterface
    public void MonitorClick(View v){
        sendMsgMonitor(devSip);
    }*/

/*    //开锁
    @JavascriptInterface
    public void sendImsgUnlock(View v){
        sendImsgUnlock(devSip);//设备的sip账号,从后台拿到
    }*/
    /**
     * 开锁发送指令
     */
    @JavascriptInterface
    public void sendImsgUnlock(String sipAccount) {
        Toast.makeText(this,"监视",Toast.LENGTH_SHORT).show();
        String time =(System.currentTimeMillis()/1000)+"";
        dxml info = new dxml();
        info.setText(Constant.K_EVENT_URL, Constant.V_URL_UNLOCK);
        info.setText(Constant.K_UNLOCK_EVENT, Constant.V_UNLOCK_EVENT);
        info.setText(Constant.K_UNLOCK_APP, Constant.V_UNLOCK_APP);
        info.setText(Constant.K_UNLOCK_TIMESTAMP,time);
        info.setText(Constant.K_UNLOCK_SIP,SIP);//"自己APPsip账号"
        info.setText(Constant.K_UNLOCK_HOUSE,HOUSE_ID);
        // send msg
        talk.sendImsg(sipAccount, info.toString());
        talk.request(Constant.URL_UI2JNI_UNLOCK, null);
    }
    /*
    * 监视发送指令
    * */
    @JavascriptInterface
    public void sendMsgMonitor(String devID) {
        Toast.makeText(this,"监视",Toast.LENGTH_SHORT).show();
        dxml jniMsg = new dxml();
        jniMsg.setText(Constant.PARM_UI2JNI_ID, devID);
        // send msg
        talk.request(Constant.URL_UI2JNI_MONITOR, jniMsg.toString());
    }
    /*扫码开启*/
    @JavascriptInterface
    public void scanQRcode() {
        Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
        startActivityForResult(intent, REQUEST_CODE);
    }
    /*扫码开启*/
    /**
     * 处理二维码扫描结果
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        /**
         * 处理二维码扫描结果
         */
        if (requestCode == REQUEST_CODE) {
            //处理扫描结果(在界面上显示)
            if (null != data) {
                Bundle bundle = data.getExtras();
                if (bundle == null) {
                    return;
                }
                if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
                    String  result = bundle.getString(CodeUtils.RESULT_STRING);
                    Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();
                } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
                    Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
                }
            }
        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值