728x90
반응형
[ pinslog/Log.daily() ]java.lang.SecurityException:Need android.permission.BLUETOOTH_CONNECT permission for AttributionSource | 'onRequestPermissionsResult()' deprecated2022-08-22 23:26:31java.lang.SecurityException:Need android.permission.BLUETOOTH_CONNECT permission for AttributionSource android 버전 12에서는 새로운 블루투스 권한이 도입되었다. BLUETOOTH_SCAN 앱이 저전력 (BLE) 블루투스 주변 기기와 같은 블루투스 기기를 검색하는 경우 BLUETOOTH_ADVERTISE 현재 기기를 다른 디바이스에서 검색할 수 있도록 하는 경우 BLUETOOTH_CONNECT 이미 페어링 된 기기와 통신하려는 경우 위 세가지 권한은 *런타임 권한이므로 앱에서 명시적으로 사용자 승인을 요청해야한다. * 런타임 권한 위험한 권한이라고도 하며, 이 권한을 부여 받는 경우는 앱에서 제한된 데이터에 추가로 액..
[ pinslog/Log.daily() ][Android] Floating Action Button과 BadgeDrawable2022-08-16 23:41:52우리가 흔히 알고, 쓰고 있는 floating action button 오늘은 이 플로팅 액션 버튼 위에 이벤트가 있음을 알리는 배지를 달아볼 것이다. BadgeDrawable 배지에 대한 모든 레이아웃 및 그리기 로직이 포함되어 있다. Badge - 앱에 이벤트가 있거나 할 때 알림을 알리기 위해 표시하는 것 기본적인 형태 배지를 나타내기 위한 기본적인 코드는 아래와 같다. val badgeDrawable = BadgeDrawable.create(mContext) badgeDrawable.isVisible = true BadgeUtils.attachBadgeDrawable(badgeDrawable, binding.mainFab) 커스텀하기 badgeDrawable.number = 24 badgeDraw..
[ pinslog/Log.daily() ][Android] 민감한 정보 숨기기 | local.properties에 api key저장하기2022-08-15 23:26:24그동안은 앱수준의 build.gradle 에서 보관을 하고 있었다. (하드코딩 하지 않으려고 변수로 지정해 사용중이었음) buildTypes { debug { minifyEnabled false debuggable true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' buildConfigField "String", "BASE_URL", "\"your_url/\"" buildConfigField "String", "APP_KEY", "\"your_key\"" } release { minifyEnabled true proguardFiles getDefaultProguardFile('prog..
[ pinslog/Log.daily() ][Android] 화면 전환 효과 | RecyclerView to fragment transition 적용하기2022-08-14 23:11:54fragment to fragment A 에서 B 로 이동한다고 하면 fragment_a.xml 효과를 적용시킬 view에 transitionName 을 지정한다. fragment_b.xml 마찬가지로 똑같은 이름을 지정해준다. 이름은 고유해야한다. transistion.xml을 준비해야한다. res에 transistion 디렉토리를 생성한다. 그리고 xml을 생성한다. transition_move.xml AFragment.java 효과를 적용시킬 view와 view의 transistionName 을 addSharedElement의 인자로 넘겨준다. FragmentNavigator.Extras extras = new FragmentNavigator.Extras.Builder() .addSharedElem..
[ pinslog/Log.daily() ]fragment 에서 onBackPressed() 접근하기2022-08-13 22:50:28onBackPressed() Called when the activity has detected the user's press of the back key. 말그대로 사용자가 뒤로 가기 버튼을 클릭 했을 때 해당 메서드가 호출된다. @Override public void onBackPressed() { super.onBackPressed(); } ComponentActivity가 들고 있는 메서드이고 AppCompatActivity 는 FragmentActivity를 상속 받고 FragmentActivity는 ComponentActivity를 상속 받는다. 따라서 onBackPressed 메서드는 activty에서는 얼마든지 오버라이딩해서 입맛대로 사용이 가능하다. 메인화면에서 뒤로 가기 버튼을 눌렀을 ..
[ pinslog/Log.daily() ][Google Play Store 관련 오류 코드] Install Error(-10): The app is not owned by any user on this device. An app is "owned" if it has been acquired from Play. InstallErrorCode#ERROR_APP_NOT_OWNED2022-08-12 22:30:47앱을 실행할 때 업데이트 정보를 받아오기 위해 AppUpdateManager 클래스를 이용해서 정보를 받아온다. AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(mContext); appUpdateManager.getAppUpdateInfo().addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(AppUpdateInfo appUpdateInfo) { } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(Exception e) { } }); ERROR_..
728x90
반응형