6

我正在编写一个简单的应用程序,当通过下载管理器在 android 设备上完成任何下载时会收到通知。我已经为它创建了一个广播接收器,并在我的清单文件中设置了如下意图过滤器。但是,当下载完成时,我的广播接收器不会被调用。我是否还需要设置其他一些权限,以便我的应用接收下载管理器发送的 DOWNLOAD_COMPLETE 意图?请注意:我的应用需要收听通过下载管理器完成的任何下载

<receiver
    android:name="com.example.filedownload.Downloadlistener" >
       <intent-filter>
        <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
        <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
       </intent-filter>
</receiver>

以下是使用的权限:

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

3 回答 3

10

我终于通过在清单中添加以下权限来解决此问题:

<uses-permission android:name="android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS" />
于 2013-09-15T14:08:10.460 回答
1

你的 BroadcastReceiver 真的被调用了com.example.filedownload.Downloadlistener吗?您可能需要更改它以匹配实际名称。

于 2013-04-16T16:15:42.333 回答
1

晚了,但有机会查看下载管理器的源代码,并且下载完成广播似乎针对启动下载的应用程序,因此您似乎无法捕获其他应用程序的下载...

于 2014-10-03T09:35:04.880 回答