客户的android机器没有外置SD卡,要求实现自动更新功能,最方便的就是把apk下载到应用的私有目录下/data/data/<package name>/files/下。
下载都正常的,然后通过
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(
Uri.fromFile(new File(savefolder, filname)),
"application/vnd.android.package-archive");
startActivity(intent);
安装下载的新apk总是报解析包时出错,然后,看到文件之类的都存在于私有目录下。
后来想通过intent来安装包是不是已经是别的应用调用本应用时没有权限问题?
然后在下载的时候使用Context.MODE_WORLD_READABLE 代替Context.MODE_PRIVATE
FileOutputStream fos = context.openFileOutput(UPDATE_SAVENAME, Context.MODE_WORLD_READABLE);
结果一切正常了。
分享到:
相关推荐
android 自动更新
Android自动更新的demo 我们这里不考虑下载配置文件和解析配置文件的内容,只考虑第二种情况就是我们获取了更新的apk的网络地址,如何更新。
NULL 博文链接:https://chaowen0668.iteye.com/blog/1068730
Android 自动更新,使程序自动更新,保持最新版本
Android自动更新源码,调试通过,可用。
Android应用自动更新代码实现,完美实现代码的自动更新。
Qt for Android实现自动更新app,安装apk文件,qml自动更新 通过调用修改Java函数来实现对私有数据的读写
Android自动更新
Android 自动更新 下载文件 APK 源代码 实例
android自动更新源码
android自动更新异步线程和NOTIFICATION的方式
Android自动更新功能的实现,可以直接放到项目中
实现Android apk中的自动更新检测和静默升级
cordova android 自动更新update 插件 ,包含使用说明!下载后,利用cordova命令安装!
Android 自动更新其中包括了apk检测更新,也包括了jar包直接更新,只要修改你们服务器的地址,确定要json数据,定好实体类就OK了
android自动更新至手机内存,实现自动安装,区别于把软件更新到SD卡
android版本自动更新安装 替换旧的apk
包含 内外网更新、代码 libs 中有包含 aar 包,可 导入直接使用。直接输入网址、项目名、等 即可。方便快捷