Skip to main content

Whitelist an android application on android 6.0/Marshmallow

Whitelist wont disable doze mode for your app, however can use network and hold wake lock.

Whitelist an android application through code,

boolean isIgnoringBatteryOptimizations = pm.isIgnoringBatteryOptimizations(getPackageName());
if(!isIgnoringBatteryOptimizations){
  Intent intent = new Intent();
  intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
  intent.setData(Uri.parse("package:" + getPackageName()));
  startActivityForResult(intent, MY_IGNORE_OPTIMIZATION_REQUEST);
  }
             
             
Check for the result,

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_IGNORE_OPTIMIZATION_REQUEST) {
         PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
         boolean isIgnoringBatteryOptimizations = pm.isIgnoringBatteryOptimizations(getPackageName());
         if(isIgnoringBatteryOptimizations){
            // Ignoring battery optimization
         }else{
            // Not ignoring battery optimization
        }
    }
}

Comments

Popular posts from this blog

Adding Call log entries in Native Call Logs

While adding call logs we can set number in CallLog.Calls.NUMBER field , same for date  and duration. CallLog.Calls.CACHED_NAME will be filled with the cached name in case if the number is already saved in Contacts database. ContentValues values = new ContentValues(); values.put(CallLog.Calls.NUMBER, number); values.put(CallLog.Calls.DATE, System.currentTimeMillis()); values.put(CallLog.Calls.DURATION, 0); values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE); //Type of call Outgoing/Incoming/Missed etc values.put(CallLog.Calls.NEW, 1); values.put(CallLog.Calls.CACHED_NAME, ""); values.put(CACHED_NUMBER_TYPE, 0); values.put(CACHED_NUMBER_LABEL, ""); this.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values); Below Permissions are required to add call logs , add it in Manifest file, <uses-permission android:name="android.permission.WRITE_CALL_LOG"></uses-permission> <uses-permission android:name="android.perm...