欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android高版本API方法如何在低版本系統(tǒng)上做兼容性處理淺析

 更新時(shí)間:2018年08月15日 11:01:32   作者:YoungTa0  
這篇文章主要給大家介紹了關(guān)于Android高版本API方法如何在低版本系統(tǒng)上做兼容性處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

在最近的開發(fā)中需要獲取到SIM卡的網(wǎng)絡(luò)狀態(tài),在源碼中看到一個(gè)方法:

TelephonyManager tm =(TelephonyManager)context.getSystemService(TELEPHONY_SERVICE);
state =tm.getDataNetworkType();

但是報(bào)錯(cuò)了Call requires API level 24 (current min is 21): android.telephony.TelephonyManager#getDataNetworkType

Android 版本更替,新的版本帶來(lái)新的特性,新的方法。

新的方法帶來(lái)許多便利,但無(wú)法在低版本系統(tǒng)上運(yùn)行,如果兼容性處理不恰當(dāng),APP在低版本系統(tǒng)上,運(yùn)行時(shí)將會(huì)crash。

處理方法

1.添加@RequiresApi(api = Build.VERSION_CODES.N)

2.添加@TargetApi(Build.VERSION_CODES.N)

3.添加@SuppressLint("NewApi")

4.添加運(yùn)行時(shí)SDK版本判斷

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
   tm.getDataNetworkType();
  }

5.在低版本通過(guò)其他方法實(shí)現(xiàn)該功能

總結(jié)

第一、第二、第三種方法只是能編譯通過(guò),到了低于API24的系統(tǒng)運(yùn)行,將會(huì)引發(fā) java.lang.NoSuchMethodError

正確的做法是添加運(yùn)行時(shí)SDK版本判斷,判斷為低版本時(shí)添加其他方法實(shí)現(xiàn)該功能

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論