Uri content://media/external/file ist für einige Geräte nicht vorhandenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Uri content://media/external/file ist für einige Geräte nicht vorhanden

Post by Anonymous »

Ich habe ein Problem mit einigen Geräten. Ich kann es auf keinem Gerät reproduzieren, aber einige Benutzer haben mir ziemlich viele Absturzberichte gemeldet.

Es gibt diese Ausnahme:

Code: Select all

java.lang.IllegalArgumentException: Unknown URL content://media/external/file
at android.content.ContentResolver.delete(ContentResolver.java:1024)
Ich verwende Folgendes:


context.getContentResolver().delete(MediaStore.Files.getContentUri("external"),
MediaStore.Files.FileColumns.DATA + "=?", neuer String[] { Pfad });


Danach rufe ich MediaScannerConnection.scanFile() für das übergeordnete Verzeichnis der Datei auf, da dies meiner Meinung nach die funktionalste Möglichkeit ist, MediaScanner über das Löschen einer Datei zu benachrichtigen und MTP-Inhalte zu aktualisieren. Ich habe alle anderen Möglichkeiten ausprobiert, die ich hier auf Stackoverflow gefunden habe (z. B. Android So verwenden Sie MediaScannerConnection scanFile), aber nichts funktioniert so gut wie diese.

Übrigens. Ich verwende es nur für APIs 11 und neuer. Der externe Speicher ist auf jeden Fall gemountet.

Ich habe diese Fragen:
1. Kennen Sie einen Grund, warum diese Ausnahme auftritt? Ich möchte die Ausnahme nicht einfach ignorieren. Und ich möchte diesen Code nicht entfernen, wenn er auf den meisten Geräten recht gut funktioniert.
2. Kennen Sie eine neue zuverlässige Methode, wie Sie MediaScanner benachrichtigen und den MTP-Inhalt sofort aktualisieren können, wenn eine Datei gelöscht wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post