Android系統信息工具類
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; } } </pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!