현재
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            try {
                System.out.println("고양이10");
                InputStream in = getContentResolver().openInputStream(data.getData());
                Bitmap img = BitmapFactory.decodeStream(in);
                in.close();
                Uri img_link = data.getData();
                System.out.println("고양" + getRealPathFromURI(img_link));
                img_url = img_link.getPath();
                //String ims = getRealPathFromURI(img_link);
                //getRealImagePath(img_link);
            } catch (Exception e) {
            }
        } else if (resultCode == RESULT_CANCELED) {
            Toast.makeText(this, "사진 선택 취소", Toast.LENGTH_LONG).show();
        }
    }
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
private String getRealPathFromURI(Uri contentUri)
{
    if (contentUri.getPath().startsWith("/storage"))
    {
        return contentUri.getPath();
    }
    String id = DocumentsContract.getDocumentId(contentUri).split(":")[1];
    String[] columns = { MediaStore.Files.FileColumns.DATA };
    String selection = MediaStore.Files.FileColumns._ID + " = " + id;Cursor cursor = getContentResolver().query(MediaStore.Files.getContentUri("external"), columns, selection, null, null);
    try {int columnIndex = cursor.getColumnIndex(columns[0]); if (cursor.moveToFirst())
    {
        return cursor.getString(columnIndex);
    }
    }
    finally {cursor.close();
    }
    return null;
}위의 갤러리에서 이미지를 선택하면 그 이미지의 uri를 구하고 그것으로 절대경로를 구하고싶은데 retrun하는 값이 계속 null로만 나오더라고요. 이게 이미지를 가져오는 방식에서 잘못된건가요>
manifest는
<uses-permission android:name="android.permission"/>
<uses-permission android:name="android.permission.INTERNET" />
users-permission을 이렇게 중복해서 써도 괜찮나요>