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