0

我有不支持外部存储的设备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" />

外部存储怎么样?

4

2 回答 2

0

您的 Moto Droid 在技术上确实使用并允许外部存储,但不是传统意义上的;它在内部 SD 卡上进行仿真。这意味着它没有一个实际的外部 SD 卡,而是一个模拟的位置,即,而不是/storage/sdcard0,实际的文件 uri 可能看起来像/storage/emulated/0/

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

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

于 2014-03-03T23:53:03.887 回答
0

我所了解的是您的设备不支持外部 sdcard,因为我遇到了同样的问题,所以我的解决方案可能会对您有所帮助

所以首先你必须安装一个名为 ES File Explorer 的应用程序——这个应用程序将向你显示设备中的所有文件夹文件和存储的数据。

然后记住一件事

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

该代码允许您读取特定文件夹,无论它是在您设备的内部存储器中还是在您的设备 SD 卡中。

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

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

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

于 2014-06-22T17:09:28.943 回答