关闭

android下载新版本并安装更新

598人阅读 评论(0) 收藏 举报
分类:
Environment拥有一些可以获取环境变量的方法 
package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).

//下载apk程序代码

01 <strong>protected File downLoadFile(String httpUrl) {
02                 // TODO Auto-generated method stub
03                 final String fileName = "updata.apk";
04                 File tmpFile = new File("/sdcard/update");
05                 if (!tmpFile.exists()) {
06                         tmpFile.mkdir();
07                 }
08                 final File file = new File("/sdcard/update/" + fileName);
09  
10                 try {
11                         URL url = new URL(httpUrl);
12                         try {
13                                 HttpURLConnection conn = (HttpURLConnection) url
14                                                 .openConnection();
15                                 InputStream is = conn.getInputStream();
16                                 FileOutputStream fos = newFileOutputStream(file);
17                                 byte[] buf = new byte[256];
18                                 conn.connect();
19                                 double count = 0;
20                                 if (conn.getResponseCode() >= 400) {
21                                         Toast.makeText(Main.this"连接超时", Toast.LENGTH_SHORT)
22                                                         .show();
23                                 else {
24                                         while (count <= 100) {
25                                                 if (is != null) {
26                                                         int numRead = is.read(buf);
27                                                         if (numRead <= 0) {
28                                                                 break;
29                                                         else {
30                                                                 fos.write(buf, 0, numRead);
31                                                         }
32  
33                                                 else {
34                                                         break;
35                                                 }
36  
37                                         }
38                                 }
39  
40                                 conn.disconnect();
41                                 fos.close();
42                                 is.close();
43                         catch (IOException e) {
44                                 // TODO Auto-generated catch block
45  
46                                 e.printStackTrace();
47                         }
48                 catch (MalformedURLException e) {
49                         // TODO Auto-generated catch block
50  
51                         e.printStackTrace();
52                 }
53  
54                 return file;
55         }
56 //打开APK程序代码
57  
58 private void openFile(File file) {
59                 // TODO Auto-generated method stub
60                 Log.e("OpenFile", file.getName());
61                 Intent intent = new Intent();
62                 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
63                 intent.setAction(android.content.Intent.ACTION_VIEW);
64                 intent.setDataAndType(Uri.fromFile(file),
65                                 "application/vnd.android.package-archive");
66                 startActivity(intent);
67         }
68  
69  </strong>
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:72374次
    • 积分:1519
    • 等级:
    • 排名:千里之外
    • 原创:78篇
    • 转载:24篇
    • 译文:0篇
    • 评论:6条
    我的公众号
    文章分类
    最新评论