/**
* 下载APK的方法
*/
public
void
showUpdateDialog(){
AlertDialog.Builder builder=
new
Builder(
this
);
builder.setTitle(
"更新版本:"
+
versionBean
.getVersion());
builder.setMessage(
versionBean
.getDescription());
builder.setPositiveButton(
"立刻升级"
,
new
OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
if
(!!Environment.
MEDIA_MOUNTED
.equals(Environment. getExternalStorageState())){
//判断SD卡是否存在
//升级下载
FinalHttp http=
new
FinalHttp();
File file=
new
File(Environment.getExternalStorageDirectory(),
"mobilesafe.apk"
);
http.download(
versionBean
.getPath(),file.getAbsolutePath(),
new
AjaxCallBack<File>(){
@Override
public
void
onLoading(
long
count,
long
current) {
tv_splash_progress
.setTag(
"下载进度:"
+(current*100)/count);
super
.onLoading(count, current);
}
@Override
public
void
onSuccess(File t) {
//下载完成时,安装SD卡中的 apk
installApk(t);
super
.onSuccess(t);
}
});
}
else
{
Toast. makeText(getApplicationContext(),
"SD卡不可用..."
, 0).show();
loadMainUI();
//进入主界面
}
}
});
builder.setNegativeButton(
"下次再说"
,
new
OnClickListener() {
@Override
public
void
onClick(DialogInterface dialog,
int
which) {
loadMainUI();
//进入主界面
}
} );
builder.show();
}
-----------------------------------------------------------------------------------------
/**
*
* 安装 apk的方法
*/
public
void
installApk(File file){
/*<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="content" />
<data android:scheme="file" />
<data android:mimeType="application/vnd.android.package-archive" />
*/
Intent intent=
new
Intent();
intent.setAction(
"android.intent.action.VIEW"
);
intent.addCategory(
"android.intent.category.DEFAULT"
);
intent.setDataAndType(Uri. fromFile(file),
"application/vnd.android.package-archive"
);
startActivity(intent);
}