我正在编写一个简单的应用程序,当通过下载管理器在android设备上完成任何下载时都会收到通知。我已经为相同的创建了一个广播接收器,并在我的Manifest文件中设置意图过滤器如下。然而,当下载完成时,我的广播接收器不会被调用。是否还有一些其他的权限,我需要设置,以便我的应用程序接收下载管理器发送的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" />
我终于设法通过向我的清单添加以下权限来解决此问题:
<uses-permission android:name="android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS" />
你的BroadcastReceiver真的叫com.example.filedownload.Downloadlistener
吗?您可能需要更改它以匹配实际名称。
来晚了,但有机会查看下载管理器的源代码,似乎下载完成广播是针对发起下载的应用程序的,所以似乎你不能捕捉其他应用程序的下载…