Holen Sie sich Bilder thumbnail-Datei-Pfade

Ich versuche, das thumnail Pfade, nicht die bitmaps von Objekten haben.

Wenn ich die Abfrage für diese, einige der Miniatur-Pfade sind null aus irgendeinem Grund.
(Ich habe 1028 thumbnail-Bilder in meinem Gerät, die cursor-Länge ist in der Tat 1028, aber immer noch die Rückgabe null) ich weiß, es sind 1028 thumbnail-Bilder, da habe ich überprüft.
Hier ist mein code:

     String[] projection = {MediaStore.Images.Thumbnails._ID};
  //Create the cursor pointing to the SDCard

  cursor = this.getContentResolver().query( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
          projection, //Which columns to return
          null,       //Return all rows
          null,
          MediaStore.Images.Thumbnails.IMAGE_ID);
  //Get the column index of the Thumbnails Image ID
  Log.d(Global.TAG, "BEFORE");
  columnIndex = cursor.getColumnIndex(MediaStore.Images.Thumbnails._ID);
  Log.d(Global.TAG, "AFTER1");
  for(int i =0;i<cursor.getCount();i++){
      cursor.moveToPosition(i);

      Log.d("MyTag","BBABA" + i +" : " + getThumbnailPathForLocalFile(cursor.getLong(columnIndex)));
  }
  cursor.close();

Meine getThumbnailPathForLocalFile:

    String getThumbnailPathForLocalFile(long fileId)
 {
    //Log.d(Global., msg)
     Cursor thumbCursor = null;
     try
     {
         thumbCursor = this.getContentResolver().
                 query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI
                 , null
                 , MediaStore.Images.Thumbnails.IMAGE_ID + " = " + fileId+ " AND "
                   + MediaStore.Images.Thumbnails.KIND + " = "
                   + MediaStore.Images.Thumbnails.MINI_KIND , null, null);

         if(thumbCursor.moveToFirst())
         {
             //the path is stored in the DATA column
             int dataIndex = thumbCursor.getColumnIndexOrThrow( MediaStore.MediaColumns.DATA );
             String thumbnailPath = thumbCursor.getString(dataIndex);
             return thumbnailPath;
         }
     }
     finally
     {
         if(thumbCursor != null)
         {
             thumbCursor.close();
         }
     }

     return null;
 }

Hier mein logcat:
http://pastebin.com/UZLZF9Pg

Nach Prüfung sehe ich, dass die ids sende ich werden genau wie der index der for-Schleife.
Ich bin mir auch nicht sicher, dass mein code funktionieren soll, so dass jeder weitere code wird groß sein.

Warum haben Sie Ihre PROJEKTION zu MediaStore.Bilder.Miniaturen._ID und nicht MediaStore.Bilder.Miniaturen.DATEN?
Ich bin mir nicht sicher. Ich denke, ich habe das Beispiel irgendwo ab.Glaubst du, dass es das problem lösen kann? Sowieso, es ist irrelavant schon.
Ich wurde gefragt, weil ich früher {MediaStore.Bilder.Miniaturen.DATEN}, wie in der Lösung, und es funktionierte. So war ich neugierig, wenn Sie hatte einen anderen Ansatz.
Uhh, wenn Sie wouldv ' E erzählte mir, dass vor einigen Monaten, Sie lösen könnte, mir so viele Fragen.. 🙁

InformationsquelleAutor idish | 2013-08-11

Schreibe einen Kommentar