Develop/Android

문제 원인 개발을 하는 도중에 폴더블 폰에서 내부 화면과 외부 화면의 레이아웃이 다르게 표시되는 문제가 있었습니다. 그래서 폴더블 폰이 접히거나 펼쳐졌을 때 코드로 해당 레이아웃을 동적으로 고쳐주려고 했는데 어느 곳에서도 접힌 상태인지 펼친 상태인지 알 수 있게 제공 해주는 코드 정보를 찾을 수 없더라구요.. 구글링을 오랫동안 하다 한 가지 방법을 찾아내었습니다. 바로 DisplayManager 와 ConfigurationChange 를 활용 하는 것 인데요 위 두가지 방법을 살펴보겠습니다. DisplayManager 를 활용한 방법 폴더블 폰은 화면을 접게 되면 바깥 디스플레이에 앱(화면)을 표시하게 됩니다. 바깥 디스플레이에 표시될 때 이 때 view 는 다시 onResume() 을 타게 되는데 아래..
SMS 인증번호를 읽어와 자동 입력하기 2018년 10월에 구글에서 공지한 '통화 기록 및 SMS 사용 권한 제한'에 따라 2019년 1월부터 '통화 기록 및 SMS 사용 권한 제한' 정책은 전화나 문자를 주 기능으로 하는 앱이 아니면 SMS 권한을 획득할 수 없다고 합니다. 이 경우 단순히 '인증번호 자동 입력' 기능 구현을 위한 앱은 SMS Retriever API 를 사용하는 방식으로 구현하여야 합니다. 참고 http://woowabros.github.io/experience/2019/03/08/googleplay_permission_policy.html https://developers.google.com/identity/sms-retriever/overview SMS Retriever API 소..
1. 개요 안드로이드 6 부터 앱이 백그라운드에서 처리하는 작업으로 인해 소모 되는 배터리를 줄이기 위해 도즈(Doze) 와 어플대기 모드(App Standby) 정책을 추가했습니다. 안드로이드 7 부터는 세분화된 도즈 정책을 추가하였습니다. 이러한 배터리 효율 정책은 기기나 어플을 수면 상태로 만들어버리고 여러가지 제한이 발생하기 때문에 이러한 제한이 어플의 핵심 기능을 방해한다면 큰 문제가 발생하게 됩니다. 2. 도즈 (Doze) 2.1 안드로이드 6 (Marshmallow / 6.0 / API 23) 2.1.1 조건 충전기 연결이 되지 않은 배터리 동작이며, 화면이 꺼진 상태로 움직이 없는 경우가 일정 시간 이상 지속 되는 경우 진행됩니다. 2.1.2 제한 도즈가 진행되면 제한이 발생되고 도즈의 중..
소개 구글 I/O 에서 dark theme 에 대해서 발표한 내용이다. Dark theme 를 끄고 켜는 방식으로 변경 됬다고 함. Dark theme 의 작동 방식은 크게 4가지로 구분 되어 짐 Option A: Android Dark Theme 사용 Theme.AppCompat.DayNight : 이미 사용 가능 Theme.DeviceDefault.DayNight : Device 스타일에 맞춤 ThemeOverlay.DeviceDefault.Accent.DayNight : Device 스타일에 맞춤 근데 함정은 빡치게도 위 3가지 다 안됨 아놔... Option B: Dark Theme 를 강제 On/Off 사용 사용자의 설정 여부와 상관 없이, 앱 내부 코드로 활성/비활성화 시킬 수 있다. Opti..
설명 안드로이드에서 앱 업데이트 직후 앱이 실행 됬는지 알 수 있는 방법이 있다. 바로 아래 ACTION 이벤트 이다. android.intent.action.MY_PACKAGE_REPLACED 이 이벤트는 앱이 업데이트 되거나 재설치(android studio run) 됬을 때 호출 되는데 재설치는 상용에서는 고려 할 필요가 없을 것 같다. 애초에 상용에서 앱 업데이트를 내려 받을 때는 version code 가 다를 때만 해당하기 때문이다. # 사용하기 - 이제 이 코드를 적용 해보자. AndroidManifest.xml AppUpdateCheckReceiver.kotlin class AppUpdateCheckReceiver : BroadcastReceiver() { override fun onRec..
환경 - M1 Mac OS Monterey 12.5 - Android Studio Chipmunk 2021.2.1 Patch1 (ARM) - Gradle 7.2 - Android Build Gradle 7.1.2 - Kolin 1.7.0 debug.keystore 생성 debug.keystore 는 android sdk 를 PC에 설치하면 기본적으로 포함되어 있습니다. 따라서, 따로 생성하지 않아도 됩니다. debug.keystore 로 생성한 apk는 debugging 의 용도로 쓰이며 정식적인 배포가 아니므로 기기에서는 위험 apk 파일로 간주합니다. debug keystore 위치 window : C:/users/.android/debug.keystore Mac: ~/.android/debug.ke..
Linitial
'Develop/Android' 카테고리의 글 목록 (2 Page)