2011-12-24 103 views
7

解決方案後加「WRITE_EXTERNAL_STORAGE」否認:測試目標項目還必須添加WRITE_EXTERNAL_STORAGE在AndroidManifest.xml仍然允許在AndroidManifest.xml

這個問題來自一個Android測試項目,不能寫測試導致SDcard。將WRITE_EXTERNAL_STORAGE添加到測試目標項目中可以解決此問題。


當我使用下面的代碼將xml文件寫入仿真器的sdcard時,總是拋出權限被拒絕。 。 我在AndroidManifest.xml中添加WRITE_EXTERNAL_STORAGE」

 @Override 
public void onStart(){ 

    try { 
     File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 
     myWriter = new FileWriter(new File(root, TEST_RESULT+".xml"));   
     startResultOutput(myWriter); 
    } catch (IOException e) { 
     Log.d("TestInfo", "after new FileWriter: "+e.getMessage()); 
    } 
    super.onStart(); 

} 

逮住IOExcetion,該消息是: 後新的FileWriter:/mnt/sdcard/InterFace_test_result.xml(拒絕)

下面是清單代碼

<application android:icon="@drawable/icon" android:label="@string/app_name"> 

<uses-library android:name="android.test.runner" /> 
</application> 

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

安裝了SD卡,因爲我可以使用其他應用程序將文件寫入外部SD卡。

有人可以給我一些建議嗎?

PS: 仿真器系統是2.3.3

+1

你有沒有在模擬器參數中設置一個SD存儲卡?在你可以創建它的界面中有一個選項 – 2011-12-24 15:34:47

+0

是的〜我可以使用另一個應用程序將文件寫入我的模擬器的SD卡,並從adb外殼,我也可以操作SD卡。 – Millie 2011-12-24 15:38:00

+0

我遇到了同樣的問題。你解決了這個問題嗎? 看到我的帖子: http://stackoverflow.com/questions/10877740/traceview-cant-write-sd-card – gladman 2012-06-04 10:40:34

回答

1

問題:

我能理解的是, 你加入permission兩次

  1. 一次在Application標籤作爲屬性
  2. 和第二次使用<use-permission>

解決方案:

嘗試刪除它們中的任何一個。

+0

感謝您的幫助,但它仍然無法工作。我從應用程序標記中刪除了一個perstent ... – Millie 2011-12-24 15:53:31

0

您應該在<application>標記之前添加權限標記<uses-permission>

+1

不需要.. – Nikhil 2012-10-11 09:19:25

相關問題