当识别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