android機身存儲讀寫權限問題

要做一個自動更新功能,我需要下載一個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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章