本文将介绍android真机环境下如何获取内置和外置SD卡路径。


测试环境:三星Note3,其他手机待测试。。。


所需权限(AndroidManifest.xml文件里)


获取路径代码(MainActivity.java文件)

package com.example.androidtest;import java.io.BufferedReader;import java.io.File;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);StringBuilder log = new StringBuilder();String inPath = getInnerSDCardPath();log.append("内置SD卡路径:" + inPath + "\r\n");List extPaths = getExtSDCardPath();for (String path : extPaths) {log.append("外置SD卡路径:" + path + "\r\n");}System.out.println(log.toString());}/** * 获取内置SD卡路径 * @return */public String getInnerSDCardPath() {          return Environment.getExternalStorageDirectory().getPath();      }/** * 获取外置SD卡路径 * @return应该就一条记录或空 */public List getExtSDCardPath(){List lResult = new ArrayList();try {Runtime rt = Runtime.getRuntime();Process proc = rt.exec("mount");InputStream is = proc.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);String line;while ((line = br.readLine()) != null) {if (line.contains("extSdCard")){String [] arr = line.split(" ");String path = arr[1];File file = new File(path);if (file.isDirectory()){lResult.add(path);}}}isr.close();} catch (Exception e) {}return lResult;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}

其中,line.contains("extSdCard")判断部分有待进一步验证!


打印结果:

1. 插入一张外置SD卡后

内置SD卡路径:/storage/emulated/0外置SD卡路径:/storage/extSdCard

2. 取出外置SD卡后

内置SD卡路径:/storage/emulated/0




更多相关文章

  1. Android开发人员不得不收集的代码(blankj:utilcode)
  2. android Uri获取真实路径转换成File的方法
  3. ArcGIS API For Android离线地图的实现
  4. (转)Android_GPS
  5. 【Android】Android实现截取当前屏幕图片并保存至SDCard
  6. ArcGIS API For Android离线地图的实现
  7. Android软件开发之获取通讯录联系人信息 + android联系人信息的
  8. Android菜鸟日记29-杂记
  9. Pycharm安装PyQt5的详细教程

随机推荐

  1. Android-0.Android Studio布局中Relative
  2. Android的横竖屏切换
  3. Android Studio控件属性大全
  4. Android横竖屏总结
  5. Android编译过程详解(三)
  6. Android 单元测试之JUnit和Mockito
  7. ImageView下载图片加载
  8. Android4: 请放弃使用Theme.Dialog
  9. 在Android Studio中下载Android SDK的两
  10. android 背景边框变圆角