Android程序使用代码的安装和卸载!!! 

安装: String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent = new Intent(Intent.ACTION_VIEW);  i ntent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); startActivity(intent); 卸载: Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");    Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);    startActivity(uninstallIntent); Environment拥有一些可以获取环境变量的方法  package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).

//下载apk程序代码
protected File downLoadFile(String httpUrl) {
                // TODO Auto-generated method stub
                final String fileName = "updata.apk";
                File tmpFile = new File("/sdcard/update");
                if (!tmpFile.exists()) {
                        tmpFile.mkdir();
                }
                final File file = new File("/sdcard/update/" + fileName);

                try {
                        URL url = new URL(httpUrl);
                        try {
                                HttpURLConnection conn = (HttpURLConnection) url
                                                .openConnection();
                                InputStream is = conn.getInputStream();
                                FileOutputStream fos = new FileOutputStream(file);
                                byte[] buf = new byte[256];
                                conn.connect();
                                double count = 0;
                                if (conn.getResponseCode() >= 400) {
                                        Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)
                                                        .show();
                                } else {
                                        while (count <= 100) {
                                                if (is != null) {
                                                        int numRead = is.read(buf);
                                                        if (numRead <= 0) {
                                                                break;
                                                        } else {
                                                                fos.write(buf, 0, numRead);
                                                        }

                                                } else {
                                                        break;
                                                }

                                        }
                                }

                                conn.disconnect();
                                fos.close();
                                is.close();
                        } catch (IOException e) {
                                // TODO Auto-generated catch block

                                e.printStackTrace();
                        }
                } catch (MalformedURLException e) {
                        // TODO Auto-generated catch block

                        e.printStackTrace();
                }

                return file;
        }
//打开APK程序代码

private void openFile(File file) {
                // TODO Auto-generated method stub
                Log.e("OpenFile", file.getName());
                Intent intent = new Intent();
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setAction(android.content.Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.fromFile(file),
                                "application/vnd.android.package-archive");
                startActivity(intent);
        }

更多相关文章

  1. 主界面监听返回键,退出程序
  2. 2011.09.01(4)——— android 应用程序跳转到桌面
  3. Android学习——在Android中使用OpenCV的第一个程序
  4. Android命令行启动程序正确使用技巧解析
  5. Android 程序优化

随机推荐

  1. 学习MVVM遇到的Error记录
  2. 通过Android Studio 导出Jar包
  3. Android(安卓)底部导航栏BottomNavigatio
  4. android设置系统图标后手机上不显示出来
  5. Android中的数据结构
  6. Android里handler线程间的通信详解
  7. 通过Android的okhttp接口访问网络接口
  8. android ndk ant build提示 taskdef clas
  9. Android 交叉编译 Linux 可执行文件
  10. android摄像头翻转90度(二维码扫描)