如何在应用cache目录中建立文件以及修改文件的权限
问题来源:目前开发的应用有个需求,就是在没有SD的时候,可以将下载的apk文件写入/data/data/<packageName>/cache/目录下,并改变文件的权限,让安装程序可以读取它并安装。
目前已经知道,通过getcacheDir()可以获取应用缓存目录的路径,那么便可以将apk文件写入到该目录下了。
但是在改变该文件权限时,问题来了:
android api openFileoutput(string filename,int mopde),因为filename不能有分隔符,所以接口只能改变
/data/data/<packageName>/file/目录下文件的权限。
请教大神,什么方法能够改变/data/data/<packageName>/cache/目录下文件的权限,让第三方程序(如安装程序)可以访问呢?
--------------------编程问答-------------------- 请问楼主解决了吗,我也遇到了这个问题啊 --------------------编程问答-------------------- 如果设置同样的ShareUsrId可以解决问题吗? --------------------编程问答-------------------- /**
* 修改apk权限
* @param permission
* @param path apk所在的cache下面的路径
*/
public static void chmod(String permission, String path) {
try {
String command = "chmod " + permission + " " + path;
Runtime runtime = Runtime.getRuntime();
runtime.exec(command);
} catch (IOException e) {
e.printStackTrace();
}
}
你在打开apk前执行这个方法就行了。
例:
chmod("777",apkPath);// 修改apk权限,否则会出现包解析异常
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.parse("file://"+apkPath), "application/vnd.android.package-archive");
mContext.startActivity(intent);
补充:移动开发 , Android