Android实现应用下载并自动安装apk包
2012-11-06 09:00
736 查看
安装:
卸载:
Environment拥有一些可以获取环境变量的方法
package:com.demo.CanavaCancel这个形式是package:程序完整的路径(包名+程序名)
//下载apk程序代码
文章来自:http://lib.open-open.com/view/1329274683593
1 | Stringstr= "/CanavaCancel.apk" ; |
2 | StringfileName=Environment.getExternalStorageDirectory()+str; |
3 | Intentintent= new Intent(Intent.ACTION_VIEW); |
4 | intent.setDataAndType(Uri.fromFile( new File(fileName)), "application/vnd.android.package-archive" ); |
5 | startActivity(intent); |
1 | UripackageURI=Uri.parse( "package:com.demo.CanavaCancel" ); |
2 | IntentuninstallIntent= new Intent(Intent.ACTION_DELETE,packageURI); |
3 | startActivity(uninstallIntent); |
package:com.demo.CanavaCancel这个形式是package:程序完整的路径(包名+程序名)
//下载apk程序代码
01 | protected FiledownLoadFile(StringhttpUrl){ |
02 | //TODOAuto-generatedmethodstub |
03 | final StringfileName= "updata.apk" ; |
04 | FiletmpFile= new File( "/sdcard/update" ); |
05 | if (!tmpFile.exists()){ |
06 | tmpFile.mkdir(); |
07 | } |
08 | final Filefile= new File( "/sdcard/update/" +fileName); |
09 |
10 | try { |
11 | URLurl= new URL(httpUrl); |
12 | try { |
13 | HttpURLConnectionconn=(HttpURLConnection)url |
14 | .openConnection(); |
15 | InputStreamis=conn.getInputStream(); |
16 | FileOutputStreamfos= new FileOutputStream(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 (IOExceptione){ |
44 | //TODOAuto-generatedcatchblock |
45 |
46 | e.printStackTrace(); |
47 | } |
48 | } catch (MalformedURLExceptione){ |
49 | //TODOAuto-generatedcatchblock |
50 |
51 | e.printStackTrace(); |
52 | } |
53 |
54 | return file; |
55 | } |
56 | //打开APK程序代码 |
57 |
58 | private void openFile(Filefile){ |
59 | //TODOAuto-generatedmethodstub |
60 | Log.e( "OpenFile" ,file.getName()); |
61 | Intentintent= 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 | } |
相关文章推荐
- apk安装法之二----一段Android实现应用下载并自动安装apk包的代码
- (转载)Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- 一段Android实现应用下载并自动安装apk包的代码
- Android实现应用下载并自动安装apk包
- apk安装法之二----一段Android实现应用下载并自动安装apk包的代码
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android客户端apk自动检测更新自动下载自动安装的实现方法
- Android实现应用下载并自动安装apk包
- Android实现应用下载并自动安装apk包
- Android应用自动更新功能的实现!!!软件更新,自动下载,安装
- Android实现应用下载并自动安装apk包
- Android应用自动更新功能的实现!!!软件更新,自动下载,安装
- Android 实现apk文件下载并自动安装
- Android实现应用下载并自动安装apk包
- android 应用升级 下载安装包 完成后 自动安装apk文件
- Android 一步一步实现版本自动更新(第二步 下载和安装apk)