Ici, je joins les journaux:
Caused by: Java.lang.IllegalArgumentException: Unknown URI: content://downloads/public_downloads/1587
at Android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.Java:165)
at Android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.Java:135)
at Android.content.ContentProviderProxy.query(ContentProviderNative.Java:418)
J'utilise ce code qui fonctionne bien, mais dans le cas du gestionnaire de téléchargement, il lance une exception à la première ligne du bloc `` essayer ''
Cursor cursor = null;
final String column = "_data";
final String[] projection = {
column
};
try {
cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,
null);
if (cursor != null && cursor.moveToFirst()) {
final int column_index = cursor.getColumnIndexOrThrow(column);
return cursor.getString(column_index);
}
} finally {
if (cursor != null)
cursor.close();
}
return null;
J'ai déjà essayé ceci: Android obtenant le chemin du fichier depuis l'URI de contenu en utilisant contentResolver et ceci: Java.lang.IllegalArgumentException: contenu URI inconn et quelques autres liés à cette question mais pas n'importe quel l'un d'eux résout mon problème.
J'obtenais la même erreur Unknown URI: content://downloads/public_downloads
. J'ai réussi à résoudre ce problème en modifiant contentUri et en utilisant les méthodes InputStream
pour extraire le fichier du répertoire de téléchargement. Sur certains appareils, changer contentUri en content://downloads/my_downloads
travaux. Consultez cette réponse pour une solution complète .