Android /data/data/app_file/目录下面安装apk无权限问题

当识别SDCard的时候

String filePath = null;
String state = Environment.getExternalStorageState();
if (state.equalsIgnoreCase(Environment.MEDIA_MOUNTED)) {//当SDCard挂载时 }else{//当SDCard没有挂载时 }

如果没有就下到了/data/data/app_file/目录下面去了,但安装涉及到权限问题:

try {
Process p = Runtime.getRuntime().exec("chmod 755 " + file);
int status = p.waitFor();
if (status == 0) {
// Toast.makeText(context, "权限修改成功", Toast.LENGTH_SHORT).show();
return true;
}else{
// Toast.makeText(context, "权限修改失败", Toast.LENGTH_SHORT).show();
return false;
}
} catch (IOException e) {
e.printStackTrace();
return false;
} catch (InterruptedException e) {
e.printStackTrace();
return false;
}

chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。

一般是三个数字: 第一个数字表示文件所有者的权限 第二个数字表示与文件所有者同属一个用户组的其他用户的权限 第三个数字表示其它用户组的权限。

权限分为三种:读(r=4),写(w=2),执行(x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。

所以,chmod 755 设置用户的权限为:

1.文件所有者可读可写可执行                                   --7

2.与文件所有者同属一个用户组的其他用户可读可执行 --5

3.其它用户组可读可执行                                        --5

上一篇:GMap.Net开发之技巧小结


下一篇:BZOJ 3533 sdoi 2014 向量集