안드로이드 ACTION_VIEW 호출시 Uri scheme로 file:// 또는 content:// 로 전달하여 갤러리를 호출가능한가요?

조회수 1154회

클러스터 마커를 클릭시 클릭한 마커가 가지고 있는 파일의 경로를 사용하여 안드로이드 시스템 갤러리에서 사진을 열어보는 기능을 구현하려고 합니다.

주석된 부분처럼 디렉토리 경로는 정상적으로 전달이 되어 안드로이드 시스템의 갤러리가 정상적으로 호출이 되는데 제가 구현하고 싶은 기능은 갤러리가 호출이 되는것이 아니라

사진의 경로값을 디렉토리 경로 대신 전달하여 갤러리 목록에서 사진을 클릭했을경우 나타나는 이미지 뷰..? 화면으로 바로 실행되게 하고 싶습니다.

uri 전달값을 잘 수정하면 될꺼같은 느낌이 있는데 구현 가능한 방법인지 아니면 바보짓을 하고있는지 모르겠습니다..

mClusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener<MyItem>() {
    @Override
    public boolean onClusterItemClick(MyItem myItem) {
        CameraUpdate center = CameraUpdateFactory.newLatLng(myItem.getPosition());
        map.animateCamera(center);
        //Toast.makeText(MainActivity.this, myItem.getPosition().toString(), Toast.LENGTH_SHORT).show();
        Log.e("TAG", "클러스터-아이템 클릭");

        //Uri targetUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
        //String targetDir = Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera";
        //targetUri = targetUri.buildUpon().appendQueryParameter("bucketId", String.valueOf(targetDir.toLowerCase().hashCode())).build();


       // Intent intent = new Intent(Intent.ACTION_VIEW, targetUri);
        String path = myItem.path;
        Log.e("TAG", "setOnClusterItemClickListener:: " + path.substring(1));
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(new File(myItem.path.substring(2))));

        startActivity(intent);

        return true;
    }
});
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)