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

Android系统信息工具类

发布时间:2020-12-15 03:17:58 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public class SystemInfoUtils { public static int getRunningAppProcesses(Context context) {// 得到当前系统内运行的app进程数量 ActivityManager

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

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

    推荐文章
      热点阅读