首先,這不是結果代碼過早返回的常見問題。在這種情況下,只有在畫廊中挑選物品後纔會返回。Android圖庫始終將RESULT_CANCELED返回到onActivityResult
在我的測試情況下,我所說的畫廊與此代碼:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, SELECT_PICTURE);
,並在onActivityResult有:
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
pathText.setText(selectedImageUri.getPath());
}
} else {
pathText.setText("Result not OK - code is " + resultCode);
}
pathText只是一個TextView我把在顯示結果中測試用例。在實際應用中,路徑有不同的用途。
如果我使用ACTION_PICK而不是_GET_CONTENT,我會收到別人報告的立即失敗。清單中沒有launchMode標籤(有些帖子在該區域提出了問題)。
也許這裏有一條線索。在東芝Thrive上,使用圖庫,文件管理器或Fish Bowl照片庫不會出現此錯誤。在Kindle Fire上,Quickoffice也能夠正確返回圖像路徑。該漏洞只在Kindle的內置圖庫中出現。在「摩托羅拉Droid(2.3.4),HTC EVO(2.3)」上也觀察到這個錯誤。
請問,我怎樣才能以適用於所有這些設備的方式從圖庫中獲取圖像路徑?
似乎它是Kindle Fire中的一個錯誤。也許重複的http://stackoverflow.com/questions/9951006/android-image-picker-doesnt-work-on-kindle-fire/9951054#9951054 – 2012-04-03 22:05:01
我認爲你一定是對的。我確信幾周前我寫了這段代碼,但最近失敗了。 – 2012-04-04 16:55:16