Notice
Recent Posts
Recent Comments
Link
투케이2K
208. (AndroidStudio/android/java) 안드로이드 도즈 모드 설명 및 화이트 리스트 등록 설정 창 (settings) 이동 본문
Android
208. (AndroidStudio/android/java) 안드로이드 도즈 모드 설명 및 화이트 리스트 등록 설정 창 (settings) 이동
투케이2K 2021. 10. 9. 17:10[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
/**
* [도즈 모드, 화이트 리스트 설명]
* 1. [도즈 모드] :
* 마시멜로우 (6.0, SDK 23) 이상 배터리 사용량 최적화를 위해 일정시간 이상 동안
* 화면이 꺼진 상태 및 움직임이 없는 상태 인 경우 앱 기능 사용 제한을 두는 것입니다 (일정 시간 제한은 제조사별 다름)
*
*
* 2. [화이트 리스트] :
* 간단히 설명해 배터리 최적화 정책에서 제외하는것입니다
* 화이트 리스트는 앱에서 활성 비활성, 사용자가 직접 활성 비활성하는 방법이 있습니다
*
*
* 3. [화이트 리스트 참고] :
* 앱에서 직접 활성 및 비활성 설정 시 퍼미션 필요 : <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
* 앱에서 직접 활성 및 비활성하는 경우 구글 플레이스토어 등록 시 거부 될 수 있습니다 (특정한 경우만 허용해줌)
* */
public void checkWhiteList(){
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (powerManager.isIgnoringBatteryOptimizations(getPackageName()) == false) { // [화이트 리스트 등록 안됨]
Log.d("---", "---");
Log.e("//===========//", "================================================");
Log.d("", "\n" + "[A_Test_Java > checkWhiteList() 메소드 : 화이트 리스트 등록 확인 실시]");
Log.d("", "\n" + "[상태 : "+String.valueOf("false")+"]");
Log.e("//===========//", "================================================");
Log.d("---", "---");
//TODO [화이트 리스트 등록 설정창 이동 : 사용자가 직접 화이트 리스트 등록]
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);
}
else { // [화이트 리스트 등록 됨]
Log.d("---", "---");
Log.w("//===========//", "================================================");
Log.d("", "\n" + "[A_Test_Java > checkWhiteList() 메소드 : 화이트 리스트 등록 확인 실시]");
Log.d("", "\n" + "[상태 : "+String.valueOf("true")+"]");
Log.w("//===========//", "================================================");
Log.d("---", "---");
}
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments