마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

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

0 추천

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

 

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

 

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

 

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;
    }
});
nowy130 님이 2018년 12월 27일 질문
2018년 12월 27일 수정

1개의 답변

0 추천
https://www.androidpub.com/49537

참조하시면 될것같아요
비뢰광 (7,400 포인트) 님이 2018년 12월 27일 답변
...