记录一下在Android中常用的一些工具方法,可以用来获取系统的相关信息,如有考虑不周到的地方,还请大家指正。

获取WiFi mac地址
/**
* 获取WiFi mac地址
*
* @param context
* @return
*/
public static String getWifiMac(Context context)
{
String mac = null;
if (context != null) {
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
mac = info.getMacAddress();
}
return mac;
}

获取Android ID
/**
* 获取Android ID,这个在重置系统后,会变
* @param context
* @return
*/
public static String getAndroidId(Context context) {
String id = null;
if (context != null) {
id = Settings.System.getString(context.getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID);
}
return id;
}

设置全屏
/**
* 设置全屏
* @param context
* @return
*/
public static void setFullScreen(final Activity activity, final boolean isSetToFullScreen) {
if (activity == null) {
return;
}
activity.runOnUiThread(new Runnable() {
public void run() {
if (isSetToFullScreen) {
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
});
}

设置屏幕方向
/**
* 设置屏幕方向
* @param activity
* @param orientation 方向
*/
public static void setScreenOrientation(final Activity activity, final String orientation) {
if (activity == null) {
return;
}
if (activity != null) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
if (“landscape”.equals(orientation)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
});
}
}

获取屏幕宽度
/**
* 获取屏幕宽度
* @param activity
*/
public static int getScreenWidth(Activity activity) {
if (activity == null) {
return 0;
}
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
return dm.widthPixels;
}

获取屏幕高度
/**
* 获取屏幕高度
* @param activity
*/
public static int getScreenHeight(Activity activity) {
if (activity == null) {
return 0;
}
DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
return dm.heightPixels;
}

设置保持屏幕常亮
/**
* 设置保持屏幕常亮
* @param activity
* @param bool
*/
public static void setKeepScreenOn(final Activity activity, final boolean bool) {
if (activity != null) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Window window = activity.getWindow();
if (window != null) {
if (bool) {
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
} else {
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
}
});
}
}

获取apk版本号
/**
* 获取apk版本号
* @param context
* @return
*/
public static String getVersionName(Context context) {
String versionName = null;
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
versionName = packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionName;
}

获取apk代码版本号
/**
* 获取apk代码版本号
* @param context
* @return
*/
public static int getVersionCode(Context context) {
int versionCode = 0;
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
versionCode = packageInfo.versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionCode;
}

检测网络是否连接
/**
* 检测网络是否连接
*
* @return
*/
public static boolean isNetOn(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobileInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (!wifiInfo.isConnected() && !mobileInfo.isConnected()) {
return false;
}
else {
return true;
}
}

检测当前是设备是否处于wifi上网环境
/**
* 检测当前是设备是否处于wifi上网环境
*
* @param context
* @return
*/
public static boolean isWifi(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null
&& activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
return true;
}
else {
return false;
}
}

检测当前是设备是否处于移动网络上网环境
/**
* 检测当前是设备是否处于移动网络上网环境
*
* @param context
* @return
* @throws
*/
public static boolean isNetMobile(Context context) {
ConnectivityManager conn = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (conn == null) {
return false;
}
NetworkInfo info = conn.getActiveNetworkInfo();
if (info == null) {
return false;
}
String type = info.getTypeName();// MOBILE(GPRS);WIFI
if (type.equalsIgnoreCase(“WIFI”)) {
return false;
}
else {
return true;
}
}

获取手机卡的imis号
/**
* 获取手机卡的imis号码,山寨机可能获取不到
*
* @param context
* @return
*/
public static String getImsi(Context context) {
TelephonyManager telephonyMgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String myImsi = telephonyMgr.getSubscriberId();
return myImsi;
}

获取手机号码
/**
* 获取手机号码,(需要手机支持才行)
*
* @param context
* @return
*/
public static String getPhoneNumber(Context context) {
TelephonyManager telephonyMgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyMgr.getLine1Number();
}

更多相关文章

  1. android获取手机型号和系统版本号
  2. Android Juint环境配置
  3. Android多屏幕适配
  4. android环境配置(adb问题)
  5. android 屏幕
  6. android开发一 开发环境安装
  7. android studio 在windows 7环境下安装
  8. 我的Android学习笔记1(Android开发环境配置)

随机推荐

  1. 系出名门Android(4) - 活动(Activity),
  2. Android基础分析目录
  3. Android(安卓)UI 之自定义标题栏 + 沉浸
  4. android与j2me移植之clipRect
  5. android Handler 介绍
  6. Android(安卓)自动编译、打包生成apk文件
  7. Android中的Shape使用总结
  8. Android之查看外部依赖jar的源码_android
  9. android UI开发及常用控件
  10. Android(安卓)APK反编译详解(附图)