无sdcard卡时软件的自动更新

今天一上班就被告知软件没法自动更新,明明都测试过的怎么就不行了呢。仔细询问才发现,原来是手机没有安装sdcard,悲催啊又得想办法解决了。google了下,原来这问题不少人都遇过,也已经有的解决的办法,在这也就当本身再总结下。 html

自动安装apk通常都是调用 Intent.FLAG_ACTIVITY_NEW_TASK ,是须要知道apk所在的目录的,没有了sdcard,只能存在应用自己的目录下了。可是用户对文件,没有写和执行的权限(这里有说明http://www.2cto.com/kf/201112/112876.html) java

这里就要经过shell指令对该文件附加权限 shell

private void exec(String filePath){
		String[] command = {"chmod","777",filePath};
		ProcessBuilder builder = new ProcessBuilder(command);
		try {
			builder.start();
		} catch (IOException e) {
			AppException.httpIoError(e);
		}
	}
这样就大功告成了啊
相关文章
相关标签/搜索