Android 获取设备ID,手机厂商,运营商,联网方式,获取系统语言,获取时区
權限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />安卓6.0需動態獲取權限:Android 6.0及以上版本動態申請權限_meixi_android的博客-CSDN博客
獲取設備ID
方法1
private String getAndroidId(){String m_szAndroidID = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);return m_szAndroidID; } deviceId = Settings.System.getString(sInstance.getContentResolver(), Settings.Secure.ANDROID_ID);方法2
String serialNum = android.os.Build.SERIAL;方法3
String model = ""; TelephonyManager tm = (TelephonyManager) getSystemService(Activity.TELEPHONY_SERVICE);if (ActivityCompat.checkSelfPermission(this, 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; } model = tm.getDeviceId(); Log.i("lgq","ssssssssssss===== "+model);?方法4:
private String getImei(){TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);String szImei = TelephonyMgr.getDeviceId();return szImei; }Android 系統 5.0 以下的。方法3/4無效
結果是:
11-05 16:38:46.860 17570-17570/com.tianxin.jifei I/lgq: ssssssssssss===== 862266036040933
獲取聯網方式:
String access = ""; ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); NetworkInfo netWorkInfo = connectionManager.getActiveNetworkInfo(); access = netWorkInfo.getTypeName();Log.i("lgq","ssssssssssss===== "+access);結果是:
11-05 16:52:49.300 18844-18844/com.tianxin.jifei I/lgq: ssssssssssss===== WIFI
11-05 16:53:02.106 19425-19425/com.tianxin.jifei I/lgq: ssssssssssss===== MOBILE
? 獲取操作系統版本:
/獲取操作系統版本String osVersion = "";osVersion = android.os.Build.VERSION.RELEASE;獲取運營商:
String providersName = ""; TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (ActivityCompat.checkSelfPermission(this, 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; } String IMSI = telephonyManager.getSubscriberId(); if (IMSI != null) {if (IMSI.startsWith("46000") || IMSI.startsWith("46002") || IMSI.startsWith("46007")) {providersName = "中國移動";} else if (IMSI.startsWith("46001") || IMSI.startsWith("46006")) {providersName = "中國聯通";} else if (IMSI.startsWith("46003")) {providersName = "中國電信";} else {providersName = "其他";} } else {providersName = "無法獲取運營商信息"; }手機廠商:
String ss= android.os.Build.MANUFACTURER;?附:
android.os.Build.BOARD:獲取設備基板名稱
android.os.Build.BOOTLOADER:獲取設備引導程序版本號
android.os.Build.BRAND:獲取設備品牌
android.os.Build.CPU_ABI:獲取設備指令集名稱(CPU的類型)
android.os.Build.CPU_ABI2:獲取第二個指令集名稱
android.os.Build.DEVICE:獲取設備驅動名稱
android.os.Build.DISPLAY:獲取設備顯示的版本包(在系統設置中顯示為版本號)和ID一樣
android.os.Build.FINGERPRINT:設備的唯一標識。由設備的多個信息拼接合成。
android.os.Build.HARDWARE:設備硬件名稱,一般和基板名稱一樣(BOARD)
android.os.Build.HOST:設備主機地址
android.os.Build.ID:設備版本號。
android.os.Build.MODEL :獲取手機的型號 設備名稱。
android.os.Build.MANUFACTURER:獲取設備制造商
android:os.Build.PRODUCT:整個產品的名稱
android:os.Build.RADIO:無線電固件版本號,通常是不可用的 顯示unknown
android.os.Build.TAGS:設備標簽。如release-keys 或測試的 test-keys?
android.os.Build.TIME:時間
android.os.Build.TYPE:設備版本類型 ?主要為"user" 或"eng".
android.os.Build.USER:設備用戶名 基本上都為android-build
android.os.Build.VERSION.RELEASE:獲取系統版本字符串。如4.1.2 或2.2 或2.3等
android.os.Build.VERSION.CODENAME:設備當前的系統開發代號,一般使用REL代替
android.os.Build.VERSION.INCREMENTAL:系統源代碼控制值,一個數字或者git hash值
android.os.Build.VERSION.SDK:系統的API級別 一般使用下面大的SDK_INT 來查看
android.os.Build.VERSION.SDK_INT:系統的API級別 數字表示
?
獲取系統語言
Locale locale = Locale.getDefault(); Log.e("lgq","..... "+locale.getCountry().toLowerCase()); Log.e("lgq","..... "+locale.getLanguage()); Log.e("lgq","..... "+locale);獲取時區
//獲取當前時區 public static int getTzSec() {Date date = new Date();//取得本地時間Calendar cal = Calendar.getInstance();//取得時間偏移量int offset = cal.get(Calendar.ZONE_OFFSET) / (1000 * 60 * 60);//取得夏令時差int dstOffset = cal.get(Calendar.DST_OFFSET) / (1000 * 60 * 60);//從本地時間里扣除這些變量,即可以取得UTC時間cal.add(Calendar.MILLISECOND, -(offset + dstOffset));cal.add(Calendar.HOUR, -(offset + dstOffset));Long timeStampUTC = cal.getTimeInMillis();Long timeStamp = date.getTime();Long timeZone = (timeStamp - timeStampUTC) / (1000 * 3600);return timeZone.intValue(); }總結
以上是生活随笔為你收集整理的Android 获取设备ID,手机厂商,运营商,联网方式,获取系统语言,获取时区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Heap 3214 LIS题解
- 下一篇: 百度OCR文字识别-Android安全校