2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Android 获取设备ID 手机厂商 运营商 联网方式 获取系统语言 获取时区

Android 获取设备ID 手机厂商 运营商 联网方式 获取系统语言 获取时区

时间:2020-01-25 05:05:13

相关推荐

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。