读书人

Android代码兑现APK文件的安装与卸载及

发布时间: 2013-07-11 15:38:46 作者: rapoo

Android代码实现APK文件的安装与卸载及下载


? ? ? ? ? ? ? ? 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);
? ? ? ? }

读书人网 >Android

热点推荐