일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- android google account add call
- android device add account
- progressbar rounding
- java hashmap sorting
- nougat
- bindservice
- android progressbar setIndeterminateDrawable not working
- HashMap
- app to app transaction
- progressbar custom marshmallow
- android border custom
- Messenger
- android layout border
Archives
- Today
- Total
기타치는 개발자
[Android]미디어 파일 새로고침 관련(MediaScannerConnection) 본문
미디어파일(이미지, 동영상 등 ) 복사/삭제/ 수정 등 작업을하였을때 새로고침하는 방법에 대해서 적어보겠습니다.
기존에 겔러리 기능이 있는 앱을 만들때 kikat 버전 이전은
1 2 | sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+Environment.getExternalStorageDirectory()))); | cs |
위와 같이 사용하지만 이후 버전부터는 지원하지않습니다.
MediaScannerConnection 라는 클래스가 존재합니다.
이클래스는 파일에서 메타 데이터를 읽고 해당 Medis scanner server에 제공하고 MediaScannerConnectionClient 클랫는 새로 검색한 파일의 Uri를 MediaScannerConnection의 클라이언트로 반환하는 미디어 검색 서비스 인터페이스를 제공한다고 설명되어있습니다.
내부 동작으로 com.android.providers.media.MediaScannerService 쪽 바인드 서비스를 호출하여 동작하게 되어있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public class MediaScannerSample implements MediaScannerConnection.MediaScannerConnectionClient { private Context mContext; private String mFilePath; MediaScannerConnection mediaScannerConnection; MediaScannerSample(Context context ) { mContext = context; } public void refresh(String filePath){ mFilePath = filePath; mediaScannerConnection.connect(); } @Override public void onMediaScannerConnected() { mediaScannerConnection.scanFile(mFilePath, null); } @Override public void onScanCompleted(String path, Uri uri) { mediaScannerConnection.disconnect(); } } | cs |
실제 사용 코드는 위와 같습니다.
하지만 파일 여러개일경우 List형식으로 던지는것이 존재하지 않습니다.
이것에 대해서는 따로 모듈을 만들어 처리하거나 각각의 쓰레드 안에서 처리해야될것 같습니다.
'안드로이드 > Android' 카테고리의 다른 글
[Android]Messenger를 사용하여 앱 간 통신하기 (0) | 2016.10.17 |
---|---|
[Android]Nougat 버전 대응하기 (0) | 2016.09.13 |
[Android]VIew 에 원하는 곳에만 border 주기 (0) | 2016.05.24 |