Android
-
Android SMS Retriever Hash keyAndroid 2019. 4. 30. 00:14
SMS Retriever를 통해서 SMS을 읽으려면 문자속에 11자리 Hash key가 포함이 되어야한다. Hash key를 얻는 방법은 2가지가 있고 key tool을 이용한 방법과 java 소스를 이용한 방법이 있다. 첫번째 Key Tool을 이용하는 방법으로는 1. 앱의 public key certificate를 아래의 커맨드를 통해 얻는다. 1 2 keytool -alias MyAndroidKey -exportcert -keystore MyProduction.keystore | xxd -p | tr -d "[:space:]" Colored by Color Scripter 2. PackageName + " " + public key certificate 을 만든다. 3. 위에서 만..
-
Android SMS Retriever API 사용하기 - SMS 인증번호Android 2019. 4. 30. 00:08
Google Play에서 SMS 또는 Call Log 권한 그룹을 비롯하여 위험성이 높거나 민감한 권한의 사용을 제한하는 정책을 내놓았다. 여기서 다루고 싶은 내용은 기존에 사용자 편의를 위해서 제공하는 기능이였던 SMS 읽기 기능이다. 이전에는 RECEIVE_SMS권한을 이용해서 SMS내용을 읽어서 인증번호를 자동입력을 해주었지만 이제는 해당 권한을 추가할 경우 스토어에 등록이 되지 않는다. 기존에 등록되어있던 앱을 경우에는 예외신청을 하지 않으면 Google Play에서 삭제 대상이 된다. RECEIVE_SMS권한을 통해서 SMS를 읽어오지는 못하지만 대신 구글에서 다른 방안을 제시하였다. 바로 SMS Retriever를 이용하여 권한허용 필요없이 문자를 읽을수있다.단 몇가지 제한사항들이 있다..
-
안드로이드 마시멜로우(Android 6.0) 권한요청 - Custom Dialog( 2/2 )Android 2019. 4. 11. 15:16
이번 글에서는 System Dialog에서 거부를 한 이후에 다시한번 사용자에게 권한허용을 요청하는 Custum Dialog를 생성을 해보겠다. 목표는 아래와 같은 다이얼로그를 만드는것이다. 이전글에서 만든 java파일에 몇몇 메소드를 추가하고 Dialog를 커스텀할 파일들을 몇개 만들것이다. 1. PermissionUtil.java - checkPermissions_list() Custum Dialog를 보면 리스트뷰 형식으로 허용이 필요한 권한들이 나열되어있다. 요청한 권한들중에 계속해서 거부된 권한들을 리스트로 리턴한다. Custom Dialog를 생성할때 사용된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //배열로 들어온 권한중에 계속 거부상태인 권한들을 리스트로 리..
-
안드로이드 마시멜로우(Android 6.0) 권한요청 - System Dialog( 1/2 )Android 2019. 4. 10. 17:52
이전에는 앱설치 할때AndroidManifest.xml에 등록해둔 필요권한을 보여주고 설치와 동시에 권한을 얻었지만 안드로이드 targetSDK23이상을 빌드하게되면서 앱에서 해당 권한이 필요할때 마다 사용자로부터 권한을 허가 받도록 해야한다. 모든 권한을 요청을 해야하는것은 아니고 구글에서 정의한 Dangerous Permission에 대해서만 권한을 허가하도록 해주면 된다. 개발소스를 보기전에 어떤 프로세스로 권한을 요청하는지 보자. 첫번째 - 권한 요청 ( System Dialog ) 두번째 - 권한 재요청 ( Custom Dialog ) - 첫번째에서 거절을 했을때 다시한번 사용자에게 권한을 요청한다. 첫번째에서 권한을 얻는 절차를 끝낼 수도 있지만 재요청하는 팝업창을 하나 더 만든 이유가 있다..
-
안드로이드 스튜디오 Failed to maintain projects LRU cache 에러Android 2019. 4. 9. 17:29
프로젝트를 복사해서 스튜디오에서 임포트해서 사용하려는데 아래의 에러가 나면서 EOFException이 발생하였다. Failed to maintain projects LRU cache for dir /Users/justin/Library/Caches/AndroidStudio2.3/resource_folder_cache 해결책 : Select "File" -> "Invalidate Caches/Restart..." -> "Invalidate and Restart" 이후 정상적으로 Clean/Rebuild 되면서 잘 작동된다.
-
Android 64비트 대응하기 - ARM , X86, MIPSAndroid 2019. 4. 8. 15:08
안드로이드를 64비트를 대응을 해야한다는 소식을 보면서 어떻게 대응을 하여야하는 것인지를 찾아보던 중 64비트를 지원해줘야하는 cpu에는 ARM, X86, MIPS 3가지가 있었고 이것들 차이는 무엇일까... 찾아보게 되었다. 이것들은 무엇이고 내가 지원하는 기기들은 무엇일지... 처음에는 X86에 대해서는 Intel cpu라 하여 윈도우 폰들이다. 그래서 지원을 할 필요가 없는건가? 라는 생각도 하였다. 그래도 앱을 서비스하는데 리스크를 안고서 이건 지원안해 라고 할 수 없어서.. 조심스럽게 여러 블로그들을 찾아보게 되었다. 우선 안드로이드 디바이스는 제소사의 사정에 따라서 원하는 CPU를 골라 쓸수 있다. 가장 대표적인 ARM을 비롯하여 X86, MIPS를 지원한다. 1990년 초부터 X86/MIPS..
-
Android 64비트 지원 대응하기Android 2019. 4. 8. 13:34
구글은 64비트 지원에 대한 공지가 생겼다. 2019년 8월 1일 부터는 Google Play에 앱을 게시할때 32비트 버전 이외에 64비트 버전도 함께 제공되어야한다는 내용이다. 2017년 9월 iOS 11부터 32비트 앱은 앱스토어에서 지원 중단하고 64비트 앱만 지원하고 있다. 2019년 8월 1일부터 Google Play에 앱을 게시할 때 32비트 버전 외에 64비트 버전도 함께 지원이 되어야한다. 예외) Unity 5.6 또는 이전버전을 사용하는 기존게임에 대한 32비트 전용 업데이트를 허용 2021년 8월 1일부터 Google Play에서 64비트 지원없는 앱에 대한 서비스를 중단할 예정이다. 이에 따라 64비트 기기에서는 이러한 앱을 사용할 수 없다. 이때부터는 Unity 5.6 또는 이전버..
-
Android 카메라 사진 캐시영역(Cache-path) 저장하기Android 2019. 4. 5. 16:38
앱에 카메라 기능을 넣다보면 File영역에 저장하여 갤러리에 보이게끔 하는 경우도 있지만 카톡의 프로필 사진을 위해 사진을 찍을때는 사진을 찍고 편집하고 업로드 하면나면 찍고 작업한 사진파일은 따로 갤러리에 보이지 않고 처리되는 경우들이 많다. 이럴 경우 내부 저장소중 캐시영역에 파일을 저장하는 형식으로 하면 유용할 듯하여 작성하게 되었다. 캐시영역에는 임시 파일들이 저장되며 Context.getCacheDir()을 통해 내부 저장소의 캐시 디렉토리를 리턴한다. 경로 : /data/data/패키지이름/cache 1. file_paths.xml cache영역에 생성된 임시파일을 나중에 FileProvider.getUriForFile() 을 통해 Uri을 생성할때 사용된다. 이번 게시글의 맨 아래에 링크로 ..