본문 바로가기
[android] 생성한 image file media scanner 등록 [android] 생성한 image file media scanner 등록 Stack overflow 를 참조했을 때 아래와 같은 2가지 안정적인 방법이 있다. 방법 1은 SD Card 가 Mount 된 것처럼 broadcast를 날려서 해당 uri 를 scan 하도록 하는 것이고. private void registerToMediaScanner( Uri uri ){Intent intent = new Intent( Intent.ACTION_MEDIA_MOUNTED, uri );sendBroadcast( intent );} 방법 2는 새로 생성한 file 을 MediaScanner 에게 전달하여 해당 내용만 scan 하는 것이다. private void registerToMediaScanner( File .. 2014. 2. 9.
[android] LocalBroadcastManager 이야기. 안드로이드, LocalBroadcastManager 이야기. LocalBroadcastManager 의 장점. - Broadcast message 가 앱을 떠나지 않기 때문에 privacy 걱정이 없다. - 다른 앱에서 보내는 LocalBroadcast 역시 우리 앱으로 들어오지 못해 security 이슈가 없다. - System 에 global broadcast 를 보내는 것보다 훨씬 효율적이다. 관련 API 들. - static LocalBroadcastManager getInstance(Context context) - void registerReceiver(BroadcastReceiver receiver, IntentFilter filter) - boolean sendBroadcast(Intent.. 2013. 12. 23.
[android] PackageManager 와 ActivityManager. 그리고 Intent 이야기 안드로이드, PackageManager 와 ActivityManager. 그리고 Intent 이야기 PackageManager 이야기. PackageManager 는 폰이 최초 실행될 때 system/app, data/app 등의 위치를 검색하며 APK 파일들의 매니페스트 파일을 조사해 intent 에 관련된 내용들을 모두 system 에 등록시켜 놓는다. 새롭게 패키지가 추가되거나 삭제될 때 발생하는 broadcast intent 를 수신하여 등록된 정보를 갱신하는 일도 수행한다. ActivityManager 이야기 ActivityManager 는 인텐트를 수신받으면 PackageManagerService 를 통해 Intent 에 부합하는 컴퍼넌트 정보를 다져온다. 그 다음 해당 컴퍼넌트의 상태 정보와.. 2013. 11. 8.
[android] Activity 가 아닌 곳에서 startActivity() 호출이 지양되는 이유. [android] Activity 가 아닌 곳에서 startActivity() 호출이 지양되는 이유. Activity Back Stack, Task 에 대한 추가 정보를 보고 싶다면 여기를 클릭! Activity 가 아닌 곳에서 startActivity() 를 호출하면 Exception 이 나곤 한다.이 때 Exception 정보에서는 FLAG_ACTIVITY_NEW_TASK 를 추가하라는 메세지를 담곤 한다.이는 안드로이드에서는 엑티비티를 stack 으로 관리하기 때문인데.. 서비스나 Broadcast 같은 경우는 task 가 아니기 때문에 Activity 를 어떤 스택에 쌓아야 할지를 모른다. 하지만 FLAG_ACTIVITY_NEW_TASK 를 사용하는 경우에는 새로운 테스크에 stack을 쌓기 때문.. 2013. 9. 4.
[android] framework 의 service와 broadcast 안드로이드, framework 의 service 와 broadcast 음악앱은 Service 에서 Notification 과 함께하여 음악을 재생한다. 알람시계앱은 AlarmManager 를 이용하여 PendingIntent 로 Broadcast 를 날리고, 그것을 스스로 수신해서 Activity 를 띄운다. 달력앱은 특정 이벤트 알람내용을 알리기 위해 AlarmManager 를 알람시계앱처럼 이용한다. 백그라운드 파일 다운로드는 다운로드가 있을 경우 작동하는 Service. E-mail 앱은 특정 주기마다 새로운 메일을 확인하기 위해 Alarm 을 통해 Service를 실행한다. 구글 앱들은 네트워크 Push 이벤트 수신과 동기화를 위한 Service 를 돌린다. 구글에서 보내주는 앱 관련 Push 도.. 2013. 8. 9.
[android] Launcher( HomeScreen ) 에 shortcut( 바로가기 ) 생성하기 Launcher( HomeScreen ) 에 Shortcut( 바로가기 ) 생성하기 폰을 처음켰을 때 나오는 어플.소위 말하는 HomeScreen 이라 부르는 녀석의 본래 이름은 Launcher ( 런처 ) 이다. 이 런처에 Shortcut 을 추가하는 코드를 설명한다. Manifest 에 권한설정 저 권한이 있어야만, 해당 앱에서 Launcher 에 Shortcut 을 설치( Install ) 하라는 명령을 내릴 수 있다.참고로, 일반적인 규칙을 따른 런처는 저 INSTALL_SHORTCUT 을 구현했겠지만,간혹가다 개인이 만든 런처의 경우 이 녀석을 구현 안 하는 경우도 있다. Shortcut 추가를 구현하지 않은 Custom Launcher 를 사용하면서, "이 코드를 따라했는데 왜 무작정 안돼?".. 2013. 6. 24.
반응형