Для этого вам нужен широковещательный приемник.
Добавьте это в свой манифест:
<receiver android:name=".PowerConnectionReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
Теперь добавьте это в свой класс
public class PowerConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
status == BatteryManager.BATTERY_STATUS_FULL;
int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharging = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharging = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
if (isCharging) {
Intent i = new Intent();
i.setClassName("com.className", "com.classname.YourActivityClass");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i)
}
}
}
Не забудьте заменить такие вещи, как com.className на ваши.