After "observing" about ContentObserver I noticed that OnChange before API 16 not passing any parameters, so I decided to implement it to each row on my project (the project is downloading url's with the build-in DownloadManager)
for each row I'm creating a new ContentObserver :
Uri downloadsContentUri = Uri.parse("content://downloads/my_downloads/downloads/" + appDownloadId);
DownloadsObserver downloadsObserver = new DownloadsObserver(downloadId, new Handler());
getContentResolver().registerContentObserver(downloadsContentUri, true, downloadsObserver);
as you can see the Uri always changing by the row id (its the same on the DownloadManager DB I've checked), and after this code I'm storing all the observer on a list, the strange thing is the OnChange is being called only once and only for the first download, and never called again even after it finished downloading..
what I'm doing wrong here? How can I accomplish observing each row on the DownloadManager DB? (I'm a system app)
thanks.