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.