下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android在項(xiàng)目中如何接入騰訊TBS瀏覽器WebView
騰訊TBS瀏覽器服務(wù)1.特殊功能:2.運(yùn)行環(huán)境3.SDK尺寸指標(biāo)4.原生和X5WebView的類對應(yīng)表在APP中集成1.導(dǎo)Jar包2.權(quán)限<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name="android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name="android.permission.INTERNET"
/>
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
/>3.初始化X5內(nèi)核public
class
BaseApplicatiom
extends
Application
{
@Override
public
void
onCreate()
{
super.onCreate();
//初始化X5內(nèi)核
QbSdk.initX5Environment(this,
new
QbSdk.PreInitCallback()
{
@Override
public
void
onCoreInitFinished()
{
//x5內(nèi)核初始化完成回調(diào)接口,此接口回調(diào)并表示已經(jīng)加載起來了x5,有可能特殊情況下x5內(nèi)核加載失敗,切換到系統(tǒng)內(nèi)核。
}
@Override
public
void
onViewInitFinished(boolean
b)
{
//x5內(nèi)核初始化完成的回調(diào),為true表示x5內(nèi)核加載成功,否則表示x5內(nèi)核加載失敗,會(huì)自動(dòng)切換到系統(tǒng)內(nèi)核。
Log.e("@@","加載內(nèi)核是否成功:"+b);
}
});
}
}4.使用WebView<com.tencent.smtt.sdk.WebView
android:id="@+id/twv_test"
android:layout_width="match_parent"
android:layout_height="match_parent"/>高級一點(diǎn)的使用1.全屏播放視頻android:configChanges="orientation|screenSize|keyboardHidden"http://這個(gè)對宿主沒什么影響,建議聲明
getWindow().setFormat(PixelFormat.TRANSLUCENT);<!--
聲明為不透明,這個(gè)視各app情況所需,不強(qiáng)制需求,如果聲明了,對體驗(yàn)更有利
-->
<item
name="android:windowIsTranslucent">false</item>。webview.setLayerType()
webview.setDrawingCacheEnabled(true);2.輸入法android:windowSoftInputMode="stateHidden|adjustResize"getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
|
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);3.自定義UA//其中APP_NAME_UA是app自定義UA
webSetting.setUserAgentString(webSetting.getUserAgentString()
+
APP_NAME_UA);4.額外的視頻播放器<activity
android:name="com.tencent.smtt.sdk.VideoActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false"
android:launchMode="singleTask"
android:alwaysRetainTaskState="true">
<intent-filter>
<action
android:name="com.tencent.smtt.tbs.video.PLAY"
/>
<category
android:name="ent.category.DEFAULT"
/>
</intent-filter>
</activity>//判斷當(dāng)前Tbs播放器是否已經(jīng)可以使用。
public
static
boolean
canUseTbsPlayer(Context
context)
//直接調(diào)用播放接口,傳入視頻流的url
public
static
void
openVideo(Context
context,
String
videoUrl)
//extraData對象是根據(jù)定制需要傳入約定的信息,沒有需要可以傳如null
public
static
void
openVideo(Context
context,
String
videoUrl,
Bundle
extraData)5.文件選擇器注意的地方1.cookie的調(diào)整2.WebView寬高的獲取webView.getView().getWidth();3.X5內(nèi)核/upload/information/20200623/125/121060.png4.64位手機(jī)的兼容如果使用是Eclipse如果使用的是AndroidStudio:ndk{
abiFilters
"armeabi",
"armeabi-v7a",
"x86",
"mips"
}5.混淆簡單包裝public
class
ProgressWebview
extends
WebView
{
private
ProgressBar
progressbar;
//進(jìn)度條
private
int
progressHeight
=
10;
//進(jìn)度條的高度,默認(rèn)10px
public
ProgressWebview(Context
context)
{
super(context);
initView(context);
}
public
ProgressWebview(Context
context,
AttributeSet
attributeSet)
{
super(context,
attributeSet);
initView(context);
}
private
void
initView(Context
context)
{
//開啟js腳本支持
getSettings().setJavaScriptEnabled(true);
//創(chuàng)建進(jìn)度條
progressbar
=
new
ProgressBar(context,
null,
android.R.gressBarStyleHorizontal);
//設(shè)置加載進(jìn)度條的高度
progressbar.setLayoutParams(new
AbsoluteLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
progressHeight,
0,
0));
Drawable
drawable
=
context.getResources().getDrawable(R.gress_bar_states);
progressbar.setProgressDrawable(drawable);
//添加進(jìn)度到WebView
addView(progressbar);
//適配手機(jī)大小
getSettings().setUseWideViewPort(true);
getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
getSettings().setLoadWithOverviewMode(true);
getSettings().setSupportZoom(true);
getSettings().setBuiltInZoomControls(true);
getSettings().setDisplayZoomControls(false);
setWebChromeClient(new
WVChromeClient());
setWebViewClient(new
WVClient());
}
//進(jìn)度顯示
private
class
WVChromeClient
extends
WebChromeClient
{
@Override
public
void
onProgressChanged(WebView
view,
int
newProgress)
{
if
(newProgress
==
100)
{
progressbar.setVisibility(GONE);
}
else
{
if
(progressbar.getVisibility()
==
GONE)
progressbar.setVisibility(VISIBLE);
progressbar.setProgress(newProgress);
}
if
(mListener
!=
null)
{
mListener.onProgressChange(view,
newProgress);
}
super.onProgressChanged(view,
newProgress);
}
}
private
class
WVClient
extends
WebViewClient
{
@Override
public
boolean
shouldOverrideUrlLoading(WebView
view,
String
url)
{
//在當(dāng)前Activity打開
view.loadUrl(url);
return
true;
}
@Override
public
void
onReceivedSslError(WebView
view,
SslErrorHandler
handler,
SslError
error)
{
//https忽略證書問題
ceed();
}
@Override
public
void
onPageFinished(WebView
view,
String
url)
{
progressbar.setVisibility(GONE);
if
(mListener
!=
null)
{
mListener.onPageFinish(view);
}
super.onPageFinished(view,
url);
}
}
private
onWebViewList
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 舊車報(bào)廢銷戶合同范例
- 2024年芙蓉全蔬湯項(xiàng)目可行性研究報(bào)告
- 鉆空施工合同范例
- 管道材料合同范例
- 2024年大廳燈罩項(xiàng)目可行性研究報(bào)告
- 股權(quán)激勵(lì)入股合同范例
- 鴕鳥采購合同范例
- 2024年冷凍鵝肉項(xiàng)目可行性研究報(bào)告
- 抹灰勞務(wù)合同范例
- 2024至2030年輸送帶四色移印機(jī)(起頭)項(xiàng)目投資價(jià)值分析報(bào)告
- 水果削皮機(jī)的工業(yè)工程設(shè)計(jì)論文
- 空壓站設(shè)備安裝施工組織設(shè)計(jì)方案(空壓站設(shè)備安裝)
- 肝癌患者的護(hù)理疑難病例討論記錄文本
- 四大經(jīng)典之溫病
- 石化裝置動(dòng)設(shè)備操作規(guī)程
- 海花島(海南儋州)民宿眾籌計(jì)劃書
- 注塑件通用技術(shù)條件
- 人大代表選舉主持詞_1
- KingSCADA初級教程工程安全和用戶管理
- 消防安裝工程質(zhì)量通病及防治措施
- 植物大戰(zhàn)僵尸兒童填色畫2
評論
0/150
提交評論