我使用下载管理器API下载了APK文件,但不知道该文件存储在哪里。现在我需要找到这个APK文件并安装它,请给我一些线索。谢谢!
我使用下载管理器API下载了APK文件,但不知道该文件存储在哪里。现在我需要找到这个APK文件并安装它,请给我一些线索。谢谢!
使用以下代码安装apk:
Intent promptInstall = new Intent(Intent.ACTION_VIEW)
.setData(Uri.parse("file:///path/to/your.apk"))
.setType("application/vnd.android.package-archive");
startActivity(promptInstall);
registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
以及对处理程序的操作:
BroadcastReceiver onComplete=new BroadcastReceiver() {
public void onReceive(Context ctxt, Intent intent) {
long id = intent.getExtras().getLong(DownloadManager.EXTRA_DOWNLOAD_ID);
DownloadManager dm =(DownloadManager)getSystemService(DOWNLOAD_SERVICE);
intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(dm.getUriForDownloadedFile(id),
dm.getMimeTypeForDownloadedFile(id));
startActivity(intent);
}
};
import android.app.DownloadManager;
。 - Sami Eltamawydm.*
类似的方法来处理它,以返回相同的输出。如果您发现它有用,请投票支持答案。 - Sami Eltamawy@Uday,@Adb El-Rahman的代码是有效的。当您初始化下载时,需要设置目标URI。
String sAndroidUrl = "http://somesite.com/Install.apk";
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse(sAndroidUrl));
String sDest = "file://" + android.os.Environment.getExternalStorageDirectory().toString() + "/Download/Install.apk";
request.setDestinationUri(Uri.parse(sDest));
enqueue = dm.enqueue(request);