Android代码实现APK的下载安装和卸载1

先整理下网络搜集的各个方法,下篇写自己代码实现,留作模板代码。

下载APK:protected File downLoadFile(String httpUrl) {// TODO Auto-generated method stubfinal 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 blocke.printStackTrace();}} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return file;}这种方法没有使用封装方法FinalHttp,有专门包,,下面用它安装:String str = "/apkname.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:程序完整的路径 (包名+程序名).

享受每一刻的感觉,欣赏每一处的风景,这就是人生。

Android代码实现APK的下载安装和卸载1

相关文章:

你感兴趣的文章:

标签云: