android实现程序自动升级到安装示例分享(下载android程序安装包)

 更新时间:2014年01月19日 15:26:06   作者:  
这篇文章主要介绍了android实现下载android程序安装包自动升级的示例,大家参考使用吧

复制代码 代码如下:

//程序下载升级 zhouxiang
@JavascriptInterface
public void UpdateCAECP(final String path){
try{
AlertDialog.Builder builder = new Builder((Context)obj);
builder.setMessage(“检测到有新版本发布,是否进行下载升级?”);
builder.setTitle("程序更新提示");
builder.setPositiveButton("升级", new OnClickListener(){
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
m_pDialog = new ProgressDialog((Context)obj);
m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
m_pDialog.setTitle("程序升级中");
m_pDialog.setMessage("正在下载最新版的CAECP,请等候…");
m_pDialog.setIcon(R.drawable.ic_launcher);
m_pDialog.setProgress(100);
m_pDialog.setIndeterminate(false);
//设置ProgressDialog 是否可以按退回按键取消
m_pDialog.setCancelable(true);
m_pDialog.show();
new CAECP_DownloadFile(m_pDialog,(Context)obj).execute(path);
}
});
builder.setNegativeButton("取消", new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
builder.create().show();
}catch(Exception e){
Alert("升级提示", e.getMessage(), "确认");
}
}

复制代码 代码如下:

//zhouxiang 文件下载百分比 及 自动安装
public class CAECP_DownloadFile extends AsyncTask{
ProgressDialog m_pDialog=null;
String path="/sdcard/caecp/caecp.apk";
static String chattemp = "/sdcard/caecp/chat.caecp";
static String usertemp = "/sdcard/caecp/user.caecp";
Context obj;
CAECP_DownloadFile(ProgressDialog m_pDialog2,Context obj2){
m_pDialog=m_pDialog2;
obj=obj2;
}
@Override
protected String doInBackground(String… sUrl) {
try {
URL url = new URL(sUrl[0]);
URLConnection connection = url.openConnection();
connection.connect();
int fileLength = connection.getContentLength();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(path);
byte data[] = new byte[1024];
long total = 0;
int count;
while ((count = input.read(data)) != -1) {
total += count;
m_pDialog.setProgress((int) (total * 100 / fileLength));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
DownCAECP_Ok();
} catch (Exception e) {
}
return null;
}
//下载CAECP文件完成,启动新线程,调用系统进行安装
public void DownCAECP_Ok(){
new Thread(){
public void run() {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.setDataAndType(Uri.parse("file://" + path),"application/vnd.android.package-archive");
obj.startActivity(i);
}
}.start();
}

相关文章

  • Android 自定义 View 中使用 Spannable的实例详解

    Android 自定义 View 中使用 Spannable的实例详解

    这篇文章主要介绍了Android 自定义 View 中使用 Spannable的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Android观察者模式实例分析

    Android观察者模式实例分析

    这篇文章主要介绍了Android观察者模式,实例分析了Android观察者模式的原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • Android实现Service下载文件,Notification显示下载进度的示例

    Android实现Service下载文件,Notification显示下载进度的示例

    本篇文章主要介绍了Android实现Service下载文件,Notification显示下载进度,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Android访问php取回json数据实例

    Android访问php取回json数据实例

    Android访问php取回json数据,实现代码如下,遇到访问网络的权限不足在AndroidManifest.xml中,需要进行如下配置
    2013-06-06
  • Flutter使用AnimatedSwitcher实现场景切换动画

    Flutter使用AnimatedSwitcher实现场景切换动画

    在应用中,我们经常会遇到切换组件的场景。本文将利用Flutter中提供的AnimatedSwitcher这一动画组件来实现页面内的场景切换,需要的可参考一下
    2022-03-03
  • Android自定义控件实现折线图

    Android自定义控件实现折线图

    这篇文章主要为大家详细介绍了Android自定义控件实现折线图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android Studio连接SQLite数据库的登录注册实现

    Android Studio连接SQLite数据库的登录注册实现

    这篇文章主要介绍了Android Studio连接SQLite数据库的登录注册实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Android 中的危险权限详细整理

    Android 中的危险权限详细整理

    这篇文章主要介绍了Android 中的危险权限详细整理的相关资料,Android 中有上百种权限,现在将所有的权限归为两类,一类是普通权限,一类的危险权限,危险权限则表示那些可能会触及到用户安全隐私或者对设备安全造成影响的权限,需要的朋友可以参考下
    2017-07-07
  • Android实现快递单号查询快递状态信息

    Android实现快递单号查询快递状态信息

    这篇文章主要为大家详细介绍了Android实现快递单号查询快递状态信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android实现触摸移动的悬浮窗口功能

    Android实现触摸移动的悬浮窗口功能

    这篇文章主要介绍了Android实现触摸移动的悬浮窗口功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论