본문 바로가기

Programming/Android

Sticky broadcast intent 원문 : http://newbiehc.blogspot.kr/2011/03/sticky-intent-sticky-broadcast-intent.htmlSticky intent (또는 Sticky broadcast intent)Sticky intent 는 말 그대로 끈적끈적한 intent 를 말합니다. ^^; 끈적끈적해서 자신의 역할을 수행한 뒤에도 메모리에 딱 달라붙어서 사라지지 않고 남아있는 것이죠. 보통의 broadcast 된 intent는 자신과 관련된 모든 Broadcast receiver 를 거치고 나면 임무 완료되어 ‘즐거운 퇴근길에 올라’ 메모리 상에서 제거됩니다. 하지만 Sticky intent는 임무 완료 후에도 메모리에 남아 있는다는 사실! (정확하진 않지만 해당 event에 대한 다음 .. 더보기
Android uid 위치 (linux에서의 /etc/passwd 대신) /android/system/core/include/private/android_filesystem_config.h 45#define AID_ROOT 0 /* traditional unix root user */ 46 47#define AID_SYSTEM 1000 /* system server */ 48 49#define AID_RADIO 1001 /* telephony subsystem, RIL */ 50#define AID_BLUETOOTH 1002 /* bluetooth subsystem */ 51#define AID_GRAPHICS 1003 /* graphics devices */ 52#define AID_INPUT 1004 /* input devices */ 53#define AID_AUDIO .. 더보기
Intent 보내기 제한 (restriction) of Android /android/frameworks/base/core/res/AndroidManifest.xml 72 73 protected-broadcast 로 속성을 주면 system process 만 이 intent 를 보낼 수 있음 더보기
What is onPreExecute, doInBackground, onPostExecute 원문 : http://arabiannight.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9CAndroid-AsyncTask-%EC%82%AC%EC%9A%A9%EB%B2%95 안드로이드/Android AsyncTask 사용법 안드로이드 AsyncTask 사용법에 대해 알아 보겠습니다. 안드로이드에는 UI 를 총괄하는 메인Thread가 존재 한고 있는데요.([안드로이드/Android Android에서 Thread(쓰레드) 란 무엇 인가?]) 메인Thread 외에는 일반Thread들이 안드로이드 UI 화면을 처리할 수 없습니다. 그렇기 때문에 메인Thread와 일반Thread 를 잘 핸들링 해서 사용해야 하는데, 여간 번거로운 일이 아닙니다. .. 더보기
adb unauthorized issue 아래 이슈로 한동안 고생했었다. onegun@onegun-Samsung-Desktop-System:~/newHDD/temp/adb_key/android$ adb devicesList of devices attached ce05160541c33c3a01 unauthorized 증상은 adb shell 로 연결해도 계속 위와같이 나오면서 smartphone 에는 인증창이 안뜬다. 원인은 아래 있는 adbkey 파일이 없어서 RSA fail 이 나서 인증 진행이 안된 것임. # ls /root/.android/ -altotal 56drwxr-xr-x 5 root root 4096 7월 21 17:16 .drwx------ 10 root root 4096 10월 7 2015 ..-rw------- 1 root .. 더보기
com.android.internal ... com.android.internal.R resourcesOS 의 현재 resource 상태를 저장하고 있는듯. 얻어다 쓰는 방법http://mpigulski.blogspot.kr/2011/03/accessing-comandroidinternalr-resources.html 예) mUseUsbNotification = !massStorageSupported && mContext.getResources().getBoolean( com.android.internal.R.bool.config_usbChargingMessage); 아래와 같이 xml 로 item 이 지정되어 있고,그것을 get set 해서 쓰는듯 하다.base/core/res/res/values-watch/config.xml:56: falseb.. 더보기
registerReceiver private void setIntentFilter() { IntentFilter intentF = new IntentFilter(); intentF.addAction("android.net.conn.CONNECTIVITY_CHANGE"); intentF.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(BroadcastReceiver, intentF); // 리시버 등록} 하나 등록private static final String ACTION_OPEN_IN_APPS = "com.android.server.usb.ACTION_OPEN_IN_APPS"; final Receiver receiver = new Receiver(); context.regis.. 더보기
Android low memory killer disable 하기 출처 : http://varun-anand.com/mem_mgmt.htmlDISABLING ANDROID MEMORY MANAGEMENT SYSTEMLow memory killer was added as a kernel extension to the Android. The main source code is located at "/drivers/staging/android/lowmemorykiller.c". One of the interesting things to observe is the directory "staging" where the source code resides. Google added some of the kernel extensions such as wakelocks, lowmemk.. 더보기
Android.mk file 의 define Hierarchy 기본적으로 Android.mk 는 하위 폴더에 있는 Android.mk 와 define 이 상속되거나 공유되지 않음 - A - Android.mk- B - Andorid.mk A 폴더와 B 폴더 아래에 Android.mk 가 있다고 해도 내부에서 선언한 -D flag 는 각각 적용됨 만약 전역적으로 -D 를 적용하고 싶다면 Core.mk 에 선엄. 더보기