Notice
Recent Posts
Recent Comments
Link
투케이2K
667. (Android/Java) REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 권한 부여 및 앱 화이트 리스트 등록 요청 실시 - white list 본문
Android
667. (Android/Java) REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 권한 부여 및 앱 화이트 리스트 등록 요청 실시 - white list
투케이2K 2023. 10. 5. 20:59[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// ---------------------------------------------------------------
// [로직 처리 실시]
// ---------------------------------------------------------------
try {
/**
* ------------------------------------
* [요약 설명]
* ------------------------------------
* 1. 화이트 리스트 :
*
* 도즈와 어플 대기모드의 대상으로부터 제외되는 목록 리스트 입니다
* ------------------------------------
* 2. 화이트 리스트 등록 조건 :
*
* 채팅, 메시지 앱 등 특정 조건의 앱만 등록이 가능
* 해당 조건이 아닐 때 화이트 리스트 등록을 요청하는 경우에는 구글 플레이 스토어에 어플 등록이 안되는 경우가 발생
* ------------------------------------
* 3. AndroidManifest.xml 파일에 퍼미션 등록 :
*
* <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
* ------------------------------------
* 4. 참고 사이트 :
*
* https://blog.naver.com/kkh0977/222531950390
* ------------------------------------
* */
// [PowerManager 생성]
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
// [마시멜로우 이상 버전 체크 및 해당 앱이 화이트 리스트에 등록 되었는지 확인]
boolean isWhiteListing = false;
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
isWhiteListing = pm.isIgnoringBatteryOptimizations(getPackageName());
}
// [화이트 리스트에 등록 되어 있지 않은 경우 >> 화이트 리스트 등록 요청]
if (isWhiteListing == false){
//Intent intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); // 휴대폰 최적화 설정 이동
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + getPackageName())); // 애플리케이션 패키지 명칭
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
}
}
catch (Exception e){
e.printStackTrace();
}
반응형
'Android' 카테고리의 다른 글
Comments