在安卓系统中移动至SD卡

5

我的一些用户(非常少)无法将我的应用程序移动到SD卡上。即使他们拥有Android 2.2及以上版本,并且我已在清单中启用了它。按钮“移至SD卡”被关闭。例如,Virgin Mobile的LG Optimus V。

我已经在像Nexus One这样的手机上进行了测试,对于Android 2.2(Froyo)及以上版本,它运行得很完美。

我知道“移至SD卡”选项的编码在AndroidManifest中。

android:installLocation="auto"。

是有第三方软件阻止了它,还是我错过了什么?

2个回答

3

InstallLocation 可在 Android 2.2 (Froyo) 及以上版本中使用。在以下版本中不支持,并且需要在清单文件中添加 INSTALL_LOCATION_PROVIDER 权限。


我已经尝试过了,他们仍然有问题,我的手机上也没有。 - Mark Ismail
好的,我可以给你一个替代方法,通过增加模拟器的内部存储空间,你无需将应用程序移动到SD卡上!!! - Mohammed Azharuddin Shaikh
我的每一位客户,如果使用Verizon的Droid或Droidx手机,均无法将应用程序移动到SD卡中。这让我感到非常困扰。你有什么想法吗? - Mark Ismail
“给予权限”在这个上下文中是什么意思?你能详细说明一下吗?例如,你是指“添加权限设置”吗?还是其他什么意思? - Peter Mortensen

0

如果您正在使用Eclipse,只需单击Android设备管理器图标。然后单击Android设备管理器选项卡。如果您已经创建了AVD,请选择它。然后在右侧单击"编辑按钮"。然后找到SD卡所在位置,将其大小更改为您喜欢的数字,例如:256或512或1024,并确保您有足够的"内部存储容量"。单击确定按钮。

现在进入"运行配置"并启动AVD模拟器。在AVD设置中,您应该看到您的SD卡已被"挂载"。

这应该可以解决问题。

如果您想要将文件或文件夹添加到SD卡中,或将应用程序移动到SD卡中,请执行以下操作:

步骤:

  1. 使用文本或编程编辑器打开您的Android应用程序源代码文件。2)浏览到源代码中希望调用将文件写入设备外部存储的函数的位置。3)插入以下单行代码以检查SD卡:

     File sdCard = Environment.getExternalStorageDirectory();
    
  2. 插入以下代码行以设置目录和文件名:

     File dir = new File (sdcard.getAbsolutePath() + "/folder1/folder2");
     dir.mkdirs();
     File file = new File(dir, "example_file");
    
  3. 在上述代码中用实际路径替换“/folder1/folder2”,该路径应为您通常保存应用程序文件的位置。此外,将“example_file”值更改为您要使用的实际文件名。

  4. 插入以下代码行以将文件输出到SD卡:

     FileOutputStream f = new FileOutputStream(file);
    
  5. 保存文件,然后使用Android模拟器软件或设备编译并测试应用程序。

这个会起作用的!!! ;-)


自我剽窃的案例:这个答案的最后3/4部分与user3612615对无法写入SD卡的回答完全相同。 - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接