2011-09-27 97 views
0

我正在使用此缺少什么权限?

public void smsbackup() throws IOException 
    { 
     InputStream in = new FileInputStream("/data/data/com.android.providers.telephony/databases/mmssms.db"); 

     File dir = new File("/mnt/sdcard/bcfile"); 
     dir.mkdirs(); 

     OutputStream output = new FileOutputStream("/data/data/com.android.app/files/"); 

     byte[] buffer = new byte[1024]; 
     int length; 
     while ((length = in.read(buffer))>0) 
     { 
      output.write(buffer, 0, length); 
     } 
     output.flush(); 
     output.close(); 
     in.close(); 
    } 

它抛出像permission denied例外,我不知道会我给什么权限短信备份。有人告诉我?提前致谢。

+1

大声笑!您正在使用的权限是什么? –

+1

您应该查看您的例外日志,它会显示您缺少的权限。 – Egor

+0

同样在未来,它是真正有帮助的,如果你从LogCat发布Stacktrace – slayton

回答

3

你需要,因为

File dir = new File("/mnt/sdcard/bcfile"); 

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

我不知道你能永远访问:/data/data/com.android.providers.telephony/databases/mmssms.db

+1

顺便说一下,为什么你要制作这个目录。它没有被使用。 – slayton

+0

@slayton你是对的!我不知道嘿嘿 –

+0

@Sherif:那么,哪一个被使用?我已经给了这个许可。 – Praveenkumar

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

你必须添加此权限,因为你正试图w礼仪文件到SDcard。希望这有助于

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

您还需要阅读收件箱邮件的权限。

希望它会帮助你