Android工具类----SystemUtils

前言

在开发中,经常会遇到一些获取系统状态的需求。往往Android都会给出对应的API。但是我们往往会记不住具体的代码(就像我一样)。所及还是收集一个工具类比较好一点。不罗嗦太多了,下面直接看代码、看注释。

public class SystemUtil {

    /**
     * 检查WIFI是否连接
     */
    public static boolean isWifiConnected(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
            return true;
        }
        return false;
    }

    /**
     * 检查手机网络(4G/3G/2G)是否连接
     */
    public static boolean isMobileNetworkConnected(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
            return true;
        }
        return false;
    }

    /**
     * 检查是否有可用网络
     */
    public static boolean isNetworkConnected(Context context) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        return connectivityManager.getActiveNetworkInfo() != null;
    }


    /**
     * 获取网络类型  wifi或者移动网络
     *
     * @return 0无网络  1 wifi  2移动网络
     */
    public static int getNetworkType(Context context) {

        if (!isNetworkConnected(context)) {//先判断是否有网络
            return 0;
        }

        if (isWifiConnected(context)) {
            return 1;
        }

        if (isMobileNetworkConnected(context)) {
            return 2;
        }
        return 0;
    }


    /**
     * 保存文字到剪贴板
     *
     * @param context
     * @param text
     */
    public static void copyToClipBoard(Context context, String text) {
        ClipData clipData = ClipData.newPlainText("url", text);
        ClipboardManager manager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
        manager.setPrimaryClip(clipData);
    }


}

未完待续。。。。

欢迎大家提出需求,共同学习、共同积累。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,666评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 我向前一步 是因为果实的芳香 沁入我的心脏 获得 蠢蠢欲动 勾勒前进的方向 我后退一步 是因为有些果实 并不属于 ...
    何事乱翻书阅读 266评论 2 7
  • 如有论者指出,正是无数小人物以自己的生命和觉悟,书写了人类历史上最伟大的传说,而这个传说的名字就叫“自由”。只...
    云丹风卿阅读 231评论 0 1