您的位置:首页 > 移动开发 > Android开发

Android apk下载 安装 卸载 打开

2013-06-09 21:54 537 查看
今天来介绍一下Android apk安装、卸载、打开

安装

String str = "/CanavaCancel.apk";

 

String fileName =

Environment.getExternalStorageDirectory() + str;

Intent intent = new

Intent(Intent.ACTION_VIEW);

intent.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);

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: