加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android的常用代码片段

发布时间:2020-12-14 23:19:11 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 px-dp转换 public?static?int?dip2px(Context?context,?float?dpValue)?{final?float?scale?=?context.getResources().getDisplayMetrics().density;r

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

px-dp转换

public?static?int?dip2px(Context?context,?float?dpValue)?{

		final?float?scale?=?context.getResources().getDisplayMetrics().density;
		return?(int)?(dpValue?*?scale?+?0.5f);
	}

	public?static?int?px2dip(Context?context,?float?pxValue)?{

		final?float?scale?=?context.getResources().getDisplayMetrics().density;
		return?(int)?(pxValue?/?scale?+?0.5f);
	}

px-sp转换

public?static?int?px2sp(Context?context,?float?pxValue)?{

		final?float?fontScale?=?context.getResources().getDisplayMetrics().scaledDensity;
		return?(int)?(pxValue?/?fontScale?+?0.5f);
	}

	public?static?int?sp2px(Context?context,?float?spValue)?{

		final?float?fontScale?=?context.getResources().getDisplayMetrics().scaledDensity;
		return?(int)?(spValue?*?fontScale?+?0.5f);
	}

手机号码正则

	public?static?final?String?REG_PHONE_CHINA?=?"^((13[0-9])|(15[^4,D])|(18[0,5-9]))d{8}$";

邮箱正则

	public?static?final?String?REG_EMAIL?=?"w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*";

时间

	//?把一个毫秒数转化成时间字符串

	//?格式为小时/分/秒/毫秒(如:24903600?–>?06小时55分03秒600毫秒)

	/**
	?*?@param?millis
	?*????????????要转化的毫秒数。
	?*?@param?isWhole
	?*????????????是否强制全部显示小时/分/秒/毫秒。
	?*?@param?isFormat
	?*????????????时间数字是否要格式化,如果true:少位数前面补全;如果false:少位数前面不补全。
	?*?@return?返回时间字符串:小时/分/秒/毫秒的格式(如:24903600?-->?06小时55分03秒600毫秒)。
	?*/
	public?static?String?millisToString(long?millis,?boolean?isWhole,?boolean?isFormat)?{

		String?h?=?"";
		String?m?=?"";
		String?s?=?"";
		String?mi?=?"";
		if?(isWhole)?{
			h?=?isFormat???"00小时"?:?"0小时";
			m?=?isFormat???"00分"?:?"0分";
			s?=?isFormat???"00秒"?:?"0秒";
			mi?=?isFormat???"00毫秒"?:?"0毫秒";
		}

		long?temp?=?millis;

		long?hper?=?60?*?60?*?1000;
		long?mper?=?60?*?1000;
		long?sper?=?1000;

		if?(temp?/?hper?>?0)?{
			if?(isFormat)?{
				h?=?temp?/?hper?<?10???"0"?+?temp?/?hper?:?temp?/?hper?+?"";
			}?else?{
				h?=?temp?/?hper?+?"";
			}
			h?+=?"小时";
		}
		temp?=?temp?%?hper;

		if?(temp?/?mper?>?0)?{
			if?(isFormat)?{
				m?=?temp?/?mper?<?10???"0"?+?temp?/?mper?:?temp?/?mper?+?"";
			}?else?{
				m?=?temp?/?mper?+?"";
			}
			m?+=?"分";
		}
		temp?=?temp?%?mper;

		if?(temp?/?sper?>?0)?{
			if?(isFormat)?{
				s?=?temp?/?sper?<?10???"0"?+?temp?/?sper?:?temp?/?sper?+?"";
			}?else?{
				s?=?temp?/?sper?+?"";
			}
			s?+=?"秒";
		}
		temp?=?temp?%?sper;
		mi?=?temp?+?"";

		if?(isFormat)?{
			if?(temp?<?100?&&?temp?>=?10)?{
				mi?=?"0"?+?temp;
			}
			if?(temp?<?10)?{
				mi?=?"00"?+?temp;
			}
		}

		mi?+=?"毫秒";
		return?h?+?m?+?s?+?mi;
	}

	//?格式为小时/分/秒/毫秒(如:24903600?–>?06小时55分03秒)。

	/**
	?*?
	?*?@param?millis
	?*????????????要转化的毫秒数。
	?*?@param?isWhole
	?*????????????是否强制全部显示小时/分/秒/毫秒。
	?*?@param?isFormat
	?*????????????时间数字是否要格式化,如果true:少位数前面补全;如果false:少位数前面不补全。
	?*?@return?返回时间字符串:小时/分/秒/毫秒的格式(如:24903600?-->?06小时55分03秒)。
	?*/
	public?static?String?millisToStringMiddle(long?millis,?boolean?isFormat)?{

		return?millisToStringMiddle(millis,?isWhole,?isFormat,?"小时",?"分钟",?"秒");
	}

	public?static?String?millisToStringMiddle(long?millis,?boolean?isFormat,?String?hUnit,?String?mUnit,?String?sUnit)?{

		String?h?=?"";
		String?m?=?"";
		String?s?=?"";
		if?(isWhole)?{
			h?=?isFormat???"00"?+?hUnit?:?"0"?+?hUnit;
			m?=?isFormat???"00"?+?mUnit?:?"0"?+?mUnit;
			s?=?isFormat???"00"?+?sUnit?:?"0"?+?sUnit;
		}

		long?temp?=?millis;

		long?hper?=?60?*?60?*?1000;
		long?mper?=?60?*?1000;
		long?sper?=?1000;

		if?(temp?/?hper?>?0)?{
			if?(isFormat)?{
				h?=?temp?/?hper?<?10???"0"?+?temp?/?hper?:?temp?/?hper?+?"";
			}?else?{
				h?=?temp?/?hper?+?"";
			}
			h?+=?hUnit;
		}
		temp?=?temp?%?hper;

		if?(temp?/?mper?>?0)?{
			if?(isFormat)?{
				m?=?temp?/?mper?<?10???"0"?+?temp?/?mper?:?temp?/?mper?+?"";
			}?else?{
				m?=?temp?/?mper?+?"";
			}
			m?+=?mUnit;
		}
		temp?=?temp?%?mper;

		if?(temp?/?sper?>?0)?{
			if?(isFormat)?{
				s?=?temp?/?sper?<?10???"0"?+?temp?/?sper?:?temp?/?sper?+?"";
			}?else?{
				s?=?temp?/?sper?+?"";
			}
			s?+=?sUnit;
		}
		return?h?+?m?+?s;
	}

	//?把一个毫秒数转化成时间字符串。格式为小时/分/秒/毫秒(如:24903600?–>?06小时55分钟)

	/**
	?*?
	?*?@param?millis
	?*????????????要转化的毫秒数。
	?*?@param?isWhole
	?*????????????是否强制全部显示小时/分。
	?*?@param?isFormat
	?*????????????时间数字是否要格式化,如果true:少位数前面补全;如果false:少位数前面不补全。
	?*?@return?返回时间字符串:小时/分/秒/毫秒的格式(如:24903600?-->?06小时55分钟)。
	?*/
	public?static?String?millisToStringShort(long?millis,?boolean?isFormat)?{

		String?h?=?"";
		String?m?=?"";
		if?(isWhole)?{
			h?=?isFormat???"00小时"?:?"0小时";
			m?=?isFormat???"00分钟"?:?"0分钟";
		}

		long?temp?=?millis;

		long?hper?=?60?*?60?*?1000;
		long?mper?=?60?*?1000;
		long?sper?=?1000;

		if?(temp?/?hper?>?0)?{
			if?(isFormat)?{
				h?=?temp?/?hper?<?10???"0"?+?temp?/?hper?:?temp?/?hper?+?"";
			}?else?{
				h?=?temp?/?hper?+?"";
			}
			h?+=?"小时";
		}
		temp?=?temp?%?hper;

		if?(temp?/?mper?>?0)?{
			if?(isFormat)?{
				m?=?temp?/?mper?<?10???"0"?+?temp?/?mper?:?temp?/?mper?+?"";
			}?else?{
				m?=?temp?/?mper?+?"";
			}
			m?+=?"分钟";
		}

		return?h?+?m;
	}

	//?把日期毫秒转化为字符串

	/**
	?*?@param?millis
	?*????????????要转化的日期毫秒数。
	?*?@param?pattern
	?*????????????要转化为的字符串格式(如:yyyy-MM-dd?HH:mm:ss)。
	?*?@return?返回日期字符串。
	?*/
	public?static?String?millisToStringDate(long?millis,?String?pattern)?{

		SimpleDateFormat?format?=?new?SimpleDateFormat(pattern,?Locale.getDefault());
		return?format.format(new?Date(millis));
	}

	//?把日期毫秒转化为字符串(文件名)

	/**
	?*?@param?millis
	?*????????????要转化的日期毫秒数。
	?*?@param?pattern
	?*????????????要转化为的字符串格式(如:yyyy-MM-dd?HH:mm:ss)。
	?*?@return?返回日期字符串(yyyy_MM_dd_HH_mm_ss)。
	?*/
	public?static?String?millisToStringFilename(long?millis,?String?pattern)?{

		String?dateStr?=?millisToStringDate(millis,?pattern);
		return?dateStr.replaceAll("[-?:]",?"_");
	}

	//?转换当前时间为易用时间格式

	//?1小时内用,多少分钟前;?超过1小时,显示时间而无日期;?如果是昨天,则显示昨天?超过昨天再显示日期;?超过1年再显示年。

	public?static?long?oneHourMillis?=?60?*?60?*?1000;?//?一小时的毫秒数
	public?static?long?oneDayMillis?=?24?*?oneHourMillis;?//?一天的毫秒数
	public?static?long?oneYearMillis?=?365?*?oneDayMillis;?//?一年的毫秒数

	public?static?String?millisToLifeString(long?millis)?{

		long?now?=?System.currentTimeMillis();
		long?todayStart?=?string2Millis(millisToStringDate(now,?"yyyy-MM-dd"),?"yyyy-MM-dd");

		//?一小时内
		if?(now?-?millis?<=?oneHourMillis?&&?now?-?millis?>?0l)?{
			String?m?=?millisToStringShort(now?-?millis,?false,?false);
			return?"".equals(m)???"1分钟内"?:?m?+?"前";
		}

		//?大于今天开始开始值,小于今天开始值加一天(即今天结束值)
		if?(millis?>=?todayStart?&&?millis?<=?oneDayMillis?+?todayStart)?{
			return?"今天?"?+?millisToStringDate(millis,?"HH:mm");
		}

		//?大于(今天开始值减一天,即昨天开始值)
		if?(millis?>?todayStart?-?oneDayMillis)?{
			return?"昨天?"?+?millisToStringDate(millis,?"HH:mm");
		}

		long?thisYearStart?=?string2Millis(millisToStringDate(now,?"yyyy"),?"yyyy");
		//?大于今天小于今年
		if?(millis?>?thisYearStart)?{
			return?millisToStringDate(millis,?"MM月dd日?HH:mm");
		}

		return?millisToStringDate(millis,?"yyyy年MM月dd日?HH:mm");
	}

	//?字符串解析成毫秒数

	public?static?long?string2Millis(String?str,?Locale.getDefault());
		long?millis?=?0;
		try?{
			millis?=?format.parse(str).getTime();
		}?catch?(ParseException?e)?{
			Log.e("TAG",?e.getMessage());
		}
		return?millis;
	}

收集设备信息,用于信息统计分析

	public?static?Properties?collectDeviceInfo(Context?context)?{

		Properties?mDeviceCrashInfo?=?new?Properties();
		try?{
			PackageManager?pm?=?context.getPackageManager();
			PackageInfo?pi?=?pm.getPackageInfo(context.getPackageName(),?PackageManager.GET_ACTIVITIES);
			if?(pi?!=?null)?{
				mDeviceCrashInfo.put(VERSION_NAME,?pi.versionName?==?null???"not?set"?:?pi.versionName);
				mDeviceCrashInfo.put(VERSION_CODE,?pi.versionCode);
			}
		}?catch?(PackageManager.NameNotFoundException?e)?{
			Log.e(TAG,?"Error?while?collect?package?info",?e);
		}
		Field[]?fields?=?Build.class.getDeclaredFields();
		for?(Field?field?:?fields)?{
			try?{
				field.setAccessible(true);
				mDeviceCrashInfo.put(field.getName(),?field.get(null));
			}?catch?(Exception?e)?{
				Log.e(TAG,?"Error?while?collect?crash?info",?e);
			}
		}

		return?mDeviceCrashInfo;
	}

	public?static?String?collectDeviceInfoStr(Context?context)?{

		Properties?prop?=?collectDeviceInfo(context);
		Set?deviceInfos?=?prop.keySet();
		StringBuilder?deviceInfoStr?=?new?StringBuilder("{n");
		for?(Iterator?iter?=?deviceInfos.iterator();?iter.hasNext();)?{
			Object?item?=?iter.next();
			deviceInfoStr.append("ttt"?+?item?+?":"?+?prop.get(item)?+?",?n");
		}
		deviceInfoStr.append("}");
		return?deviceInfoStr.toString();
	}

是否有SD卡

public?static?boolean?haveSDCard()?{
????????return?android.os.Environment.getExternalStorageState().equals(
????????????????android.os.Environment.MEDIA_MOUNTED);
????}

动态隐藏软键盘

	@?TargetApi(Build.VERSION_CODES.CUPCAKE)
	public?static?void?hideSoftInput(Activity?activity)?{

		View?view?=?activity.getWindow().peekDecorView();
		if?(view?!=?null)?{
			InputMethodManager?inputmanger?=?(InputMethodManager)?activity.getSystemService(Context.INPUT_METHOD_SERVICE);
			inputmanger.hideSoftInputFromWindow(view.getWindowToken(),?0);
		}
	}

	@?TargetApi(Build.VERSION_CODES.CUPCAKE)
	public?static?void?hideSoftInput(Context?context,?EditText?edit)?{

		edit.clearFocus();
		InputMethodManager?inputmanger?=?(InputMethodManager)?context.getSystemService(Context.INPUT_METHOD_SERVICE);
		inputmanger.hideSoftInputFromWindow(edit.getWindowToken(),?0);
	}

动态显示软键盘

	@?TargetApi(Build.VERSION_CODES.CUPCAKE)
	public?static?void?showSoftInput(Context?context,?EditText?edit)?{

		edit.setFocusable(true);
		edit.setFocusableInTouchMode(true);
		edit.requestFocus();
		InputMethodManager?inputManager?=?(InputMethodManager)?context.getSystemService(Context.INPUT_METHOD_SERVICE);
		inputManager.showSoftInput(edit,?0);
	}

动态显示或者是隐藏软键盘

	@?TargetApi(Build.VERSION_CODES.CUPCAKE)
	public?static?void?toggleSoftInput(Context?context,?EditText?edit)?{

		edit.setFocusable(true);
		edit.setFocusableInTouchMode(true);
		edit.requestFocus();
		InputMethodManager?inputManager?=?(InputMethodManager)?context.getSystemService(Context.INPUT_METHOD_SERVICE);
		inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,?0);
	}

主动回到Home,后台运行

	public?static?void?goHome(Context?context)?{

		Intent?mHomeIntent?=?new?Intent(Intent.ACTION_MAIN);
		mHomeIntent.addCategory(Intent.CATEGORY_HOME);
		mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK?|?Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
		context.startActivity(mHomeIntent);
	}

获取状态栏高度

	//?注意,要在onWindowFocusChanged中调用,在onCreate中获取高度为0
	@?TargetApi(Build.VERSION_CODES.CUPCAKE)
	public?static?int?getStatusBarHeight(Activity?activity)?{

		Rect?frame?=?new?Rect();
		activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
		return?frame.top;
	}

获取状态栏高度+标题栏(ActionBar)高度

	//?(注意,如果没有ActionBar,那么获取的高度将和上面的是一样的,只有状态栏的高度)
	public?static?int?getTopBarHeight(Activity?activity)?{

		return?activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
	}

获取MCC+MNC代码 (SIM卡运营商国家代码和运营商网络代码)

	//?仅当用户已在网络注册时有效,?CDMA?可能会无效(中国移动:46000?46002,?中国联通:46001,中国电信:46003)
	public?static?String?getNetworkOperator(Context?context)?{

		TelephonyManager?telephonyManager?=?(TelephonyManager)?context.getSystemService(Context.TELEPHONY_SERVICE);
		return?telephonyManager.getNetworkOperator();
	}

返回移动网络运营商的名字

//?(例:中国联通、中国移动、中国电信)?仅当用户已在网络注册时有效,?CDMA?可能会无效)

	public?static?String?getNetworkOperatorName(Context?context)?{

		TelephonyManager?telephonyManager?=?(TelephonyManager)?context.getSystemService(Context.TELEPHONY_SERVICE);
		return?telephonyManager.getNetworkOperatorName();
	}

返回移动终端类型

//?PHONE_TYPE_NONE?:0?手机制式未知
	//?PHONE_TYPE_GSM?:1?手机制式为GSM,移动和联通
	//?PHONE_TYPE_CDMA?:2?手机制式为CDMA,电信
	//?PHONE_TYPE_SIP:3
	public?static?int?getPhoneType(Context?context)?{

		TelephonyManager?telephonyManager?=?(TelephonyManager)?context.getSystemService(Context.TELEPHONY_SERVICE);
		return?telephonyManager.getPhoneType();
	}

判断手机连接的网络类型(2G,3G,4G)

//?联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EGDE,电信的2G为CDMA,电信的3G为EVDO

	public?class?Constants?{

		/**
		?*?Unknown?network?class
		?*/
		public?static?final?int?NETWORK_CLASS_UNKNOWN?=?0;

		/**
		?*?wifi?net?work
		?*/
		public?static?final?int?NETWORK_WIFI?=?1;

		/**
		?*?"2G"?networks
		?*/
		public?static?final?int?NETWORK_CLASS_2_G?=?2;

		/**
		?*?"3G"?networks
		?*/
		public?static?final?int?NETWORK_CLASS_3_G?=?3;

		/**
		?*?"4G"?networks
		?*/
		public?static?final?int?NETWORK_CLASS_4_G?=?4;

	}

	public?static?int?getNetWorkClass(Context?context)?{

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

		switch?(telephonyManager.getNetworkType())?{
			case?TelephonyManager.NETWORK_TYPE_GPRS:
			case?TelephonyManager.NETWORK_TYPE_EDGE:
			case?TelephonyManager.NETWORK_TYPE_CDMA:
			case?TelephonyManager.NETWORK_TYPE_1xRTT:
			case?TelephonyManager.NETWORK_TYPE_IDEN:
				return?Constants.NETWORK_CLASS_2_G;

			case?TelephonyManager.NETWORK_TYPE_UMTS:
			case?TelephonyManager.NETWORK_TYPE_EVDO_0:
			case?TelephonyManager.NETWORK_TYPE_EVDO_A:
			case?TelephonyManager.NETWORK_TYPE_HSDPA:
			case?TelephonyManager.NETWORK_TYPE_HSUPA:
			case?TelephonyManager.NETWORK_TYPE_HSPA:
			case?TelephonyManager.NETWORK_TYPE_EVDO_B:
			case?TelephonyManager.NETWORK_TYPE_EHRPD:
			case?TelephonyManager.NETWORK_TYPE_HSPAP:
				return?Constants.NETWORK_CLASS_3_G;

			case?TelephonyManager.NETWORK_TYPE_LTE:
				return?Constants.NETWORK_CLASS_4_G;

			default:
				return?Constants.NETWORK_CLASS_UNKNOWN;
		}
	}

判断当前手机的网络类型(WIFI还是2,3,4G)

//?需要用到上面的方法

	public?static?int?getNetWorkStatus(Context?context)?{

		int?netWorkType?=?Constants.NETWORK_CLASS_UNKNOWN;

		ConnectivityManager?connectivityManager?=?(ConnectivityManager)?context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo?networkInfo?=?connectivityManager.getActiveNetworkInfo();

		if?(networkInfo?!=?null?&&?networkInfo.isConnected())?{
			int?type?=?networkInfo.getType();

			if?(type?==?ConnectivityManager.TYPE_WIFI)?{
				netWorkType?=?Constants.NETWORK_WIFI;
			}?else?if?(type?==?ConnectivityManager.TYPE_MOBILE)?{
				netWorkType?=?getNetWorkClass(context);
			}
		}

		return?netWorkType;
	}

拨打电话

public?static?void?call(Context?context,?String?phoneNumber)?{

		context.startActivity(new?Intent(Intent.ACTION_CALL,?Uri.parse("tel:"?+?phoneNumber)));
	}

跳转至拨号界面

public?static?void?callDial(Context?context,?String?phoneNumber)?{

		context.startActivity(new?Intent(Intent.ACTION_DIAL,?Uri.parse("tel:"?+?phoneNumber)));
	}

发送短信

public?static?void?sendSms(Context?context,?String?phoneNumber,?String?content)?{

	Uri?uri?=?Uri.parse("smsto:"?+?(TextUtils.isEmpty(phoneNumber)???""?:?phoneNumber));
	Intent?intent?=?new?Intent(Intent.ACTION_SENDTO,?uri);
	intent.putExtra("sms_body",?TextUtils.isEmpty(content)???""?:?content);
	context.startActivity(intent);
}

唤醒屏幕并解锁

public?static?void?wakeUpAndUnlock(Context?context)?{

		KeyguardManager?km?=?(KeyguardManager)?context.getSystemService(Context.KEYGUARD_SERVICE);
		KeyguardManager.KeyguardLock?kl?=?km.newKeyguardLock("unLock");
		//?解锁
		kl.disableKeyguard();
		//?获取电源管理器对象
		PowerManager?pm?=?(PowerManager)?context.getSystemService(Context.POWER_SERVICE);
		//?获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
		PowerManager.WakeLock?wl?=?pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP?|?PowerManager.SCREEN_DIM_WAKE_LOCK,?"bright");
		//?点亮屏幕
		wl.acquire();
		//?释放
		wl.release();
	}
	
	//需要添加权限
<uses-permission?android:name="android.permission.WAKE_LOCK"?/>
<uses-permission?android:name="android.permission.DISABLE_KEYGUARD"?/>

判断当前App处于前台还是后台状态

public?static?boolean?isApplicationBackground(final?Context?context)?{

		ActivityManager?am?=?(ActivityManager)?context.getSystemService(Context.ACTIVITY_SERVICE);
		@?SuppressWarnings("deprecation")
		List<ActivityManager.RunningTaskInfo>?tasks?=?am.getRunningTasks(1);
		if?(!tasks.isEmpty())?{
			ComponentName?topActivity?=?tasks.get(0).topActivity;
			if?(!topActivity.getPackageName().equals(context.getPackageName()))?{
				return?true;
			}
		}
		return?false;
	}
	
//需要添加权限
<uses-permission?????
????android:name="android.permission.GET_TASKS"?/>

判断当前手机是否处于锁屏(睡眠)状态

public?static?boolean?isSleeping(Context?context)?{

		KeyguardManager?kgMgr?=?(KeyguardManager)?context.getSystemService(Context.KEYGUARD_SERVICE);
		boolean?isSleeping?=?kgMgr.inKeyguardRestrictedInputMode();
		return?isSleeping;
	}

判断当前是否有网络连接

public?static?boolean?isOnline(Context?context)?{

		ConnectivityManager?manager?=?(ConnectivityManager)?context.getSystemService(Activity.CONNECTIVITY_SERVICE);
		NetworkInfo?info?=?manager.getActiveNetworkInfo();
		if?(info?!=?null?&&?info.isConnected())?{
			return?true;
		}
		return?false;
	}

判断当前是否是WIFI连接状态

public?static?boolean?isWifiConnected(Context?context)?{

		ConnectivityManager?connectivityManager?=?(ConnectivityManager)?context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo?wifiNetworkInfo?=?connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
		if?(wifiNetworkInfo.isConnected())?{
			return?true;
		}
		return?false;
	}

安装APK

public?static?void?installApk(Context?context,?File?file)?{

		Intent?intent?=?new?Intent();
		intent.setAction("android.intent.action.VIEW");
		intent.addCategory("android.intent.category.DEFAULT");
		intent.setType("application/vnd.android.package-archive");
		intent.setDataAndType(Uri.fromFile(file),?"application/vnd.android.package-archive");
		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		context.startActivity(intent);
	}

判断当前设备是否为手机

public?static?boolean?isPhone(Context?context)?{

		TelephonyManager?telephony?=?(TelephonyManager)?context.getSystemService(Context.TELEPHONY_SERVICE);
		if?(telephony.getPhoneType()?==?TelephonyManager.PHONE_TYPE_NONE)?{
			return?false;
		}?else?{
			return?true;
		}
	}

获取当前设备宽高,单位px

@?SuppressWarnings("deprecation")
	public?static?int?getDeviceWidth(Context?context)?{

		WindowManager?manager?=?(WindowManager)?context.getSystemService(Context.WINDOW_SERVICE);
		return?manager.getDefaultDisplay().getWidth();
	}

	@?SuppressWarnings("deprecation")
	public?static?int?getDeviceHeight(Context?context)?{

		WindowManager?manager?=?(WindowManager)?context.getSystemService(Context.WINDOW_SERVICE);
		return?manager.getDefaultDisplay().getHeight();
	}

获取当前设备的IMEI,需要与上面的isPhone()一起使用

@?TargetApi(Build.VERSION_CODES.CUPCAKE)
	public?static?String?getDeviceIMEI(Context?context)?{

		String?deviceId;
		if?(isPhone(context))?{
			TelephonyManager?telephony?=?(TelephonyManager)?context.getSystemService(Context.TELEPHONY_SERVICE);
			deviceId?=?telephony.getDeviceId();
		}?else?{
			deviceId?=?Settings.Secure.getString(context.getContentResolver(),?Settings.Secure.ANDROID_ID);

		}
		return?deviceId;
	}

获取当前设备的MAC地址

public?static?String?getMacAddress(Context?context)?{

		String?macAddress;
		WifiManager?wifi?=?(WifiManager)?context.getSystemService(Context.WIFI_SERVICE);
		WifiInfo?info?=?wifi.getConnectionInfo();
		macAddress?=?info.getMacAddress();
		if?(null?==?macAddress)?{
			return?"";
		}
		macAddress?=?macAddress.replace(":",?"");
		return?macAddress;
	}

获取当前程序的版本号

	public?static?String?getAppVersion(Context?context)?{

		String?version?=?"0";
		try?{
			version?=?context.getPackageManager().getPackageInfo(context.getPackageName(),?0).versionName;
		}?catch?(PackageManager.NameNotFoundException?e)?{
			e.printStackTrace();
		}
		return?version;
	}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读