首页 > 技术文章 > android studio TBSWebView的集成及使用

liuliangliang 2018-02-27 16:02 原文

1.将TBSDemo里的libs和jniLibs考进去

2.权限

1 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
3     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
4     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
5     <uses-permission android:name="android.permission.INTERNET" />

3.布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">

    <com.setbuy.activity.ConstraintLayout_Title_Top
        android:id="@+id/constraintLayout_Title_Top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </com.setbuy.activity.ConstraintLayout_Title_Top>

    <com.tencent.smtt.sdk.WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </com.tencent.smtt.sdk.WebView>

</LinearLayout>

 4.代码使用

public class WebViewActivity extends Activity {
    @BindView(R.id.constraintLayout_Title_Top)
    ConstraintLayout_Title_Top constraintLayoutTitleTop;
    @BindView(R.id.webview)
    com.tencent.smtt.sdk.WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);
        ButterKnife.bind(this);
        initWebView();
        initTitle();
    }
    //webview设置
    private void initWebView(){
        webview.getSettings().setTextZoom(100);//当前字体百分比
        webview.getSettings().setDefaultTextEncodingName("utf-8");//指定编码方式
        webview.getSettings().setJavaScriptEnabled(true);//支持js
        webview.getSettings().setDomStorageEnabled(true); //设置支持DomStorage
        webview.getSettings().setAllowFileAccess(true);//设置在WebView内部是否允许访问文件
        webview.getSettings().setBlockNetworkLoads(false);//设置WebView是否从网络加载资源,Application需要设置访问网络权限,否则报异常
        webview.getSettings().setBlockNetworkImage(false);//设置WebView是否以http、https方式访问从网络加载图片资源,默认false
        webview.loadUrl("http://ldj.oapi.xunmall.com:3038/service/bussiness?uid=1440&f=1&token=3e2f600c5437f083ab93cf19b871dc51&v=58");
        // 给WebView设置监听
        webview.setWebViewClient(new WebViewClient() {
            //跳转连接
            @Override
            public boolean shouldOverrideUrlLoading(com.tencent.smtt.sdk.WebView view, String url) {
                // 所有连接强制在当前WeiView加载,不跳服务器
                webview.loadUrl(url);
                return true;
            }
            //加载结束
            @Override
            public void onPageFinished(com.tencent.smtt.sdk.WebView view, String url) {
                super.onPageFinished(view, url);
                webview.loadUrl("javascript:openMusic()");//加载结束,加载音乐
            }
        });
    }
    //标题栏设置
    private void initTitle(){
        //back键
        constraintLayoutTitleTop.setBackOnlickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        constraintLayoutTitleTop.setTitleName("webview页面");
    }
}

 

推荐阅读