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

Android常用方法——获取系统信息

2016-06-24 09:31 453 查看

记录一下在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();

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