Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), GET_FILE_CODE);
Uruchamiam Intent do wyboru plików. Po wykonaniu zadania, odpala mi się onActivityResult.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GET_FILE_CODE && resultCode == RESULT_OK) {
Log.i("Select", "OK");
Uri uri = data.getData();
String dir = Environment.getExternalStorageDirectory() + uri.getPath();
File file = new File(dir);
Log.i("IntentData", "String: " + data.getDataString() + "\nUri: " + uri.getPath() +
"\nDir: " + dir + "\nExists: " + file.exists() +
"\nExternal Storage" + Environment.getExternalStorageDirectory());
}
}
Niestety plik nie istnieje. W jaki sposób pobrać jego prawidłową ścieżkę (bo o to pewnie chodzi)? Może jest jakiś inny sposób, który znacie? Zastanawiałem się nad stworzeniem Activity, który odpowiadałby za eksploatora, ale myślę, że to przesada.