Android开发常用代码片段(二)
前一篇:Android开发常用代码片段(一)
后一篇:Android开发常用代码片段(三)
判断当前是否有网络连接
/**
* 拨打电话
* @param context 上下文
* @param phoneNumber 电话号码
*/
/**
* 判断当前是否有网络连接
* @param context 上下文
* @return 判定结果
*/
public static boolean isOnline(Context context) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Activity.CONNECTIVITY_SERVICE);
NetworkInfo info = manager.getActiveNetworkInfo();
return info != null && info.isConnected();
}
【注】该功能需要以下权限:
- 获取网络状态:android.permission.ACCESS_NETWORK_STATE
判断当前是否是WIFI连接状态
/**
* 判断当前是否是WIFI连接状态
* @param context 上下文
* @return 判定结果
*/
public static boolean isWifiConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return wifiNetworkInfo.isConnected();
}
【注】该功能需要以下权限:
- 获取网络状态:android.permission.ACCESS_NETWORK_STATE
安装APK
/**
* 安装APK
* @param context 上下文
* @param file 安装包
*/
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);
}
判断当前设备是否为手机
/**
* 判断当前设备是否为手机
* @param context 上下文
* @return 判定结果
*/
public static boolean isPhone(Context context) {
TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
return telephony.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE;
}
获取当前设备的IMEI
/**
* 获取当前设备的IMEI
*
* @param context 上下文
* @return IMEI
*/
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;
}
【注】该功能需要以下权限:
- 获取电话状态:android.permission.READ_PHONE_STATE