Android开发常用代码片段(二)

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();
}

【注】该功能需要以下权限:

  1. 获取网络状态: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();
}

【注】该功能需要以下权限:

  1. 获取网络状态: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;
}

【注】该功能需要以下权限:

  1. 获取电话状态:android.permission.READ_PHONE_STATE

你可能感兴趣的:(Android)