所以我让下面的代码正常工作直到android 4.4。我能够在intent.getData()
中通过onActivityResult
获取uri的路径,然后对uri做一些特别的事情来获取所选照片的路径。
private Intent createPhotoIntent() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
Intent chooser = createPhotoChooserIntent(createPhotoFromCameraIntent());
chooser.putExtra(Intent.EXTRA_INTENT, intent);
return chooser;
}
private Intent createPhotoChooserIntent(Intent... intents) {
Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intents);
chooser.putExtra(Intent.EXTRA_TITLE, "Please Choose Your Image");
return chooser;
}
private Intent createPhotoFromCameraIntent() {
return new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
}
我不明白为什么我现在无法从intent.getData()
得到任何东西?我还插入换行符来检查我从onActivityResult
中的意图中收到的内容,并且我看不到与路径相关的内容。我能够看到content://media/external/images/media/1249
但现在不再看了...... android 4.4会发生什么!! ??
请帮忙。