日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android实现文件下载并自动安装apk包

發(fā)布時(shí)間:2025/3/21 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android实现文件下载并自动安装apk包 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
安裝:
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擁有一些可以獲取環(huán)境變量的方法?
package:com.demo.CanavaCancel 這個(gè)形式是 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, "連接超時(shí)", 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);
? ? ? ? }

總結(jié)

以上是生活随笔為你收集整理的Android实现文件下载并自动安装apk包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。