如何将外部存储设置为清单文件中不需要的?

时间:2013-11-25 15:13:39

标签: android android-manifest android-permissions uses-feature

我的设备 MOTOROLA DROID ULTRA 不支持外部存储。

我的清单文件包含权限 -

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

由于这些权限,我无法在设备 MOTOROLA DROID ULTRA 上看到我的应用。

我知道如何将权限设置为我正在使用的其他功能不需要 -

对于相机,

<uses-permission android:name="android.permission.CAMERA" />

我用过,

<uses-feature 
      android:name="android.hardware.camera" 
      android:required="false" />

  <uses-feature 
      android:name="android.hardware.camera.autofocus" 
      android:required="false" />

外部存储怎么样?

2 个答案:

答案 0 :(得分:0)

您的Moto Droid在技术上使用并允许外部存储,而不是传统意义上的;它在内部SD卡上模拟。这意味着它没有实际的外部SD卡,而是具有模拟位置,即实际文件uri不是/storage/sdcard0,,而是/storage/emulated/0/

幸运的是,我们不必担心这个问题,这是一个很好的例子,说明在定义文件位置uri时使用Environment类的重要性: File storageDirectory = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+*myFileName*);代替File storageDirectory = new File(/sdcard/*myFileName*)

如果您回答,请告诉我们您找到了问题的解决方案。

答案 1 :(得分:0)

我所理解的是您的设备不支持外部SD卡 因为我遇到了同样的问题,所以我的解决方案可以帮到你

所以首先你必须安装一个应用程序名称ES文件资源管理器 - 这个应用程序将显示所有文件夹文件和 存储在您设备中的数据。

然后记住一件事

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

代码授予您读取特定文件夹的权限,无论它是在您设备的内存还是您的设备SD卡中。

File sdcard = Environment.getExternalStorageDirectory();
 Log.i("memory",sdcard) ;

因此,如果您的设备不支持SD卡,那么MainActivity.java中的此代码将返回其内部存储器文件夹的路径,路径将打印在logcat中。

然后通过Es explorer您可以访问文件夹