Öffnen von Bildern aus einem Ordner in der Galerie

Ich das öffnen will alle Bilder aus einem bestimmten Ordner mit der Android-Galerie. Ich habe eine Lösung gefunden in einer alten Frage, aber es hat nicht funktioniert. Der code ist:

public class MainActivity extends Activity implements MediaScannerConnectionClient {

public String[] allFiles;
private String SCAN_PATH;
private static final String FILE_TYPE = "image/*";
private MediaScannerConnection conn;
private String folderName = "MyAPP";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.album);

    File folder = new File("/sdcard/"+folderName+"/");
    allFiles = folder.list();

    SCAN_PATH = Environment.getExternalStorageDirectory().toString()
            + "/"+folderName+"/" + allFiles[0];

    Button scanBtn = (Button) findViewById(R.id.button1);
    scanBtn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            startScan();
        }
    });
}

private void startScan() {
    if (conn != null) {
        conn.disconnect();
    }

    conn = new MediaScannerConnection(this, this);
    conn.connect();
}

public void onMediaScannerConnected() {
    conn.scanFile(SCAN_PATH, FILE_TYPE);
}

public void onScanCompleted(String path, Uri uri) {
    try {
        if (uri != null) {
            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
            intent.setData(uri);
            startActivity(intent);
        }
    } finally {
        conn.disconnect();
        conn = null;
    }
}
}

Mit diesem code bin ich immer diese Fehlermeldung:

08-14 11:09:20.093: W/ContentResolver(25151): Failed to get type for: content://media/external/images/media/10471 (Unknown URL : content://media/external/images/media/10471)
08-14 11:09:20.093: E/JavaBinder(25151): *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)
08-14 11:09:20.093: E/JavaBinder(25151): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT dat=content://media/external/images/media/10471 }
08-14 11:09:20.093: E/JavaBinder(25151):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.app.Activity.startActivityForResult(Activity.java:3351)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.app.Activity.startActivityForResult(Activity.java:3312)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.app.Activity.startActivity(Activity.java:3522)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.app.Activity.startActivity(Activity.java:3490)
08-14 11:09:20.093: E/JavaBinder(25151):    at com.example.camtest.MainActivity.onScanCompleted(MainActivity.java:64)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.media.MediaScannerConnection$1.scanCompleted(MediaScannerConnection.java:53)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.media.IMediaScannerListener$Stub.onTransact(IMediaScannerListener.java:60)
08-14 11:09:20.093: E/JavaBinder(25151):    at android.os.Binder.execTransact(Binder.java:367)
08-14 11:09:20.093: E/JavaBinder(25151):    at dalvik.system.NativeStart.run(Native Method)

Wäre es ok, wenn ich dieses code funktioniert, aber ich kann auch jede andere Idee, die Sie mir empfehlen

  • 1. Versuchen Sie, mit intent.setType("image/*"); nach der Erklärung des Intent. 2. Lesen Sie hier eine etwas developer.android.com/reference/android/content/... 3. Erklären die Aktivität im Manifest (überprüfen Sie dies nur für den Fall). 4. Was sind die Arten von Bildern für die Galerie?
  • Wirst du bitte erläutern Sie Ihre Frage, was bedeutet "ich will öffnen Sie alle Bilder aus einem bestimmten Ordner mit der Android-Galerie."????
  • Ich will öffnen Sie eine Galerie, aber nur mit Bildern in einem Ordner namens MyAPP
InformationsquelleAutor Goblinch | 2013-08-14
Schreibe einen Kommentar