如何删除DownloadManager缓存文件夹?

时间:2018-07-20 23:09:53

标签: android android-download-manager

我正在以编程方式删除INFO Socket connection established to (open ip)/(open ip):2181, initiating session (org.apache.zookeeper.ClientCnxn) [2018-07-20 16:05:11,102] INFO Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn) [2018-07-20 16:05:11,763] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING at kafka.zookeeper.ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1.apply$mcV$sp(ZooKeeperClient.scala:225) at kafka.zookeeper.ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1.apply(ZooKeeperClient.scala:221) at kafka.zookeeper.ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1.apply(ZooKeeperClient.scala:221) at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:250) at kafka.zookeeper.ZooKeeperClient.kafka$zookeeper$ZooKeeperClient$$waitUntilConnected(ZooKeeperClient.scala:221) at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:95) at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1538) at kafka.server.KafkaServer.kafka$server$KafkaServer$$createZkClient$1(KafkaServer.scala:345) at kafka.server.KafkaServer.initZkClient(KafkaServer.scala:369) at kafka.server.KafkaServer.startup(KafkaServer.scala:202) at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38) at kafka.Kafka$.main(Kafka.scala:92) at kafka.Kafka.main(Kafka.scala) [2018-07-20 16:05:11,774] INFO shutting down (kafka.server.KafkaServer) [2018-07-20 16:05:11,787] WARN (kafka.utils.CoreUtils$) java.lang.NullPointerException at kafka.server.KafkaServer$$anonfun$shutdown$5.apply$mcV$sp(KafkaServer.scala:569) at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:85) at kafka.server.KafkaServer.shutdown(KafkaServer.scala:569) at kafka.server.KafkaServer.startup(KafkaServer.scala:326) at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38) at kafka.Kafka$.main(Kafka.scala:92) at kafka.Kafka.main(Kafka.scala) [2018-07-20 16:05:11,793] INFO shut down completed (kafka.server.KafkaServer) [2018-07-20 16:05:11,796] ERROR Exiting Kafka. (kafka.server.KafkaServerStartable) [2018-07-20 16:05:11,802] INFO shutting down (kafka.server.KafkaServer) 上的文件,但似乎无权访问它。我具有签名级应用许可,可以在外壳中执行/data/user/0/com.android.providers.downloads/cacheadb root,但是su收到Runtime.getRuntime().exec(su)异常。当我尝试执行Permission denied并检查它是否存在时,它返回false。缓存文件夹的权限为File file = new File(path)。  如何从DownloadManager缓存目录中删除文件?

更新

最好的方法似乎是使用drwxrwx--x将其从缓存文件夹中删除。虽然没有足够的文档证明这样做。

1 个答案:

答案 0 :(得分:0)

当可用时,最好的方法似乎是DownloadManager remove(downloadId)。实际上,它会显示一条消息Deleting /data/data/com.android.providers.downloads/cache/binary.apk via provider delete

来删除文件

如果您希望downloadIds列表删除整个缓存,则程序员可能需要使用DownloadManager查询并按状态完成过滤才能删除所有缓存。