1.前言
XWalkView是Crosswalk提供的webview,可用于替代系统原生的webview
公司做的网页是用Angular2js,导致在原生android 的webview运行不起来
腾讯的x5内核也运行不起来,最后偶然发现CrossWalk的XWalkView
2.使用步骤
在app的build.gradle中,添加maven地址和complie
648808A8-06FF-482E-86E9-C092C42F5FDD.png
ndk {
abiFilters "armeabi-v7a"
}repositories {
maven { url ' }
}compile 'org.xwalk:xwalk_core_library:23.53.589.4'
4.添加权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
5.MainActivity
package com.tuojie.webview;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.Toast;
import org.xwalk.core.XWalkView;
public class MainActivity extends AppCompatActivity {
private XWalkView mXWalkView;
private long lastClickBackTime;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //取消状态栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); mXWalkView = (XWalkView) findViewById(R.id.webview); mXWalkView.getNavigationHistory().clear(); //清除历史记录 mXWalkView.setDrawingCacheEnabled(false); //不使用缓存 mXWalkView.clearCache(true); //清楚包括磁盘缓存 mXWalkView.load("-----", null); //写入要加载的网址}@Overrideprotected void onPause() { super.onPause(); if (mXWalkView != null) { mXWalkView.pauseTimers(); mXWalkView.onHide(); } }@Overrideprotected void onResume() { super.onResume(); if (mXWalkView != null) { mXWalkView.resumeTimers(); mXWalkView.onShow(); } }@Overrideprotected void onDestroy() { super.onDestroy(); if (mXWalkView != null) { mXWalkView.onDestroy(); } }@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if (mXWalkView != null) { mXWalkView.onActivityResult(requestCode, resultCode, data); } }@Overrideprotected void onNewIntent(Intent intent) { if (mXWalkView != null) { mXWalkView.onNewIntent(intent); } }//监听返回键@Overridepublic void onBackPressed() { if (System.currentTimeMillis() - lastClickBackTime > 2000) { // 后退阻断 Toast.makeText(getApplicationContext(),"再点一次退出应用",Toast.LENGTH_LONG).show(); lastClickBackTime = System.currentTimeMillis(); } else { // 关掉app super.onBackPressed(); } }
}
作者:HeyLukas
链接:https://www.jianshu.com/p/1580c437e36f
共同學習,寫下你的評論
評論加載中...
作者其他優質文章