Android开发常用代码片段(二)
16lz
2021-01-23
Android开发常用代码片段(二)
前一篇:Android开发常用代码片段(一)
后一篇:Android开发常用代码片段(三)
文章目录
- Android开发常用代码片段(二)
- 判断当前是否有网络连接
- 判断当前是否是WIFI连接状态
- 安装APK
- 判断当前设备是否为手机
- 获取当前设备的IMEI
判断当前是否有网络连接
/** * 拨打电话 * @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
更多相关文章
- android 网络实时监听网络状态变化 及 网络类型判断
- Android里面各种控件的状态选择器
- Android改变wifi状态必须要的权限
- 三位一体!Android Ice Cream Sandwich可能创造全新设备使用的里程
- Android隐藏状态栏和标题栏,相当于全屏效果
- 关于android的广播机制里面的网络状态监听 (Fragment实现)
- android中去掉标题栏和状态栏
- Android 5.1源代码与Nexus设备工厂镜像下载
- android 判断网络状态