android 获得一些设备信息的静态函数

1.Brand,IMEI,DeviceOS,DeviceFactoryTime

	public static String getDeviceBrand(Context context) {
		String brand = "";
		brand = android.os.Build.BRAND;
		Editor editor = SharePreferencesUtils.getAppInfoSharedPreferenceEditor(context);
		editor.putString(Constants.KEY_SHAREPERFERENCES_BRAND, brand);
		editor.commit();
		return brand;
	}

	public static String getDeviceImei(Context context) {
		String imei = "";
		imei = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
		Editor editor = SharePreferencesUtils.getAppInfoSharedPreferenceEditor(context);
		editor.putString(Constants.KEY_SHAREPERFERENCES_IMEI, imei);
		editor.commit();
		return imei;
	}

	public static String getDeviceOS(Context context) {
		String OS = gOSName + " " + android.os.Build.VERSION.RELEASE;
		Editor editor = SharePreferencesUtils.getAppInfoSharedPreferenceEditor(context);
		editor.putString(Constants.KEY_SHAREPERFERENCES_OS, OS);
		editor.commit();
		return OS;
	}

	public static String getDeviceFactoryTime(Context context) {
		String factoryTime = Long.toString(android.os.Build.TIME);

		Editor editor = SharePreferencesUtils.getAppInfoSharedPreferenceEditor(context);
		editor.putString(Constants.KEY_SHAREPERFERENCES_FACTORY_TIME, factoryTime);
		editor.commit();
		return factoryTime;
	}

 2.可用内存,已用内存,剩余内存

	public static String getAvailableInternalMemorySize(Context context) {
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();
		return Formatter.formatFileSize(context, availableBlocks * blockSize);
	}

	public static String getTotalInternalMemorySize(Context context) {
		File path = Environment.getDataDirectory();
		StatFs stat = new StatFs(path.getPath());
		long blockSize = stat.getBlockSize();
		long totalBlocks = stat.getBlockCount();
		return Formatter.formatFileSize(context, totalBlocks * blockSize);
	}

	public static boolean externalMemoryAvailable() {
		return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
	}

	public static String getAvailableExternalMemorySize(Context context) {
		if (externalMemoryAvailable()) {
			File path = Environment.getExternalStorageDirectory();
			StatFs stat = new StatFs(path.getPath());
			long blockSize = stat.getBlockSize();
			long availableBlocks = stat.getAvailableBlocks();
			return Formatter.formatFileSize(context, availableBlocks * blockSize);
		} else {
			return "";
		}
	}

	public static String getTotalExternalMemorySize(Context context) {
		if (externalMemoryAvailable()) {
			File path = Environment.getExternalStorageDirectory();
			StatFs stat = new StatFs(path.getPath());
			long blockSize = stat.getBlockSize();
			long totalBlocks = stat.getBlockCount();
			return Formatter.formatFileSize(context, totalBlocks * blockSize);
		} else {
			return "";
		}
	}

	public static String getUsedExternalMemorySize(Context context) {
		if (externalMemoryAvailable()) {
			File path = Environment.getExternalStorageDirectory();
			StatFs stat = new StatFs(path.getPath());
			long blockSize = stat.getBlockSize();
			long totalBlocks = stat.getBlockCount();
			long availableBlocks = stat.getAvailableBlocks();
			return Formatter.formatFileSize(context, (totalBlocks - availableBlocks) * blockSize);
		} else {
			return "";
		}
	}
原文地址:https://www.cnblogs.com/zj2012zy/p/3788468.html