无sdcard卡时软件的自动更新

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

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

这里就要通过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);
		}
	}
这样就大功告成了啊

转载于:https://my.oschina.net/u/134491/blog/93951

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值