Android获取机身存储、内置SD卡与外置TF卡路径

获取机身存储路径(可以通过openFileInput,openFileOutput进行操作)

String path=Environment.getDataDirectory().getAbsolutePath();返回/data

获取内置SD卡路径:

public String getStorageDir(){
    	 if(!(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))){
    		 return "";
    	 }
    	 File dirFile=Environment.getExternalStorageDirectory();
    	 Log.d(TAG, dirFile.getAbsolutePath());
    	 return dirFile.getAbsolutePath();
    }

返回/storage/emulated/o

获取外置TF卡路径:

思路:通过linux中的mount命令。

public String getTFDir(){
		String path="";
		try {
			InputStream ins=Runtime.getRuntime().exec("mount").getInputStream();
			BufferedReader reader=new BufferedReader(new InputStreamReader(ins));
			String line="";
			while((line=reader.readLine())!=null){
				if(line.contains("sdcard")){
					if(line.contains("vfat")||line.contains("fuse")){
						String split[]=line.split(" ");
						path=split[1];
						Log.d(TAG,path);

					}
				}
			}
			reader.close();
			ins.close();

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{

		}
		return path;
	}

返回/storage/sdcard1这就是我们想要的路径。

获取可用空间

public static long getAvailableSize(String path){
    try{
        File base = new File(path);
    StatFs stat = new StatFs(base.getPath());
    long nAvailableCount = stat.getBlockSize() * ((long) stat.getAvailableBlocks());
    return nAvailableCount;
    }catch(Exception e){
    e.printStackTrace();
    }
    return 0;
    }

返回bytes单位的大小。

时间: 2024-10-13 19:59:22

Android获取机身存储、内置SD卡与外置TF卡路径的相关文章

android 不打开Shared sdcard功能,内置SD卡中预制资源,删除资源,恢复出厂设置恢复

当有内置SD卡,且不打开shared sdcard功能的情况下,需要在SD卡中预置一些客户资源. 这些资源end user可见,也可删除.在资源被user删除之后,执行恢复出厂设置功能,需要恢复这些预置资源. 1. 预置同样的资源到user不可见的分区,如/system下. 在alps\vendor\mediatek\project_name\artifacts\out\target\product\your_project_name\system\ 下创建目录, 将预制资源放于此目录下,重新b

关于手机的内置SD卡与外置SD卡

对于安卓2.3的系统来说,Environment.getExternalStorageDirectory()获取的目录是内置SD卡还是外置SD卡是无法保证的, 和手机厂商的修改有关,只能通过Environment.isExternalStorageRemovable()来判断,如果返回true就是外置的,因为外置的才能卸载.(但是我目前只遇到过安卓4.4系统才有内置SD卡,所以Environment.getExternalStorageDirectory()在2.3系统上当外置的用吧,遇到特殊机

Android通过意图使用内置的音频播放器

如果实现一个音频文件的播放,那么在应用程序中提供播放音频文件功能的最简单的方式是利用内置的"Music(音乐)"应用程序的功能--即使用系统自带的或已安装好的音乐播放器来播放指定的音频文件. 本例比较简单,下面直接给出源代码: 布局文件activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/

【Android】9.2 内置行视图的分类和呈现效果

分类:C#.Android.VS2015: 创建日期:2016-02-18 一.简介 Android内置了很多行视图模板,在应用程序中可直接使用这些内置的视图来呈现列表项. 要在ListView中使用内置的行视图呈现列表项,只需要通过Android.Resource.Layout类的属性指定资源的ID即可.例如: public class MainActivity : Activity { -- protected override void OnCreate(Bundle bundle) {

通过lua获取nginx的内置变量,通过这些变量做些逻辑的处理

Nginx提供了很多内置的变量,如: $arg_PARAMETER 这个变量包含在查询字符串时GET请求PARAMETER的值. $args 这个变量等于请求行中的参数. $binary_remote_addr 二进制码形式的客户端地址. $body_bytes_sent 传送页面的字节数 $content_length 请求头中的Content-length字段. $content_type 请求头中的Content-Type字段. $cookie_COOKIE cookie COOKIE的值

android Loger日志类(获取内置sd卡)

Android手机自带内部存储路径的获取 原文地址:http://my.oschina.net/liucundong/blog/288183 直接贴代码: public static String getExternalSdCardPath() { if (SDCardUtils.isSDCardEnable()) { File sdCardFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath());

【Python学习】关于获取数据类型的内置函数type

获取数据类型的函数:type() >>> type(a) <class 'str'> type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象. 语法: type(object) type(name, bases, dict) 参数 name -- 类的名称. bases -- 基类的元组. dict -- 字典,类内定义的命名空间变量. 判断数据类型:isinstance() >>> a = '你好' >>> is

Visual Studio 2015 预览版 - 支持跨平台开发Android/iOS应用程序(内置安卓模拟器)

微软最近的惊人举动真多,对普通消费者Office 移动版宣布免费,对开发者也发布了完全免费的 VS2013 社区版! 不仅如此,就连 .Net 开发框架环境也竟然「开源」并且跨平台支持 Mac 及 Linux 了!! 同时宣布的 Visual Studio 2015 和 .Net 2015 预览版均也开放下载了.作为微软跨平台新战略下的开发工具, VS2015 支持开发人员编写跨平台应用程序,从 Windows 到 Mac.Linux.甚至是编写 iOS 和 Android 代码! 此外,微软还

android获取内置和外置SD卡路径 - z

本文将介绍Android真机环境下如何获取内置和外置SD卡路径. 测试环境:三星Note3,其他手机待测试... 所需权限(AndroidManifest.xml文件里) [html] view plain copy <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 获取路径代码(MainActivity.java文件) [java] view plain copy pa