Skmaps 我锁上了我的锁

Skmaps 我锁上了我的锁,skmaps,Skmaps,我正在尝试下载一个离线地图包。尝试从skobbler支持网站对示例项目进行反向工程,但是当尝试开始下载时,下载管理器崩溃 我的用例是:显示一个可用国家的列表(在欧洲大陆内),让用户选择一个国家,然后在那时下载。到目前为止,我已经得到了一个列表,其中列出了这些选项。在选择项目(并开始下载)时,它会崩溃 为了这个问题,我评论了一些东西 相关代码: // Get the information about where to obtain the files from SKPackageURLInfo

我正在尝试下载一个离线地图包。尝试从skobbler支持网站对示例项目进行反向工程,但是当尝试开始下载时,下载管理器崩溃

我的用例是:显示一个可用国家的列表(在欧洲大陆内),让用户选择一个国家,然后在那时下载。到目前为止,我已经得到了一个列表,其中列出了这些选项。在选择项目(并开始下载)时,它会崩溃

为了这个问题,我评论了一些东西

相关代码:

// Get the information about where to obtain the files from
SKPackageURLInfo urlInfo = SKPackageManager.getInstance().getURLInfoForPackageWithCode(pack.packageCode);

// Steps: SKM, ZIP, TXG
List<SKToolsFileDownloadStep> downloadSteps = new ArrayList<>();
downloadSteps.add(new SKToolsFileDownloadStep(urlInfo.getMapURL(), pack.file, pack.skmsize)); // SKM
//downloadSteps.add();  // TODO ZIP
//downloadSteps.add()); // TODO TXG

List<SKToolsDownloadItem> downloadItems = new ArrayList<>(1);
downloadItems.add(new SKToolsDownloadItem(pack.packageCode, downloadSteps, SKToolsDownloadItem.QUEUED, true, true));

mDownloadManager.startDownload(downloadItems); // This is where the crash is

这是从管理器内部某处调用的代码。我认为文档和示例项目中缺少一些重要的设置步骤。

请问您为什么需要修改提供的downloadManager?是否有任何功能不存在?理想的用例是什么?我不想把它弄虚作假。我想使用它,但wifi锁不断抛出异常“RuntimeException:WifiLock under locked my_lock”。我提供的代码只是创建发送到downloadManager的项目。测试开源演示—使用SKToolsDownloadManager下载包(包括skm、txg和zip文件)—工作正常。地图可以脱机使用,也可以使用下载包的脱机地址搜索选项。在安卓5.1版Nexus5设备上测试。为了测试下载功能,请检查以下代码片段(其中一些注释描述了每一步发生的情况):@SylviA我也有类似的问题。我只是复制并粘贴上面的所有代码,然后运行它。每次我的应用程序在releaseresourceswhendownloadthreadfishes()方法中崩溃时,在这一行“wifiLock.release();”。错误文本为“java.lang.RuntimeException:WifiLock在锁定的my_锁下”。请你帮我做什么或检查什么?谢谢@西尔维亚,我解决了我的问题。在SKToolsDownloadPerformer中,已创建但从未获取WifiLock。所以release()方法抛出一个异常。因此,解决方案是在执行任何release()之前检查isHeld(),或者在创建锁之后立即添加acquire()。
Invalid use of SingleClientConnManager: connection still allocated.