android兼容性問題匯總

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直連校驗自定義證書。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容