본문 바로가기

Android/기타

[Android] D-U-N-S 번호를 발급받기 구글 플레이 콘솔 계정에서 계정 확인 관련 메시지가 날아왔는데 D-U-N-S 번호를 무료로 받을 수 있다고 되어 있는데 링크 타고 들어가다 보면 유료 페이지로 넘어가는 부분이 있어서 기록을 남긴다. https://www.dnb.com/duns/google-developers-duns-creation.html Choose Your Country or Region Select your country or region to learn about our products and solutions, view our insights, and more, all in your preferred language. www.dnb.com 위의 페이지에서 대한민국을 선택하면 한국 제휴 회사로 넘어가게 되는데 이 때는 유료가 된..
[Android] MediaProjection Intent 이슈 안드로이드 14 버전 이전에서는 MediaProjection 권한을 요청하고 나서 받은 intent가 계속 유지할 수 있었다. 그런데 업데이트를 하고 난 뒤로는 무조건 한 번 쓰인 intent는 사라지는 현상이 발생했다. 앞으로 MediaProjection을 쓰려면 매번 받는 방식으로 변경이 필요하다. 일단 회사 앱은 접근성 쪽으로 다시 바꿀 예정이다.
[Android] 다른 앱 위에 그리기 권한을 받았음에도 권한이 없다고 나오는 이슈 현상 - 삼성 폰(android 13)에서 apk파일로 설치한 테스트 앱에서 다른 앱 위에 그리기 권한을 받았음에도 권한이 없다고 나오는 이슈(에뮬레이터 혹은 그 이하 버전에서는 잘 동작함) 원인 - SamsungRestrictOverlayProcessor라는 것이 테스트 앱의 overlay를 막고 있었음 - SamsungRestrictOverlayProcessor는 보이스 피싱 같은 사기를 막기 위해 공식적인 스토어(플레이 스토어 혹은 삼성 스토어)에서 설치된 앱들만 Overlay를 허용해주고 있음 조치 - Firebase에서 테스트를 하지 않고 플레이스토어에 내부 테스트 트랙을 만들어서 테스트를 하도록 조치 거의 2주간 씨름했는데 너무 결과가 허무하긴 하다....
[Android] 다른 앱의 activity(액티비티)에서 결과 받아오기 다른 앱의 액티비티에서 결과를 받아오려면 다음의 과정이 필요하다. A(호출하는 앱), B(호출되는 앱)이라고 하고 설명을 쓰려고 한다. 1. B에서는 일단 호출될 액티비티를 생성하는데 옵션을 다음과 같이 지정한다. 2. A에서는 ActivityResultLauncher를 생성합니다. (onCreate에서) resultLauncher = registerForActivityResult( ActivityResultContracts.StartActivityForResult() ) { if (it.resultCode != Activity.RESULT_OK) { // 실패 시 처리 로직 return@registerForActivityResult } // 성공 시 처리 로직 } 3. A에서 호출하면 끝(주의 : Co..
[Android] Sms Retriever API 사용 시 주의사항 Sms Retriever를 연결하면 5분이 지나면 자동으로 끊긴다.(timeout 상태) 그래서 전화번호 인증 요청을 하기 전에 새로 다시 연결해야 한다. 위와 관련된 내용은 다음 공식문서에서 확인할 수 있다. - 참고 : https://developers.google.com/identity/sms-retriever/request Android 앱에서 SMS 인증 요청하기 | SMS Verification APIs | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English Android 앱에서 SMS 인증 요청하기 전화번호를 자동으로 인증하려면 인증 절차의 클라이언트 부분과 서버 부분을 모두 구현해야 developers...
[Android] 백그라운드에서 클립보드 이용 시 주의사항 Android Q(10) 이상부터는 백그라운드에서 클립보드에 대한 데이터를 받아올 수가 없다. 기존 프로젝트에선 잘 돌아갔던 코드인데 타겟 SDK를 올리면서 클립보드 정보가 null로 오는 이슈가 발생했다. 원인을 찾아본 결과는 다음과 같다. 링크 설명에 의하면 앱이 IME 편집기이거나 혹은 현재 자신의 앱이 포커싱되어 있는 경우에만 클립보드 내용에 접근할 수 있다. 따라서 기존에 백그라운드에서 클립보드를 접근하는 로직이 있었다면 지금은 그렇게 구현하면 안 되고 해당 내용이 필요할 때 액티비티를 띄워 포커싱을 가져온 다음 클립보드를 주는 형태로 구현할 수는 있다. 포어그라운드일 때랑 백그라운드일 때를 구분해서 동작하게 하려는 의도는 뭔지 모르겠지만 구현상으로는 좀 로직이 더럽게 구현되는 것 같아 아쉽긴 ..
[Android] 카카오 SDK 설치 안 되는 이슈(Fox 버전 이후) 프로젝트를 새로 파야해서 카카오 SDK를 연동하기 위해 가이드 문서대로 했는데 계속 SDK를 못 찾는다고 하는 상황이 발생했다. 분명 Project gradle과 app gradle 둘 다 제대로 입력했었는데 말이다...... 그래서 알아보니 Android Studio Fox 버전 이후부터 해당 상황이 발생한 것으로 확인되었다. 방법은 settings.gradle에 repositories에 카카오 저장소를 추가하면 된다. 참고 : https://devtalk.kakao.com/t/sdk/118212/2
[Android] 멀티스레드에 대한 개인적인 생각 Java를 공부하다보면 Thread라는 녀석을 볼 수 있다. 공부할 당시에는 '이게 왜 필요하지?'라는 생각이 처음에 들었었고 또 이걸 실제로 적용을 어떻게 시키는지에 대해서도 이해가 잘 안 되었던 것 같다. 그래서 첫 회사에서 멀티스레드로 구현을 하면서 많은 이슈(에러 및 버그)를 겪었었고 그 과정에서 정리할 수 있었던 포인트에 대해 정리해보려고 한다. 아마 신입들한테 도움이 되지 않을까 싶다.(스레드 고수들은 굳이 안 읽어도 됩니다...) 1. 멀티스레드는 왠만하면 피해라. 이제 막 신입 아니면 스레드에 익숙치 않은 개발자라면 특히 해당된다. 멀티스레드로 에러가 발생한다면 사수 없이 찾기란 거의 불가능에 가깝다고 생각한다. 경험이 좀 쌓이고 나서 해도 늦지 않다...... 2. 라이브러리를 잘 활용하..