關於小米note採用Intent.ACTION_GET_CONTENT選擇相冊問題

在選擇相冊時,使用Intent.ACTION_GET_CONTENT方式,而後在onActivityResult中經過getData()獲得uri,再經過ContentResolver去獲取Cursor對象,大部分機型都沒有問題。可是在用小米note測試出現了選擇了照片返回,能獲取uri,可是在獲取Cursor對象的時候獲得的Cursor對象是null的問題。代碼是這樣的:測試

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);   
intent.setType("image/*");
startActivityForResult(intent, requestCode);

onActivityResult中是這樣的:this

if (resultCode == RESULT_OK) {
    Uri uri = data.getData();
    ContentResolver cr = this.getContentResolver();
    Cursor c = cr.query(uri, null, null, null, null);
    if (c != null) {
        ...
     ...
    }
}

Cursor c = cr.query(uri, null, null, null, null);這裏的時候獲得的Cursor對象爲空。(具體什麼問題,目前還沒搞清楚)spa

雖然沒搞清楚緣由,可是問題仍是得解決。。。因而,換了一種Intent方式Intent.ACTION_PICK,問題解決。對象

代碼以下:get

Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, requestCode);

雖然問題解決了,可是不知道是什麼緣由,因此特此記錄,等之後搞清楚了再更新。it


後面測試了一下,好像是寫了 intent.setType("image/*"); 這句代碼就會出現這個問題。request

相關文章
相關標籤/搜索