Android 下载管理器广播接收器不工作
我一直在关注这一点,但没有成功,基本上,我希望在从任何来源下载或放入下载文件夹时得到通知,例如,下载,通过计算机放入。问题是,我没有收到我的接收者的任何回应。这是我的密码:Android 下载管理器广播接收器不工作,android,broadcastreceiver,android-download-manager,download,Android,Broadcastreceiver,Android Download Manager,Download,我一直在关注这一点,但没有成功,基本上,我希望在从任何来源下载或放入下载文件夹时得到通知,例如,下载,通过计算机放入。问题是,我没有收到我的接收者的任何回应。这是我的密码: public class DownloadReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d("TAG", "SOMETHING DOWNLOADED"
public class DownloadReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("TAG", "SOMETHING DOWNLOADED");
Toast.makeText(context, "SOMETHING DOWNLOADED", Toast.LENGTH_SHORT).show();
long receivedID = intent.getLongExtra(
DownloadManager.EXTRA_DOWNLOAD_ID, -1L);
DownloadManager mgr = (DownloadManager)
context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(receivedID);
Cursor cur = mgr.query(query);
int index = cur.getColumnIndex(DownloadManager.COLUMN_STATUS);
if(cur.moveToFirst()) {
if(cur.getInt(index) == DownloadManager.STATUS_SUCCESSFUL){
// do something
Log.d("TAG", "SOMETHING DOWNLOADED");
Toast.makeText(context, "SOMETHING DOWNLOADED", Toast.LENGTH_SHORT).show();
}
}
cur.close();
}
以下是我在申请文件中注册的方式:
final IntentFilter downloadFilter = new IntentFilter();
downloadFilter.addAction("android.intent.action.DOWNLOAD_COMPLETE");
registerReceiver(new DownloadReceiver(),downloadFilter);
这是我的Android清单:
<receiver android:name="com.tproductions.Openit.provider.DownloadReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" android:enabled="true" />
</intent-filter>
</receiver>
从您的链接:您知道,您将从DownloadManager接收仅针对您从应用程序请求的下载的广播,对吗?-西蒙9月13日13点16分
。哦。我没看到。好的,那么有没有一种方法可以在不定期扫描文件夹的情况下实现我的功能?您是否尝试过FileObserver?它是否以同样的方式工作?出于实际原因,我希望在每次下载时都能执行我的功能。你说的“以同样的方式工作”是什么意思?另一种方法不起作用。不是吗!?从您的链接:您知道,您将从DownloadManager接收仅针对您从应用程序请求的下载的广播,对吗?-西蒙9月13日13点16分
。哦。我没看到。好的,那么有没有一种方法可以在不定期扫描文件夹的情况下实现我的功能?您是否尝试过FileObserver?它是否以同样的方式工作?出于实际原因,我希望在每次下载时都能执行我的功能。你说的“以同样的方式工作”是什么意思?另一种方法不起作用。不是吗!?