android实现自动升级并安装打开

http://blog.csdn.net/wa991830558/article/details/41014673

这是一个比较简单的程序,但网上还是有很多人问起这个问题,并且回答的人,也没有完全回答正确,然后又有很多人去转载非正确的答案,使别人用了之后还是有问题。

如何下载新版本的文件,这里就不赘述了,这里就说一下安装和打开。

/**
  * 安装APK文件
  */
 private void installApk() {
  File apkfile = new File(mSavePath,Constant.appFileName);
  if (!apkfile.exists()) {
   return;
  }
  // 通过Intent安装APK文件
  Intent i = new Intent(Intent.ACTION_VIEW); 
  i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
  i.setDataAndType(Uri.parse("file://" + apkfile.toString()),
    "application/vnd.android.package-archive");
  mContext.startActivity(i);
  android.os.Process.killProcess(android.os.Process.myPid());
 }
如果没有android.os.Process.killProcess(android.os.Process.myPid());最后不会提示完成、打开。
如果没有i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这一步的话,最后安装好了,点打开,是不会打开新版本应用的。

时间: 2024-10-27 11:35:55

android实现自动升级并安装打开的相关文章

Cocos2d-x3.1下 Android,APK自动升级

项目要做Android的自动升级,对于我们之前做iOS的转Cocos开发做Android方面的功能..... 不对说了.这里记录下我的实现过程. 原文地址:http://blog.csdn.net/qqmcy/article/details/36713113 首先我们要先知道Cocos下Android有几个Activity,我推测是只有一个,如果不对的话请批评指正啊. 所以我们要在主Activity也就是AppActivity.java里面添加如下代码: static AppActivity a

android开发 更新升级安装到一半自动闪退

如题:android开发 更新升级安装到一半自动闪退,,,解决办法,如下(红色为我新增的代码) /**     * 安装APK文件     */    private void installApk()    {        File apkfile = new File(mSavePath, mHashMap.get("name")); //apkfile  获取已经下载好的待安装apk文件        if (!apkfile.exists())        {       

Ionic实战 自动升级APP(Android版)

Ionic 框架介绍 Ionic是一个基于Angularjs.可以使用HTML5构建混合移动应用的用户界面框架,它自称为是"本地与HTML5的结合".该框架提供了很多基本的移动用户界面范例,例如像列表(lists).标签页栏(tab bars)和触发开关(toggle switches)这样的简单条目.它还提供了更加复杂的可视化布局示例,例如在下面显示内容的滑出式菜单. Ionic 自动升级APP一.准备工作 1.Cordova插件: cordova plugin add https:

【安卓】判断"全新安装初次打开、升级后初次打开、第二次打开",比如可用于判断是否应显示"引导页"、!

思路: 1.基于SharedPreferences,每次打开时,根据上次打开时记录的版本即可区分此次打开的情形. StoredData.java: 1.Application.onCreate中调用StoredData.getThis().markOpenApp();即可.其他位置就可以根据getLaunchMode判断打开类型了. package com.example.test; import android.app.Application; import android.content.S

Android自动检测版本及自动升级

步骤: 1.检测当前版本的信息AndroidManifest.xml-->manifest-->android:versionName. 2.从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面. 3.当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进入程序主界面. 效果图:        获取当前程序的版本号: [java] view plaincopy /* *

C# Xamarin For Android自动升级项目实战

一.课程介绍 "明人不说暗话,跟着阿笨一起玩Xamarin",本次分享课程阿笨将带来大家一起学习Xamarin For Android系列<C# Xamarin For Android自动升级项目实战>.如果您同样对本次分享课程感兴趣的话,那么请跟着阿笨一起学习吧. 本次分享课程适合人群如下: 1. 热爱Xamarin跨平台移动开发. 2.进一步了解和学习Xamarin For Android移动开发实战知识. 本次分享课包含实战分享知识点如下: 1.C# Android 

Android菜鸟笔记- 获取未安装的APK图标、版本、包名、名称、是否安装、安装、打开

周末闲来无事,把Android的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标可以用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable.但实际使用的时候经常只能得到一个默认的图标,根本不是APK的图标. 参考小米开源文件管理器,结合实践,代码如下: /* * 采用了新的办法获取APK图标,之前的失败是因为andro

Android应用更新升级实现

介绍 在产品的开发中,android升级提示,下载更新是必备的功能,否则等用户被动去官方网,或者第三方商店提示,就为时已晚了. 原理 在用户每次打开应用的时候,都与服务器进行一次交互,获取版本信息,对比之后,如果版本号大于当前版本号,那么就提示用户升级,否则就当什么都没发生. 直接看代码. 实现 权限 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission andr

美团Android DEX自动拆包及动态加载简介

最近也遇到了方法数超过65K的问题,最终通过MultiDex的方法解决了,感觉还比较简单,就是改了gradle文件,不知道美团为什么弄这么复杂的方案 原文http://tech.meituan.com/mt-android-auto-split-dex.html 概述 作为一个android开发者,在开发应用时,随着业务规模发展到一定程度,不断地加入新功能.添加新的类库,代码在急剧的膨胀,相应的apk包的大小也急剧增加, 那么终有一天,你会不幸遇到这个错误: 生成的apk在android 2.3