您的位置:首页 > 移动开发 > Android开发

android获取当前手机设备信息工具类

2015-01-21 14:14 746 查看
public class DeviceTool {

/**

* 获取当前设置的电话号码

*/

public static String getNativePhoneNumber(Context context) {

String nativePhoneNumber = "";

try {

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

nativePhoneNumber = telephonyManager.getLine1Number();

} catch (Exception e) {

nativePhoneNumber = "";

}

return nativePhoneNumber;

}

/**

* 获取设备序列号

*/

public static String getDeviceId(Context context) {

String deviceId = "";

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

deviceId = telephonyManager.getDeviceId();

if (deviceId == null || "".equals(deviceId)) {

deviceId = "0000000000";

}

return deviceId;

}

/**

* @description:获取设备唯一标识

*/

public static String getDeviceUni(Context context) {

String deviceUni = "";

TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

deviceUni = tm.getDeviceId();

if (TextUtils.isEmpty(deviceUni)) {

deviceUni = getMacAddress(context);

}

return deviceUni;

}

/**

* @description:获取wifimac地址

*/

public static String getMacAddress(Context context) {

WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

WifiInfo info = wifi.getConnectionInfo();

String wifiMac = info.getMacAddress();

return wifiMac;

}

/**

* 获得一个去掉"-"符号的UUID

*/

public static String getUUID() {

String s = UUID.randomUUID().toString();

// 去掉"-"符号

return s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24);

}

/**

* 判断是否已连接到网络.

*/

public static boolean isNetworkConnected(Context context) {

ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivity != null) {

NetworkInfo info = connectivity.getActiveNetworkInfo();

if (info != null && info.isConnected()) {

if (info.getState() == NetworkInfo.State.CONNECTED) { return true; }

}

}

return false;

}

/**

* 检查网络接连类型.

*

* @param context

* @return SysConstants.NETWORK_TYPE_NONE: 无网络连接;

* SysConstants.NETWORK_TYPE_WIFI: 通过WIFI连接网络;

* SysConstants.NETWORK_TYPE_WAP: 通过GPRS连接网络.

*/

public static int checkNetWorkType(Context context) {

if (isAirplaneModeOn(context)) { return Constant.NETWORK_TYPE_NONE; }

ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) { return Constant.NETWORK_TYPE_NET; }

if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED) {

String type = connectivityManager.getActiveNetworkInfo().getExtraInfo();

if ("wap".equalsIgnoreCase(type.substring(type.length() - 3))) {

return Constant.NETWORK_TYPE_WAP;

} else {

return Constant.NETWORK_TYPE_NET;

}

}

return Constant.NETWORK_TYPE_NONE;

}

/**

* 判断手机是否处于飞行模式.

*

* @param context

* @return

*/

public static boolean isAirplaneModeOn(Context context) {

return Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) != 0;

}

/**

* 判断手机SDCard是否已安装并可读写.

*

* @return

*/

public static boolean isSDCardUsable() {

return Environment.MEDIA_MOUNTED.equalsIgnoreCase(Environment.getExternalStorageState());

}

/**

* 获取指定的SDCard中图片缓存目录.

*

* @param defaultImageFolderName

* @return

*/

public static File getImgCacheDir(String defaultImageFolderName) {

if (isSDCardUsable()) {

File dir = new File(Environment.getExternalStorageDirectory(), defaultImageFolderName);

if (!dir.exists())

dir.mkdirs();

return dir;

}

return null;

}

/**

* 隐藏某焦点控件弹出的软件键盘.

*

* @param context

* @param view

*/

public static void hideSoftKeyboardFromView(Context context, View view) {

InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Service.INPUT_METHOD_SERVICE);

IBinder binder = view.getWindowToken();

inputMethodManager.hideSoftInputFromWindow(binder, 0);

}

/**

* 获取SDcard根目录

* @description:

*/

public static String getSDPath() {

File sdDir = null;

boolean sdCardExist = Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED);

if (sdCardExist) {

sdDir = Environment.getExternalStorageDirectory();// 获取跟目录

} else {

sdDir = new File("/mnt/sdcard/");

if (!sdDir.exists() || !sdDir.canRead() || !sdDir.canWrite()) { return ""; }

}

return sdDir.getAbsolutePath();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: