AndroidQ適配之IMEI替換為Android_id的示例分析

這篇文章給大家分享的是有關Android Q適配之IMEI替換為Android_id的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、虛擬空間、營銷軟件、網站建設、圖木舒克網站維護、網站推廣。

前置工作:

項目配置升到對應的29版本

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

Android Q適配之IMEI替換為Android_id的示例分析

升級到Android Q后的權限提示界面

老版本獲取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版本中,地址會隨機變化,不可用作唯一標識,可去掉。
      }
    }

    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;
  }

谷歌官方有聲明:手機恢復出廠設置,Android ID會重置。

如果用戶拒絕權限,也還是會獲取不到設備標識。

感謝各位的閱讀!關于“Android Q適配之IMEI替換為Android_id的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當前名稱:AndroidQ適配之IMEI替換為Android_id的示例分析
文章轉載:http://m.kartarina.com/article24/gspgce.html

成都網站建設公司_創新互聯,為您提供響應式網站微信公眾號App開發面包屑導航網站設計公司網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 中文字幕无码免费久久| 无码av大香线蕉伊人久久| 亚洲AV无码专区电影在线观看| 日韩乱码人妻无码中文字幕久久| 亚洲AV永久无码精品一福利 | 精品无码人妻久久久久久| 国产激情无码一区二区app| 中文字幕无码播放免费| 曰韩精品无码一区二区三区| 亚洲av无码专区国产不乱码| 亚洲国产精品无码久久久不卡 | 东京无码熟妇人妻AV在线网址| 国产激情无码一区二区| 亚洲AⅤ无码一区二区三区在线 | 亚洲精品自偷自拍无码| 亚洲国产精品无码久久久蜜芽| 无码人妻精品丰满熟妇区| 久久午夜夜伦鲁鲁片免费无码| 亚洲最大av无码网址| 亚洲Av永久无码精品黑人| 日韩av无码一区二区三区| 国精品无码A区一区二区| 国产精品亚洲一区二区无码| 亚洲人成人无码.www石榴| 熟妇无码乱子成人精品| 国产AV巨作情欲放纵无码| 日韩成人无码中文字幕| 无码人妻av一区二区三区蜜臀| 亚洲国产精品无码久久98| 91久久精品无码一区二区毛片 | 狠狠躁狠狠躁东京热无码专区| 无码日韩人妻精品久久| 无码国模国产在线观看免费| 在线无码视频观看草草视频| 亚洲大尺度无码无码专线一区| 蜜桃无码一区二区三区| 精品国产v无码大片在线观看| 人妻丰满av无码中文字幕| 久久AV高潮AV无码AV| 亚洲欧洲无码一区二区三区| 亚洲爆乳少妇无码激情|