您的位置:首页 > 移动开发 > Android开发

android为程序添加版本自动更新

2016-09-17 09:44 513 查看
程序更新的功能是一个很现实的功能,今天做了一个关于程序自动更新的功能。在这之中遇到了一些很烦人的功能,不是实现的方式,而是一些小细节灭有弄好,而导致自己怀疑所写的程序是否有问题。呵呵,其实就是这个小细节。在我们打包为apk文件的时候,签名的证书一定要相同,我就是没有想到这个而浪费了大半天的时间。呵呵,这也是一个教训吧!好同大家分享一下更新下载文件的代码!如果有什么更好的方法请指出。

通过网络 来读取信息:在checkUpdate()方法中包含了通过制定的URL来读取网络资源。

程序版本号的是放在AndroidManifest.xml文件中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="linhai.com.hello" android:versionCode="2" android:versionName="2.0.1">

主点是关于:getPackageManager()在这个下面有很多方法,你可以通过它得,得到当前终端安装的程序等。关于安装包的函数是:getPackageManager().installPackage(packageURI)

以下是下载新版本文件后的更新的方法

private Runnable showUpdate = new Runnable() {

public void run() {

new AlertDialog.Builder(DownActivity.this)

.setTitle("Update Available")

.setMessage("是否对新版本进行更新?")

.setPositiveButton("确定",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,int whichButton) {

String fileName = Environment.getExternalStorageDirectory() + "/"+ readNAme;//从SdCard中该文件的文件名

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setDataAndType(Uri.fromFile(new File(fileName)),"application/vnd.android.package-archive");

startActivity(intent);

}

})

.setNegativeButton("取消",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int whichButton) {

}

})

.show();

}

};

最后在下载新版本文件后执行mHandler.post(showUpdate);就可以自动更新喽,记得新版本的apk的密匙文件要同上一个版本的要兼容哦,不然就不可以更新替换了,只能卸载旧版本才可以进行安装!!呵呵,希望对大家有帮助!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: