首先尝试解析错误。但第二次尝试成功安装在Android上

时间:2016-04-22 07:18:08

标签: android

我想要

首先,编写我的服务器URL 2.下载apk 3.安装apk

当我安装apk

解析错误消息。 但重试安装,成功安装apk。

总之,首先尝试安装apk。解析错误消息 试过后。成功安装apk。

 String url = "https://myserver/.apk ";
            File apkFile = new File("/sdcard/Download/openapk.apk");

            Uri mUri = Uri.parse(url);
            DownloadManager.Request r = new DownloadManager.Request(mUri);
            r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "openapk.apk");
            r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
            DownloadManager dm = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
            dm.enqueue(r);  



            Uri apkUri = Uri.fromFile(apkFile);
            Intent webIntent =new Intent(Intent.ACTION_VIEW);
            webIntent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
            webIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(webIntent);

1 个答案:

答案 0 :(得分:0)

下载管理器以异步方式工作,因此您不能在调用dm.enqueue()后立即尝试立即安装APK,因为您的代码没有在那里等待,但是,正如名称所示,将下载排入队列并在下载时将控制权返回给您的代码继续分开工作。

您必须等待下载管理器完成,然后尝试安装您的应用。下载管理器在下载完成后广播ACTION_DOWNLOAD_COMPLETE意图操作,因此您只需等待它然后再行动。

文档:https://developer.android.com/reference/android/app/DownloadManager.html