手动更新:http://dev.umeng.com/auto-update ... atically-update#1_2。手动更新之后显示当前最新版本:http://bbs.umeng.com/forum.php?m ... &extra=#pid6183
除了在快速开始文档中提到的自动更新之外,友盟自动更新SDK还支持另外两种场景:手动更新、静默更新(v2.4加入)。
下面将详细介绍这三种场景的接口及默认行为。
如果需要自定义这些接口的行为,请看自定义
文档部分。
最常见的自动更新模式,当用户进入应用首页后,如果处于wifi环境则自动检测更新(默认只在wifi环境下检测,是为了用户流量考虑。这个行为可以更改),如果有更新,弹出对话框提示有新版本,用户点选更新开始下载更新。
在应用程序入口Activity
里的OnCreate()
方法中调用
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UmengUpdateAgent.update(this)
//UmengUpdateAgent.update(this, "appkey", "channel");
public static void update(Context context)
context 当前Activity的Context,v2.4之后您也可以传入Application的Context。
@Deprecated
public static void update(Context context, String appkey, String channel)
该方法已经过时,请使用setAppkey和setChannel代替。
context 当前Activity的Context,v2.4之后您也可以传入Application的Context。
appkey 需要更新应用的APPKEY,不可为null,服务器需要通过APPKEY来查找相应的更新文件。
channel 需要更新应用的分发渠道,可以为null,服务器通过channel来查找相应渠道的更新文件,如果为null则会查找默认渠道的更新文件。
主要使用场景:许多应用的设置界面中都会有检查更新
等类似功能,需要用户主动触发而检测更新。它的默认行为基本和自动更新基本一致。
它和自动更新的主要区别是:在这种手动更新的情况下,无论网络状况是否Wifi,无论用户是否忽略过该版本的更新,都可以像下面的示例一样在按钮的回调中发起更新检查,代替update(Context context)
:
public void onClick(View v) {
UmengUpdateAgent.forceUpdate(mContext);
}
public static void forceUpdate(Context context)
context 当前Activity的Context,v2.4之后您也可以传入Application的Context。
主要使用场景:当用户进入应用首页后如果处于wifi环境检测更新,如果有更新,后台下载新版本,如果下载成功,则进行通知栏展示,用户点击通知栏开始安装。
静默下载中途如果wifi断开,则会停止下载。
在应用程序入口Activity
里的OnCreate()
方法中调用
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UmengUpdateAgent.silentUpdate(this);
public static void silentUpdate(Context context)
context 当前Activity的Context,v2.4之后您也可以传入Application的Context。