Android-设备工具类JDeviceUtil
2017-12-08 17:07
330 查看
/** * 设备工具类 * Created by Jzd on 2017/12/8. */ public class JDeviceUtil { public static DisplayMetrics getDisplayMetrics(Context context) { WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics displayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay() .getMetrics(displayMetrics); return displayMetrics; } /** * 获取APP屏幕高,可能会比getScreenHeight()小,因为可能会去掉装饰区域,在有虚拟按键的手机上要注意 */ public static int getScreenHeight(Context context) { return getDisplayMetrics(context).heightPixels; } /** * 获取APP屏幕宽 */ public static int getScreenWidth(Context context) { return getDisplayMetrics(context).widthPixels; } /** * 获取设备的屏幕高 */ public static int getScreenHeight(Context context) { return context.getResources() .getDisplayMetrics().heightPixels; } /** * 获取设备的屏幕高 */ public static int getScreenWidth(Context context) { return context.getResources() .getDisplayMetrics().widthPixels; } /** * 获取设备的屏幕密度 */ public static float getScreenDensity(Context context) { return context.getResources() .getDisplayMetrics().density; } /** * 获取IMEI * <li>只有手机才有imei</li> * <li>需要 android.Manifest.permission.READ_PHONE_STATE 权限,6.0以后动态申请</li> * <li>可能为空</li> */ @SuppressLint("HardwareIds") public static String getIMEI(Context context) { Tel 4000 ephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); if(isPhone(context)) { if(Build.VERSION.SDK_INT >= 26) { return telephonyManager.getImei(); } else { return telephonyManager.getDeviceId(); } } return null; } /** * 获取android设备码 * <li>可能相同或为空</li> * <li>恢复出场设置可能会重置</li> */ public static String getAndroidId(Context context) { return Settings.System.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); } /** * 获取设备唯一编码 */ public static String getDeviceUniqueCode(Context context) { String phoneName = Build.MODEL;// 型号 String factoryName = Build.MANUFACTURER;// 品牌 String serialNumber = getSerialNumber(); if(serialNumber == null || serialNumber.isEmpty()) { serialNumber = getAndroidId(context); } return factoryName + "-" + phoneName + "-" + serialNumber; } /** * 序列号 */ public static String getSerialNumber() { String serial = null; try { Class<?> c = Class.forName("android.os.SystemProperties"); Method get = c.getMethod("get", String.class); serial = (String) get.invoke(c, "ro.serialno"); } catch(Exception e) { e.printStackTrace(); } return serial; } /** * 是否为手机 */ public static boolean isPhone(Context context) { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); return telephonyManager.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE; } /** * 拨打电话 * 需添加权限 {@code <uses-permission android:name="android.permission.CALL_PHONE"/>} */ public static Intent call(Context context, String phoneNumber) { return new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); } /** * 发送短信 */ public static Intent sendSms(Context context, String phoneNumber, String content) { Uri uri = Uri.parse("smsto:" + (phoneNumber == null ? "" : phoneNumber)); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", content == null ? "" : content); return intent; } }
相关文章推荐
- 【Android】设备工具类(DeviceUtil.java)
- Android设备内存和SD卡操作工具类
- DateTimeUtil 工具类,android 和 java 通用
- Android util.Log 工具类
- Android IntentUtil跳转工具类
- android DownloadManager的自定义工具类DownloadManagerUtil
- Android自定义的网络连接工具类HttpUtil
- Android-BroadCastReceiverUtil(广播工具类)
- Android开发中检测网络和获取手机设备和防暴力点击工具类
- Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】
- Android编程录音工具类RecorderUtil定义与用法示例
- Android工具类系列-HttpUtil
- Android 图片下载工具类:BitmapUtil
- 使用LogPhoneUtil工具类在Android手机保存APP运行日志
- Android常用工具类Util
- android BitmapUtil 工具类
- 自己写的Android端HttpUtil工具类
- android 设备信息工具类
- Android 图片下载工具类:BitmapUtil
- android获取当前手机设备信息工具类