1、webview 當在H5中通過schema跳轉(zhuǎn)時,如果當前系統(tǒng)中不存在接收該schema的意圖,將會導致crash,需要 try catch
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if(!url.startsWith("http:") && !url.startsWith("https:"))
{
try
{
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));
view.getContext().startActivity(intent);
}catch(Exception e)
{
}
return true;
} else
{
if(this.overideUrlCallBack != null)
{
this.overideUrlCallBack.onCallBack(view, url);
}
return false;
}
}
2、魅族手機5.1,;5.1.1;6.0版本調(diào)起支付的時候會啟動安全模式導致 跳轉(zhuǎn)成功頁失敗,在此延遲1秒,等待系統(tǒng)關(guān)閉安全模式然后再跳轉(zhuǎn)
if(DeviceUtils.isMeizuFlymeOS() && ("22".equals(DeviceUtils.getAndroidVersion()) || "23".equals(DeviceUtils.getAndroidVersion())? ))
{
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
goToSuccessPage();
}
},1000);
}else
{
goToSuccessPage();
}
3、webview 當android? level 大于15時,會限制js執(zhí)行腳本的大小,當前將targetVersion設(shè)置為15 無此限制
4、自定義控件,當前android level小于16時,默認的背景顏色是黑色的,所以需要設(shè)置背景顏色,大于16默認是透明的。API16以下,View中是沒有setBackground方法的,只有setBackgroundDrawable方法
5、viewPage + Fragment 布局,自定義控件偶現(xiàn)繪制失敗,出現(xiàn)空白區(qū)域。解決方案: mViewPager.setOffscreenPageLimit(4);
6、webview 或 普通網(wǎng)絡請求走https協(xié)議時,個別機型出現(xiàn)證書校驗失敗,原因是手機出廠的根證書有問題。當前webview的做法是放過,普通網(wǎng)絡請求未處理。另一個方案是:當系統(tǒng)證書校驗失敗時,走ip直連校驗自定義證書。