记录一下在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(安卓)控件之DatePicker,TimePicker,Calender
  2. Android打开通讯录并获取数据
  3. 2011.09.26(3)——— android sample之Notepad(带下划线的TestView
  4. 【Android】设备标识
  5. Android获取SD卡上图片和视频文件及其缩略图
  6. 使用valgrind检测Android(安卓)native程序的内存
  7. 基于Android(安卓)studio3.6的JNI教程之ncnn之目标检测ssd
  8. Android多屏幕适配
  9. Android(安卓)adb 模拟滑动 按键 点击事件

随机推荐

  1. Android中的5大布局和网格布局
  2. Android(安卓)Studio简单设置
  3. LoganSquare——快速解析和序列化JSON对
  4. Android Gesture Detector
  5. android的ProgressBar设置为水平样式
  6. 【Android UI设计与开发】之具体解释Acti
  7. Android 动画中共用的属性!
  8. 安装android的sdk
  9. Android 控件 ListView
  10. Android(安卓)5.0+ 高级动画开发系列 矢