본문 바로가기

DEV/ANDROID

안드로이드 6.0이상에서 갤러리에서 사진 불러오기가 안되는 문제(Android 6.0 can't get image from gallery)

반응형

안드로이드 마쉬멜로 이상 버전에서 갤러리에서 사진을 불러오는 코드가 안먹었는다.


찾아보니 마쉬멜로 이상에선 런타임에 권한설정을 주어야 한다.



if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
checkPermissions();
}



private void checkPermissions(){

if (ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED||
ContextCompat.checkSelfPermission(getActivity(),
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(getActivity(),
new String[]{
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
},
1052);

}

}


public void onRequestPermissionsResult(int requestCode,
String permissions[],
int[] grantResults) {
switch (requestCode) {
case 1052: {
// If request is cancelled, the result
// arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED
&& grantResults[1] == PackageManager.PERMISSION_GRANTED ){

// permission was granted.

} else {
// Permission denied - Show a message
// to inform the user that this app only works
// with these permissions granted

}
return;
}

}
}

출처

http://stackoverflow.com/questions/38440362/android-cant-get-image-from-gallery

반응형