android 获取设备信息
1:获取设备当前电量
获取手机电量需要用到BatteryManager类
该类提供了获取电池状态和电量信息的方法.
这里通过注册广播接收器来获取实时的电量信息.
Intent.ACTION_BATTERY_CHANGED是Android系统中的一个广播动作,用于在设备电池状态发生变化时发送广播
/**
* 获取手机电量 不需要权限
*
* @param context
* @return
*/
public static int getBattery(Context context) {
int ret = 0;
try {
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
if (intent != null) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
if (level >= 0 && scale > 0) {
ret = level * 100 / scale;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}
2:获取当前存储的剩余量
public static long getStorageAvailable() {
long size = 0;
StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
size = statFs.getAvailableBytes() / 1024 / 1024 / 1024;
}
return size;
}
3:获取android版本
public static String getAndroidVersion(){
return Build.VERSION.RELEASE;
}
4:获取手机型号
public static String getModel(){
return Build.MODEL;
}
5:获取手机厂商
public static String getManufacturer(){
return Build.MANUFACTURER;
}
6:判断手机或者平板
public static String getOsModel(Context context) {
String phone = null;
try {
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
phone = telephonyManager.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE ? "android phone" : "android pad";
} catch (Exception e) {
e.printStackTrace();
}
return phone;
}