`

android sd卡状态、路径、可用空间,内存

 
阅读更多

转载:android sd卡状态、路径、可用空间,内存

 

sd卡状态、路径、可用空间byte,参考http://ai4work.blog.163.com/blog/static/189873306201182310304586/

内存,参考http://blog.csdn.net/hudashi/article/details/7050897

 

manifest权限:

<!-- 在SDCard中创建与删除文件权限 -->
	<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
	<!-- 往SDCard写入数据权限 -->
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

package com.test;

import android.app.Activity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.os.Environment;
import android.os.StatFs;
import android.util.Log;

public class Test2 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		int i = 0;
		while (i < 1) {
			try {
				System.out.println("1: " + checkSDCard());
				String path = getExternalStoragePath();
				System.out.println("2: " + path);
				if (path != null) {
					System.out.println("3: " + (getAvailableStore(path)>>20) + "MB");
				}
				displayBriefMemory();
			} catch (Exception e) {
				e.printStackTrace();
			}
			i++;
		}

	}

	//内存相关
	private void displayBriefMemory() {    
        final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);    
        ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();   
        activityManager.getMemoryInfo(info);    
        Log.i("System.out", "系统剩余内存:"+(info.availMem >> 20)+"MB");   
        Log.i("System.out", "系统是否处于低内存运行:"+info.lowMemory);
        Log.i("System.out", "当系统剩余内存低于" + (info.threshold >> 20) + "MB时就看成低内存运行");
    } 
	
	// 检查SD卡状态
	private boolean checkSDCard() {
		if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_MOUNTED)) {
			return true;
		}
		return false;
	}

	// 获取SD卡路径
	public static String getExternalStoragePath() {
		// 获取SdCard状态
		String state = android.os.Environment.getExternalStorageState();

		// 判断SdCard是否存在并且是可用的

		if (android.os.Environment.MEDIA_MOUNTED.equals(state)) {

			if (android.os.Environment.getExternalStorageDirectory().canWrite()) {

				return android.os.Environment.getExternalStorageDirectory()
						.getPath();

			}

		}

		return null;

	}

	/**
	 *   * 获取存储卡的剩余容量,单位为字节
	 * 
	 *   * @param filePath
	 * 
	 *   * @return availableSpare
	 * 
	 *   
	 */

	public static long getAvailableStore(String filePath) {

		// 取得sdcard文件路径

		StatFs statFs = new StatFs(filePath);

		// 获取block的SIZE

		long blocSize = statFs.getBlockSize();

		// 获取BLOCK数量

		// long totalBlocks = statFs.getBlockCount();

		// 可使用的Block的数量

		long availaBlock = statFs.getAvailableBlocks();

		// long total = totalBlocks * blocSize;

		long availableSpare = availaBlock * blocSize;

		return availableSpare;

	}

}

 

分享到:
评论

相关推荐

    安卓SD卡文件管理更新信息相关-android读取外置和内置存储卡路径和大小.rar

    android 读取外置和内置存储卡路径和大小.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    Android 关于设备状态和操作的API

    获取可用内存大小 获取系统版本 安装客户端 获取FilesDir目录 获取SD卡路径 获取缓存目录 获取APP版本号 获取当前网络类型 是否是wifi连接状态 获取当前网络状态信息 获取wifi热点 获取屏幕宽度(分辨率PX) 获取屏幕...

    Android编程获取SD卡路径及剩余容量的方法

    本文实例讲述了Android编程获取SD卡路径及剩余容量的方法。分享给大家供大家参考,具体如下: public static String getExternalStoragePath() { // 获取SdCard状态 String state = android.os.Environment....

    Android 获取SDCard卡容量.rar

    Android获取手机内置存储SDCard的使用情况,包括SD卡容量、已使用大小,剩余容量大小等信息,将获取的过程写入按钮事件中,单击按钮后,获取SD卡容量信息。  if(Environment.getExternalStorageState().equals...

    安卓SD卡文件管理更新信息相关-Android7.0自定义文件管理器获取文件夹路径.rar

    Android7.0 自定义文件管理器 获取文件夹路径.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    android 获取手机内存及 内存可用空间的方法

    实例如下: //1.获取内存可用大小,内存路径 String path=...获取sd卡可用大小,sd卡路径 String sdPath=Environment.getExternalStorageDirectory().getAbsolutePath(); String sdAvaliSpace= Formatter.

    安卓SD卡文件管理更新信息相关-文件路径选择器.rar

    文件路径选择器.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    Android文件存储:内部存储,外部存储及其路径

    Android系统数据存储分为内部存储和外部存储,内部存储是手机系统自带的存储,一般空间都不大,外部存储一般是SD卡的存储,空间一般都比较大。一般我们会把存储内容放在外部存储空间里。在使用过程需要注意事项: 先...

    安卓全局盘扫描指定文件(内存,SD卡)

    代码可用,不可用,请吐槽!...1.得到设备的内,外存储路径 2.一个变量指定需要扫描的文件名字 3.在得到的路径里面,递归扫描文件,找到了就不扫描了,没有找到就直到扫描完 4.全程LOG打印 5.代码简单可用

    Android 6.0上sdcard和U盘路径获取和区分方法

    Android6.0上会根据卡的种类和卡的挂载状态来动态生成挂载路径,所以之前写固定路径的办法不可用,最后通过网上查找和分析android源码,通过反射获取到路径,并且进行了正确区分,代码如下: /** * 6.0获取外置...

    新版Android开发教程.rar

    MicroSD 卡 ; QWERTY 全键盘; 310 万像素摄像头。 流媒体 支持视频格式: H.264 、流媒体、 3GPP 、 MPEG4 和 Codec 3GP ;支持音频格式: MP3 、 AAC 、 AAC+ 、 W MA 、 MPEG4 、 WAV 、 MIDI 、 REAL 、 AUDIO ...

    Android获取内置sdcard跟外置sdcard路径

    Android获取内置sdcard跟外置sdcard路径.(测试过两个手机,亲测可用) 1.先得到外置sdcard路径,这个接口是系统提供的标准接口. 2.得到上一级文件夹目录 3.得到该目录的所有文件夹,根据判断得到内置sdcard跟外置sdcard...

    安卓读取SD卡图片Demo

    就是安卓读取SD卡上的图片,测试可用的。

    Android开发资料合集--续

    90、获取存储卡和手机内部存储空间 130 91、获得当前应用的UID 131 92、图片压缩类 132 93、一次性退出所有Activity 136 95、Java替换字符串,不区分大小写 138 96、Java获得随机数 139 97、MD5加密 141 98、HTTP...

    android离线语音识别

    data需要放到sd卡中,然后再程序中配置路径,2910.dic和2910.lm可用

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--android 获取sd卡状态 |--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 |--android 重启 |--android中anim文件特效 |--app信息menifest获取(如版本号) |--AsyncQueryHandler...

    Android Sqlite 应用

    android sqlite 使用范例,参看网上资料,自己写个实例测试了一下,可以存储db文件到指定sd卡的目录下,亦可用系统默认路径创建数据文件。如果在sd卡上,可以用sqlite expert 工具打开db文件,然后用sqlite管理工具...

    Android开发人员不得不收集的代码

    getAndroidID : 获取设备 AndroidID getMacAddress : 获取设备 MAC 地址 getManufacturer : 获取设备厂商 getModel : 获取设备型号 shutdown : 关机 reboot : 重启 reboot2Recovery : 重启到 recovery reboot2...

    java_App应用文件管理工具标准代码工具类_android

    获取SD卡剩余空间的大小(SD卡剩余空间的大小(单位:byte)) 获取SDCard的AbsolutePath路径 获取SdCard的Path路径 获取SDCard卡的剩余容量(单位byte) 获取系统AbsolutePath存储路径 获取系统Path存储路径 获取可用...

Global site tag (gtag.js) - Google Analytics