2010-12-13 9 views
0

Ich versuche, eine Datei in meinem Datenverzeichnis auf meiner SD-Karte zum Mediastore Content Provider hinzuzufügen. Ich befürchte jedoch, dass ich eine Java-Ausbildung in meinen Händen haben könnte. MediaScannerConnectionClient ist angeblich eine verschachtelte Klasse von MediaScannerConnection, aber diese Syntax wird nicht kompiliert. HierMediaScannerConnection, kompiliert diese Syntax nicht

ist der Link zu der MediaScannerConnection API: http://developer.android.com/reference/android/media/MediaScannerConnection.html

Was wäre der geeignete Weg sein Scanner zu verweisen?

Danke!

final String filename = (new File(img.uri.toString())).getAbsolutePath().substring(6); 

     final MediaScannerConnection scanner = new MediaScannerConnection(this, 
       new MediaScannerConnectionClient() { 
        public void onMediaScannerConnected() { 
         MediaScannerConnection.this.scanFile(filename, null /*mimeType*/); 
        } 

        public void onScanCompleted(String path, Uri uri) { 
         MediaScannerConnection.this.disconnect(); 
        } 
      }); 
     scanner.connect(); 
+0

auf Jungs kommen, ich brauche dich :-) – SapphireSun

+0

No sogar Vermutungen? – SapphireSun

Antwort

2

Ich fand meine Antwort schließlich in einem Beispiel.

.../android-8/ApiDemos/src/com/example/android/apis/content/ExternalStorage.java

// Tell the media scanner about the new file so that it is 
// immediately available to the user. 
MediaScannerConnection.scanFile(this, 
    new String[] { filename }, null, 
    new MediaScannerConnection.OnScanCompletedListener() { 
    public void onScanCompleted(String path, Uri uri) { 
    Log.i("ExternalStorage", "Scanned " + path + ":"); 
     Log.i("ExternalStorage", "-> uri=" + uri); 
    } 
});