@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Dialog dialog = new AlertDialog.Builder(Cockhorse.this)
.setTitle("系统更新")
.setMessage("发现新版本,请更新!")
// 设置内容
.setPositiveButton("确定",// 设置确定按钮
new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog,
int which) {
pBar = new ProgressDialog(Cockhorse.this);
pBar.setTitle("正在下载");
pBar.setMessage("请稍候…");
pBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
downFile("http://192.168.1.103:80/gzzd/androidapk/飞哥.apk");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// 点击"取消"按钮之后退出程序

}
}).create();// 创建
// 显示对话框
dialog.show();
// new Thread(new MyThread()).start();
}

void downFile(final String url) {
pBar.show();
new Thread() {
public void run() {
HttpClient client = new DefaultHttpClient();
// params[0]代表连接的url
HttpGet get = new HttpGet(url);
HttpResponse response;
try {
response = client.execute(get);
HttpEntity entity = response.getEntity();
long length = entity.getContentLength();
InputStream is = entity.getContent();
FileOutputStream fileOutputStream = null;
if (is != null) {

File file = new File(
Environment.getExternalStorageDirectory(),
"Cockhorse.apk");
fileOutputStream = new FileOutputStream(file);

byte[] buf = new byte[1024];
int ch = -1;
int count = 0;
while ((ch = is.read(buf)) != -1) {

fileOutputStream.write(buf, 0, ch);
count += ch;
if (length > 0) {

}
}
}
fileOutputStream.flush();
if (fileOutputStream != null) {
fileOutputStream.close();
}
down();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
}

void down() {
handler.post(new Runnable() {
public void run() {
pBar.cancel();
update();
}
});
}

void update() {
Intent intent = new Intent(Intent.ACTION_VIEW);
// intent.setDataAndType(Uri.fromFile(new
// File("/sdcard/Feige.apk")),
// "http://192.168.1.103:80/gzzd/androidapk/Feige.apk");
intent.setDataAndType(Uri.fromFile(new File("/sdcard/飞哥.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
}

//注意:APK必须通过数字签名才可以

更多相关文章

  1. android > 屏蔽掉返回键
  2. Android(安卓)Event.getX 与getRawX的区别
  3. android 自定义toggle Button按钮
  4. Android点击按钮实现全屏的代码
  5. Android(安卓)滑动效果代码分享
  6. android > intent > 自动跳转到 系统 设置 页面
  7. Android往SD卡上存储文件
  8. Android(安卓)设立全屏
  9. android 按钮变化颜色

随机推荐

  1. MySQL重置root密码提示"Unknown column
  2. MySQL5.7的安装与配置详细操作步骤
  3. Linux平台mysql开启远程登录
  4. Ubuntu下MySQL中文乱码的问题解决
  5. MySQL使用innobackupex备份连接服务器失
  6. 什么是分表和分区 MySql数据库分区和分表
  7. navicat连接mysql时出现1045错误的解决方
  8. mysql5.7创建用户授权删除用户撤销授权
  9. linux下mysql5.7.17最新稳定版本安装教程
  10. MySQL 复制表详解及实例代码