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

Android系统信息工具类

发布时间:2020-05-24 22:14:00 所属栏目:Java 来源:互联网
导读:Android系统信息工具类

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

    public class SystemInfoUtils {  
        public static int getRunningAppProcesses(Context context) {// 得到当前系统内运行的app进程数量  
            ActivityManager am = (ActivityManager) context  
                    .getSystemService(Context.ACTIVITY_SERVICE);  
            List<RunningAppProcessInfo> appInfos = am.getRunningAppProcesses();  
            return appInfos.size();  
        }  
      
        public static List<HashMap<String,Object>> getAppInfo(Context context) {// 得到非系统应用的app信息  
            List<HashMap<String,Object>> appInfos = new ArrayList<HashMap<String,Object>>();  
            HashMap<String,Object> map = null;  
            List<PackageInfo> packages = context.getPackageManager()  
                    .getInstalledPackages(0);// 参数传入0表示过滤权限,因为可能有的手机不让你获取应用信息  
            for (PackageInfo temp : packages) {  
                if ((temp.applicationInfo.flags & temp.applicationInfo.FLAG_SYSTEM) == 0) {  
                    // 非系统应用  
                    // 得到应用的名称  
                    String appName = temp.applicationInfo.loadLabel(  
                            context.getPackageManager()).toString();  
                    // 得到应用图标  
                    Drawable appIcon = temp.applicationInfo.loadIcon(context  
                            .getPackageManager());  
                    // 得到应用最后一次更新的时间  
                    long lastUpdateTime = temp.lastUpdateTime;  
                    // 得到应用的包名  
                    String packageName = temp.packageName;  
                    // 得到应用的版本信息  
                    String versionName = temp.versionName;  
                    map = new HashMap<String,Object>();  
                    map.put("appName",appName);  
                    map.put("appIcon",appIcon);  
                    map.put("lastUpdateTime",lastUpdateTime);  
                    map.put("packageName",packageName);  
                    map.put("versionName",versionName);  
                    appInfos.add(map);// 把应用信息加入集合中返回  
                    map = null;  
                } else {  
                    // 系统应用  
                }  
            }  
            return appInfos;  
        }  
      
        // 获取sd卡容量  
        public static String getSdSize(Context context) {  
            String totalStr = null,availStr = null;  
            if (Environment.getExternalStorageState().equals(  
                    Environment.MEDIA_MOUNTED)) {// 判断是否检测到sd卡  
                File path = Environment.getExternalStorageDirectory();  
                StatFs stat = new StatFs(path.getPath());  
      
                long blockSize = stat.getBlockSizeLong();  
                long availableBlocks = stat.getAvailableBlocksLong();  
                long totalBlocks = stat.getBlockCountLong();  
      
                long totalSize = blockSize * totalBlocks;  
                long availSize = blockSize * availableBlocks;  
      
                totalStr = Formatter.formatFileSize(context,totalSize);  
                availStr = Formatter.formatFileSize(context,availSize);  
      
            } else  
                Toast.makeText(context,"没有检测到SD卡,请检查是否正确插入",Toast.LENGTH_SHORT)  
                        .show();  
            return "SD卡总容量为:" + totalStr + "可用为:" + availStr;  
        }  
      
        // 获取手机内存  
        public static String getRomSave(Context context) {  
            String totalStr = null,availStr = null;  
            File path = Environment.getDataDirectory();  
            StatFs stat = new StatFs(path.getPath());// 得到手机内存的路径  
      
            long blockSize = stat.getBlockSizeLong();  
            long availableBlocks = stat.getAvailableBlocksLong();  
            long totalBlocks = stat.getBlockCountLong();  
      
            long totalSize = blockSize * totalBlocks;  
            long availSize = blockSize * availableBlocks;  
      
            totalStr = Formatter.formatFileSize(context,totalSize);  
            availStr = Formatter.formatFileSize(context,availSize);  
              
            return "手机内存总大小为:" + totalStr + "可用空间为:" + availStr;  
        }  
    }  

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

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

    推荐文章
      热点阅读