Android錯誤:作物意圖在某些文件管理器上工作。Android錯誤:作物意圖在某些設備上工作
以下代碼:
啓動意圖從文件夾/文件裁剪圖像。
Intent intent = new Intent(Intent.ACTION_GET_CONTENT,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
//intent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
intent.putExtra("crop", "true");
intent.putExtra("return-data", true);
startActivityForResult(intent, 0);
2個版本的代碼在不同的設備,相同的Android版本上崩潰的方式不同。
1 verison:
try
{
bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), targetUri);
}catch (FileNotFoundException e){e.printStackTrace();}
catch (IOException e){e.printStackTrace();}
第二個版本(其他設備上的作品)
bitmap = (Bitmap) data.getExtras().get("data");
什麼是我該怎麼辦?
看看這個[相關問題]的接受答案(http://stackoverflow.com/questions/10008623/android-mediastore-crop-function-how-to-make-selection-arrows-always-visible )。作物意圖功能顯然不存在於每個設備上,並且可以定製爲具有不同的行爲。在這種情況下,您需要訴諸實施您自己的解決方案。 – tiguchi
這是個壞消息:-( –
你應該永遠不要盲目利用內部API ......在使用它們之前總是檢查它們是否存在,並且知道並非所有設備都支持它 –