现在的位置: 首页 > 综合 > 正文

android机身存储读写权限问题

2013年09月16日 ⁄ 综合 ⁄ 共 882字 ⁄ 字号 评论关闭

要做一个自动更新功能,我需要下载一个APK包,然后调用系统的安装来安装这个APK,就是自己下载自己然后安装自己。
我把APK下载到SD卡里,一切相安无事,可以顺利进行
但是我要是把APK下载到机身存储空间,就有问题了

1. 下载到/data/data/xx.xx.xx/files 目录下 可以下载成功,但是安装的时候会提示解析包错误。
2. 下载到/system或者/cache,文件创建不成功,好像是权限问题。

请问我怎么才能在机身存储来完成自动更新功能,因为不能强迫别人去插一张SD才能用。

我调用系统安装的代码:
String tPath = downLoadFilePath;
File mainFile = new File(tPath);
if (mainFile.exists()) {
Uri data = Uri.fromFile(mainFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(data,
"application/vnd.android.package-archive");
startActivity(intent);
}

下载文件后存储:
File tFile = new File(saveFilePath); //saveFilePath可以是SD卡耶可以是机身存储。
if(tFile.exists())
{
tFile.delete();
}
if(!tFile.exists())
{
FileOutputStream fos = new FileOutputStream(tFile);
fos.write(saveBuffer);
fos.flush();
fos.close();
if(tFile.exists())
{
return tFile;
}
}

求解答,谢谢了。

 

 

解決了 多謝各位

只能修改文件權限了。
String command = "chmod 777 " + tFile.getAbsolutePath();
Runtime runtime = Runtime.getRuntime();  
runtime.exec(command);

抱歉!评论已关闭.