DownloadManager 检查 url 是否有效

DownloadManager check if url is valid

我正在尝试使用 DownloadManager 从 URL 下载 .apk 文件。当 URL 正常时,一切正常,但当我输入错误的 URL 时,我看到下载开始并很快停止,但永远不会调用 onReceive 方法。

BroadcastReceiver onComplete = new BroadcastReceiver() {
    public void onReceive(Context ctxt, Intent intent) {

        if(command.equals(Protocol.APPS_UPDATE_ONROUTE_APP)) {
               IntentFilter screenStateFilter = new IntentFilter();
               my_context.registerReceiver(new MyBroadCastReciever(), screenStateFilter);
               CommandLine.execCommandLine("monkey -p com.fagica.flosko -c android.intent.category.LAUNCHER 1");
        }
    }
}

我该怎么做才能检测到 URL 不是正确的 apk link?

您可以通过获取文件大小来确保 link 正确。

一般来说,如果你得到准确的文件大小,就意味着有一个正确的link。如果您输入错误 link,您的内容长度将不正确。

您可以通过

获取内容长度
URL url = new URL("YOU_LINK_HERE");
long size = url.openConnection().getContentLength();

需要权限,

<uses-permission android:name="android.permission.INTERNET" />