亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android Q適配之IMEI替換為Android_id

 更新時間:2019年11月26日 10:18:40   作者:廣島冰鹽  
這篇文章主要介紹了Android Q適配之IMEI替換為Android_id,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前置工作:

項目配置升到對應(yīng)的29版本

compileSdkVersion: 29,
buildToolsVersion: ‘29.0.0',
minSdkVersion : 19,
targetSdkVersion : 29,
javaVersion : JavaVersion.VERSION_1_8

升級到Android Q后的權(quán)限提示界面

升級到Android Q后的權(quán)限提示界面

老版本獲取IMEI的方法:

public static String getIMEI(Context context) {
    String deviceId = null;
    try {
      TelephonyManager tm = (TelephonyManager) context
          .getSystemService(Context.TELEPHONY_SERVICE);
      deviceId = tm.getDeviceId();
      if (deviceId == null || "".equals(deviceId)) {
        return getLocalMacAddress(context);
      }
    } catch (Exception e) {
      e.printStackTrace();
      if (deviceId == null || "".equals(deviceId)) {
        return getLocalMacAddress(context);//獲取Mac地址,在Android 9 P版本中,地址會隨機變化,不可用作唯一標(biāo)識,可去掉。
      }
    }

    return deviceId;
  }

Android Q獲取IMEI方法

public static String getIMEI(Context context) {
    String deviceId = null;
    try {
      TelephonyManager tm = (TelephonyManager) context
          .getSystemService(Context.TELEPHONY_SERVICE);
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        deviceId = Settings.System.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
      } else {
        // request old storage permission
        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
          // TODO: Consider calling
          //  ActivityCompat#requestPermissions
          // here to request the missing permissions, and then overriding
          //  public void onRequestPermissionsResult(int requestCode, String[] permissions,
          //                     int[] grantResults)
          // to handle the case where the user grants the permission. See the documentation
          // for ActivityCompat#requestPermissions for more details.
          return null;
        }
        deviceId = tm.getDeviceId();
      }
      if (deviceId == null || "".equals(deviceId)) {
        return getLocalMacAddress(context);
      }
    } catch (Exception e) {
      e.printStackTrace();
      if (deviceId == null || "".equals(deviceId)) {
        return getLocalMacAddress(context);
      }
    }

    return deviceId;
  }

谷歌官方有聲明:手機恢復(fù)出廠設(shè)置,Android ID會重置。

如果用戶拒絕權(quán)限,也還是會獲取不到設(shè)備標(biāo)識。

所以具體優(yōu)化需自行結(jié)合開發(fā)情景,有更好的建議的道友可以評論補充說明^ - ^…

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android Studio 視頻播放失敗 start called in state1 異常怎么解決

    Android Studio 視頻播放失敗 start called in state1 異常怎么解決

    很多朋友問小編在使用MediaPlayer播放音頻時報出 E/MediaPlayerNative: start called in state 1, mPlayer(0x0)問題,該如何處理呢,今天小編給大家?guī)砹薃ndroid Studio 視頻播放失敗 start called in state1 異常問題,需要的朋友可以參考下
    2020-03-03
  • 深入分析Android NFC技術(shù) android nfc開發(fā)

    深入分析Android NFC技術(shù) android nfc開發(fā)

    本篇文章我們對android開發(fā)中nfc技術(shù)做了全面的原理分析以及實現(xiàn)過程,需要的讀者們一起參考一下吧。
    2017-11-11
  • 詳談android 6.0 fuse文件系統(tǒng)的掛載和卸載問題

    詳談android 6.0 fuse文件系統(tǒng)的掛載和卸載問題

    今天小編就為大家分享一篇詳談android 6.0 fuse文件系統(tǒng)的掛載和卸載問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Android Studio 下載視頻到本地

    Android Studio 下載視頻到本地

    這篇文章主要介紹了Android Studio 下載視頻到本地,利用GreenDao實現(xiàn)多線程斷點續(xù)傳,這樣的話,下次用戶再次下載時,將繼續(xù)上次數(shù)據(jù)庫的接著下載,這樣用戶體驗就會很好,也大大節(jié)省了成本.具體實現(xiàn)代碼大家參考下本文
    2018-03-03
  • Android Spinner與適配器模式詳解及實例代碼

    Android Spinner與適配器模式詳解及實例代碼

    這篇文章主要介紹了Android Spinner與適配器模式詳解相關(guān)資料,并附代碼實例,需要的朋友可以參考下
    2016-10-10
  • Android實現(xiàn)圖片一邊的三角形邊框效果

    Android實現(xiàn)圖片一邊的三角形邊框效果

    這篇文章主要介紹了Android實現(xiàn)圖片一邊的三角形邊框效果,本文圖文并茂通過實例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2019-12-12
  • Android自定義圓形View實現(xiàn)小球跟隨手指移動效果

    Android自定義圓形View實現(xiàn)小球跟隨手指移動效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義圓形View實現(xiàn)小球跟隨手指移動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Android學(xué)習(xí)之介紹Binder的簡單使用

    Android學(xué)習(xí)之介紹Binder的簡單使用

    BInder方面的資料雖然感覺看的比較多,但是真正用的時候才發(fā)現(xiàn)有很多地方模棱兩棵的,所以,打算用一個實例再來鞏固一下binder的使用方法。這篇文章主要介紹了Android中Binder的簡單使用,文中給出詳細(xì)的示例代碼,需要的朋友可以參考下
    2016-12-12
  • Android自定義viewgroup快速滑動(4)

    Android自定義viewgroup快速滑動(4)

    這篇文章主要為大家詳細(xì)介紹了Android自定義viewgroup快速滑動的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android指紋登錄工具類封裝

    Android指紋登錄工具類封裝

    這篇文章主要為大家詳細(xì)介紹了Android指紋登錄工具類的封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09

最新評論