android的自动更新

客户的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);

结果一切正常了。

猜你喜欢

转载自radzhang.iteye.com/blog/1689393