Newer
Older
dxcgt / app / src / main / java / com / smartdot / cgt / activity / JavaPhoneActivity.java
wangxitong on 6 Apr 2021 3 KB first commit
package com.smartdot.cgt.activity;


import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.smartdot.cgt.R;
import com.smartdot.cgt.util.ApplicationMain;


public class JavaPhoneActivity extends Activity {
    private WebView Wv;

    final Handler myHandler = new Handler();
    String  userId="";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        userId = intent.getStringExtra("userId");
        setContentView(R.layout.sq);
        Wv = (WebView)findViewById(R.id.webView1);

        WebChromeClient wvcc = new WebChromeClient() {
            @Override
           public void onReceivedTitle(WebView view, String title) {
                              super.onReceivedTitle(view, title);


                            }

                };

        WebViewClient webViewClient = new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView wv, String url) {
                if(url == null) return false;

                try {
                    if(url.startsWith("weixin://") //微信
                            || url.startsWith("alipays://") //支付宝
                            || url.startsWith("mailto://") //邮件
                            || url.startsWith("tel://")//电话
                            || url.startsWith("dianping://")//大众点评
                        //其他自定义的scheme
                            ) {
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(intent);
                        return true;
                    }
                } catch (Exception e) { //防止crash (如果手机上没有安装处理某个scheme开头的url的APP, 会导致crash)
                    return true;//没有安装该app时,返回true,表示拦截自定义链接,但不跳转,避免弹出上面的错误页面
                }

                //处理http和https开头的url
                wv.loadUrl(url);
                return true;
            }
        };
        Wv.setWebViewClient(webViewClient);

               // 设置setWebChromeClient对象
        Wv.setWebChromeClient(wvcc);


//        myTextView = (TextView)findViewById(R.id.textView1);
        final JavaScriptInterface myJavaScriptInterface
                = new JavaScriptInterface(this);

        Wv.getSettings().setLightTouchEnabled(true);
        Wv.getSettings().setJavaScriptEnabled(true);
        Wv.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
        String requestUrl = ApplicationMain.getInstance().getCgtConfig().getRequestUrl()+"pwas/Case-phone.action?pdaid="+userId;
           Wv.loadUrl(requestUrl);
        //  Wv.loadUrl("file:///android_asset/index.html");
    }

    public class JavaScriptInterface {
        Context mContext;

        JavaScriptInterface(Context c) {
            mContext = c;
        }

        @JavascriptInterface
        public void showToast(String webMessage){
//            final String msgeToast = webMessage;
//            myHandler.post(new Runnable() {
//                @Override
//                public void run() {
//                    // This gets executed on the UI thread so it can safely modify Views
//                    myTextView.setText(msgeToast);
//                }
//            });
//
//            Toast.makeText(mContext, webMessage, Toast.LENGTH_SHORT).show();

            Intent intent = new Intent(JavaPhoneActivity.this, FrmMain.class);
            intent.putExtra("pageS","pageS");
            startActivity(intent);
            JavaPhoneActivity.this.finish();
        }
    }
}