Your application peformance should be upto the mark. But it should perform differently not on the front end , but on the back end when it the device is connected to a power source or charging. Charging could be of from USB and from wire cable. When your device is charging itself , it is recommended to update your application settings if any, such as maximizing your refresh rate whenver the device is connected. It can be done as this.


	IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 
	// Are we charging / charged? Full or charging. 
	Intent batteryStatus = context.registerReceiver(null, ifilter); 
	// How are we charging? From AC or USB. 
	int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1); 
	int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);

Lets see how the complete code look like….

MainActivity


import android.os.BatteryManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.widget.Toast;

public class MainActivity extends Activity {
    private BatteryManager battery;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent batteryStatus = registerReceiver(null, ifilter);
        int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
		// Find the charge Source
        boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING 
                               || status == BatteryManager.BATTERY_STATUS_FULL; 
        int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
        if (usbCharge) {
            Toast.makeText(getApplicationContext(), 
                   "Mobile is charging on USB", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(getApplicationContext(), 
                   "Mobile is charging on AC", Toast.LENGTH_LONG).show();
        }

    }

}

Done.

Send your comments to coderzheaven@gmail.com.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

 

 

 

Theme by HermesThemes

Copyright © 2018 CoderzHeaven. All Rights Reserved

Please wait...

Subscribe to our newsletter

Want to be notified when our article is published? Enter your email address and name below to be the first to know.