在android中扫描不同的内存类型

在android中扫描不同的内存类型,android,android-sdcard,android-mediascanner,android-memory,Android,Android Sdcard,Android Mediascanner,Android Memory,我有一些问题可能对其他人也有用。 在android 4.0以后的版本中 1) 如何检查是否有外部sd卡支持 2) 如何强制运行Mediascan的内部和外部内存 3) 如何只扫描sd卡或内存?我建议您在developer.android.com上阅读 要检查外部内存是否可用(取自developer.android.com): 要读取内部文件,请使用context.fileList()查看更多 编辑 我不确定你想要2和3的什么。你可以使用mediascan来处理很多事情,但是仅仅为了使用它而使用它

我有一些问题可能对其他人也有用。 在android 4.0以后的版本中

1) 如何检查是否有外部sd卡支持

2) 如何强制运行Mediascan的内部和外部内存

3) 如何只扫描sd卡或内存?

我建议您在developer.android.com上阅读

要检查外部内存是否可用(取自developer.android.com):

要读取内部文件,请使用
context.fileList()查看更多

编辑

我不确定你想要2和3的什么。你可以使用mediascan来处理很多事情,但是仅仅为了使用它而使用它听起来是徒劳的。为此,我推荐“奇点建议”。有一篇帖子。

我建议你在developer.android.com上阅读

要检查外部内存是否可用(取自developer.android.com):

要读取内部文件,请使用
context.fileList()查看更多

编辑


我不确定你想要2和3的什么。你可以使用mediascan来处理很多事情,但是仅仅为了使用它而使用它听起来是徒劳的。为此,我推荐“奇点建议”。有一篇帖子。

来自
adb shell
运行
mount
,全面了解设备上安装了什么存储。谢谢,但我的意思是,您可以从应用程序运行
mount
,并获得结果字符串,请查看。您的编辑完全改变了问题。但是我试着给出了一个新的回答。从
adb shell
运行
mount
,全面了解设备上安装了什么存储。谢谢,但我的意思是你可以从应用程序运行
mount
,并获得结果字符串,看看。你的编辑完全改变了这个问题。但我试着给出一个新的回答。
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    mExternalStorageAvailable = true;
    mExternalStorageWriteable = false;
} else {
    // Something else is wrong. It may be one of many other states, but all we need
    //  to know is we can neither read nor write
    mExternalStorageAvailable = mExternalStorageWriteable = false;
}