腾讯x5浏览器开源 腾讯x5内核调试地址
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
Android中的WebView一直是令人头疼的问题,各种手机内核不一致,版本也不一样,型号众多,导致兼容不好做,自从使用X5WebView,兼容和版本适配问题得到很大提升,本文将给X5WebView出接入的指南.
1)速度快:相比系统webview的网页打开速度有30+%的提升; ? 2)省流量:使用云端优化技术使流量节省20+%; ? 3) 更安全:安全问题可以在24小时内修复; ? 4)更稳定:经过亿级用户的使用考验,CRASH率低于0.15%; ? 5) 兼容好:无系统内核的碎片化问题,更少的兼容性问题; ? 6) 体验优:支持夜间模式、适屏排版、字体设置等浏览增强功能; ? 7) 功能全:在Html5、ES6上有更完整支持; ? 8) 更强大:集成强大的视频播放器,支持视频格式远多于系统webview; ? 9) 视频和文件格式的支持x5内核多于系统内核 ? 10) 防劫持是x5内核的一大亮点
dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])implementation 'androidx.appcompat:appcompat:1.1.0'implementation 'androidx.constraintlayout:constraintlayout:1.1.3'testImplementation 'junit:junit:4.12'androidTestImplementation 'androidx.test.ext:junit:1.1.0'androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'implementation "com.tencent.tbs.tbssdk:sdk:43697"}
ndk { ? abiFilters "armeabi", "armeabi-v7a", "x86", "mips" ? }
? public class App extends Application { ? pri【【微信】】ce; ? @Override ? public void onCreate() { ? super.onCreate(); ? mInstance = this; ? initX5WebView(); ? } ? 【【微信】】View(){ ? QbSdk.【【微信】】 = new QbSdk.【【微信】】() { ? @Override ? public void onViewInitFinished(boolean arg0) { ? // TODO Auto-generated method stub ? //x5群顺跏蓟完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。 ? Log.d("app", " on【【微信】】 " + arg0); ? } ? @Override ? public void onCoreInitFinished() { ? // TODO Auto-generated method stub ? } ? }; ? //x5内核初始化接口 ? QbSdk.【【微信】】(getApplicationContext(), cb); ? } ? public static App getmInstance() { ? return mInstance; ? } ? }
? public class X5Web【【微信】】ctivity { ? pri【【微信】】; ? pri【【微信】】; ? //pri【【微信】】 = "https://1111.tmall.com/"; ? //pri【【微信】】 = "https://h5.m.taobao.com/"; ? pri【【微信】】 = "https://www.jd.com/"; ? @Override ? protected void onCreate(Bundle savedInstanceState) { ? // TODO Auto-generated method stub ? super.onCreate(savedInstanceState); ? setContentView(R.layout.filechooser_layout); ? initWebView(); ? 【【微信】】(); ? } ? pri【【微信】】() { ? webView = 【【微信】】(R.id.web_filechooser); ? textView = 【【微信】】(R.id.t【【微信】】); ? webView.【【微信】】(url); ? } ? private void 【【微信】】() { ? textView.【【微信】】(new View.【【微信】】() { ? @Override ? public void onClick(View v) { ? 【【微信】】(); ? } ? }); ? } ? ? private void 【【微信】】() { ? Intent i = new Intent(Intent.ACTION_GET_CONTENT); ? i.addCategory(Intent.CATEGORY_OPENABLE); ? i.setType("application/vnd.【【微信】】"); ? //i.setType("* ? @Override ? protected void onDestroy() { ? // TODO Auto-generated method stub ? if (this.webView != null) { ? webView.destroy(); ? } ? super.onDestroy(); ? } ? }
? public class X5Web【【微信】】 { ? private static final String TAG = "XWebView"; ? 【【微信】】ttings; ? pri【【微信】】ent = ne【【微信】】Client() { ? ? public boolean shouldOverrideUrlLoading(Web【【微信】】, String url) { ? view.【【微信】】(url); ? return true; ? } ? @Override ? public void onPageStarted(WebVie【【微信】】, String s, Bitmap 【【微信】】) { ? super.onPageStarted(webView, s, 【【微信】】); ? webSettings.setBlockNetworkImage(true); ? Log.d(TAG, " onPageStart " + s + "------------"); ? } ? @Override ? public void onPageFinished(WebVie【【微信】】, String s) { ? super.onPageFinished(webView, s); ? Log.d(TAG," onPageFinished " + s + "----------"); ? webSettings.setBlockNetworkImage(false); ? if (!webSettings.getLoadsImagesAutomatically()) { ? //设置wenView加载图片资源 ? webSettings.setBlockNetworkImage(false); ? webSettings.setLoadsImagesAutomatically(true); ? } ? } ? }; ? public X5WebView(【【微信】】, AttributeSet arg1) { ? super(arg0, arg1); ? this.setWeb【【微信】】(client); ? initWebViewSettings(); ? this.【【微信】】().【【微信】】(true); ? } ? @SuppressLint("SetJa【【微信】】") ? pri【【微信】】Settings() { ? webSettings = this.getSettings(); ? webSettings.setJa【【微信】】(true); ? webSettings.setJa【【微信】】wsAutomatically(true); ? webSettings.setAllowFileAccess(true); ? webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS); ? webSettings.setSupportZoom(true); ? webSettings.setBuiltInZoomControls(true); ? webSettings.setUseWide【【微信】】rue); ? webSettings.setSupportMultipleWindows(true); ? webSettings.setAppCacheEnabled(true); ? //开启数据库形式存储 ? webSettings.setDatabaseEnabled(true); ? //开启Dom形式存储 ? webSettings.setDomStorageEnabled(true); ? webSettings.setGeolocationEnabled(true); ? webSettings.setAppCacheMaxSize(Long.MAX_VALUE); ? webSettings.setPluginState(WebSettings.PluginState.ON_DEMAND); ? webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ? //缓存数据的存储地址 ? String appCacheDir = App.getmInstance().getDir("cache", Context.MODE_PRIVATE).【【微信】】(); ? webSettings.setAppCachePath(appCacheDir); ? //开启缓存功能 ? webSettings.setAppCacheEnabled(true); ? //缓存模式 ? webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ? webSettings.setAllowFileAccess(true); ? } ? public X5WebView(【【微信】】) { ? super(arg0); ? setBackgroundColor(85621); ? } ? }
? public class FullScreenPlayerActi【【微信】】 { ? X5WebVie【【微信】】; ? @Override ? protected void onCreate(Bundle savedInstanceState) { ? // TODO Auto-generated method stub ? super.onCreate(savedInstanceState); ? setContentView(R.layout.filechooser_layout); ? webView = 【【微信】】(R.id.web_filechooser); ? webView.【【微信】】("https://static.chuangyetianxia.com/study/3/media/5d4a6cb2bc78215651585786907.mp4"); ? 【【微信】】().setFormat(PixelFormat.TRANSLUCENT); ? webView.【【微信】】().setOverScrollMode(View.【【微信】】); ? webView.【【微信】】ce(ne【【微信】】JavaScriptFunction() { ? @Override ? public void onJsFunctionCalled(String tag) { ? // TODO Auto-generated method stub ? } ? @JavascriptInterface ? public void onX5ButtonClicked() { ? FullScreenPlayerActivity.this.【【微信】】nc(); ? } ? @JavascriptInterface ? public void onCustomButtonClicked() { ? FullScreenPlayerActivity.this.【【微信】】unc(); ? } ? @JavascriptInterface ? public void onLiteWndButtonClicked() { ? FullScreenPlayerActivity.this.【【微信】】(); ? } ? @JavascriptInterface ? public void onPageVideoClicked() { ? FullScreenPlayerActivity.this.【【微信】】(); ? } ? }, "Android"); ? } ? @Override ? public void onConfigurationChanged(Configuration newConfig) { ? // TODO Auto-generated method stub ? try { ? super.onConfigurationChanged(newConfig); ? if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { ? } else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { ? } ? } catch (Exception e) { ? e.printStackTrace(); ? } ? } ? // 向webView发出信息 ? private void 【【微信】】nc() { ? if (webView.getX5WebViewExtension() != null) { ? Toast.makeText(this, "开启X5全屏播放模式", Toast.LENGTH_LONG).show(); ? Bundle data = new Bundle(); ? data.putBoolean("standardFullScreen", false);// true表示标准全屏,false表示X5全屏;不设置默认false, ? data.putBoolean("supportLiteWnd", false);// false:关闭小窗;true:开启小窗;不设置默认true, ? data.putInt("DefaultVideoScreen", 2);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1 ? webView.getX5WebViewExtension().invokeMiscMethod("setVideoParams", ? data); ? } ? } ? private void 【【微信】】unc() { ? if (webView.getX5WebViewExtension() != null) { ? Toast.makeText(this, "恢复webkit初始状态", Toast.LENGTH_LONG).show(); ? Bundle data = new Bundle(); ? data.putBoolean("standardFullScreen", true);// true表示标准全屏,会调起onShowCustomView(),false表示X5全屏;不设置默认false, ? data.putBoolean("supportLiteWnd", false);// false:关闭小窗;true:开启小窗;不设置默认true, ? data.putInt("DefaultVideoScreen", 2);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1 ? webView.getX5WebViewExtension().invokeMiscMethod("setVideoParams", ? data); ? } ? } ? private void 【【微信】】() { ? if (webView.getX5WebViewExtension() != null) { ? Toast.makeText(this, "开启小窗模式", Toast.LENGTH_LONG).show(); ? Bundle data = new Bundle(); ? data.putBoolean("standardFullScreen", false);// true表示标准全屏,会调起onShowCustomView(),false表示X5全屏;不设置默认false, ? data.putBoolean("supportLiteWnd", true);// false:关闭小窗;true:开启小窗;不设置默认true, ? data.putInt("DefaultVideoScreen", 2);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1 ? webView.getX5WebViewExtension().invokeMiscMethod("setVideoParams", ? data); ? } ? } ? private void 【【微信】】() { ? if (webView.getX5WebViewExtension() != null) { ? Toast.makeText(this, "页面内全屏播放模式", Toast.LENGTH_LONG).show(); ? Bundle data = new Bundle(); ? data.putBoolean("standardFullScreen", false);// true表示标准全屏,会调起onShowCustomView(),false表示X5全屏;不设置默认false, ? data.putBoolean("supportLiteWnd", false);// false:关闭小窗;true:开启小窗;不设置默认true, ? data.putInt("DefaultVideoScreen", 1);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1 ? webView.getX5WebViewExtension().invokeMiscMethod("setVideoParams", ? data); ? } ? } ? }
X5Web【【微信】】: 腾讯X5内核使用实例
16GB内存 5000mAh电池骁龙8旗舰降价至2569元,碾压同级竞品
16gb内存是多大,16gb内存大不大,16gb内存能装多少东西,16gb内存卡能装多少照片真我GT Neo5,作为一款面向旗舰市场的产品,备受消费者关注。这款手机配置了骁龙8移动平台和16GB大内存,让它被视为中端性能机皇。此外,它还配备了240w超级快充和高续航表现,带来极佳的续航体验。加上6.74英寸【【微信】】柔性直屏和时尚设计,让用户用起来更加舒适自然。在摄像头方面,真我GT Neo5加入了索尼【【微信】】主摄和OIS光学防抖和HyperShot2.0影像架构,有着不输于旗舰机的影像体验。接下来我将针对参考资料给出的章节内容进行更加详细的解读。
1. 真我GT Neo5的性能表现
真我GT Neo5配备了骁龙8移动平台和16GB大内存,被视为中端性能机皇。这款手机的性能优于骁龙7和天玑9000。更高的内存可以确保后台运行多个应用不卡顿和闪退,加速手机整体速度。
另外,大内存也让游戏运行更为稳定,且能够存储更多的游戏素材,使游戏的画面更加流畅自然。总之,真我GT Neo5的性能表现极佳,能够满足用户的各种需求,是一款值得选择的性价比高的产品。
2. 真我GT Neo5的续航和快充
真我GT Neo5配备了240w超级快充和高续航表现,是一款主打电竞市场的产品。240w超级快充只需10分钟即可快速充电,让用户摆脱了续航焦虑。它的续航表现也很优异,可以满足长时间的电竞游戏需求。
这款手机还采用了智能省电技术,能够根据用户的使用情况,合理调整CPU和内存的运行状态,让手机的电池使用效率更高。总之,真我GT Neo5的续航和快充解决了用户的常见痛点,是一款优秀的电竞手机。
3. 真我GT Neo5的屏幕和设计
真我GT Neo5配备了6.74英寸【【微信】】柔性直屏和时尚设计,带来更好的用户体验。6.74英寸的大屏幕让视觉效果更佳,1.5K高分辨率和144Hz高刷带来更加细腻的画面,同时1400nit超高亮度和2160Hz超高频PWM调光使屏幕亮度更加出色,进一步提升了用户的使用体验。
此外,真我GT Neo5的时尚设计,也是吸引用户注意力的重要因素之一。这款手机简洁、大气,具有国际化的设计感。小巧的后排三摄,与机身完美融合,让整体外观更显科技感。总之,真我GT Neo5的屏幕和设计非常优秀,是一款很受用户欢迎的手机。
4. 真我GT Neo5的摄像头
真我GT Neo5加入了索尼【【微信】】主摄和OIS光学防抖和HyperShot2.0影像架构,有着不输于旗舰机的影像体验。摄像头素质直接影响着拍照和摄像体验的好坏,这款手机的摄像头表现堪比旗舰机。
此外,它还配备了超大光圈、超高像素等一系列高端拍照功能,让用户在拍摄照片时可以获得更好的成像效果和图像细节。总之,真我GT Neo5的摄像头表现十分出色,让用户体验到了高品质的拍照和摄像体验。
综上所述,真我GT Neo5作为一款性价比高、配置优异的手机,具有非常优秀的性能表现、续航和快充、屏幕和设计以及摄像头,为消费者提供了高品质的使用体验。它已经跌至2569元,性价比非常高,非常值得消费者考虑。