Я разрабатываю приложение, в котором я хочу попасть в службу, когда питание устройства включено, и остановите службу, когда питание устройства выключено. Может ли кто-нибудь сказать мне, как определить состояние устройства (включено или выключено)?Как узнать питание устройства в orroid?
-1
A
ответ
0
По android documentation вы можете определить BroadcastRecevier
как этот
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 usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
//Start/stop your service here
if(isCharging) {
context.startService(...);
} else {
context.stopService(...);
}
}
}
и объявить его в AndroidManifest.xml
<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>
+0
Это относится к зарядному устройству и не относится к вопросу о (бессмысленном) вопросе. –
Подсказка: если ваш код работает, питание. Если он выключен, ваш код не работает. –
да всякий раз, когда на моем коде работает питание, всякий раз, когда отключается мой код, не запускается – user3110855
, вы не можете добиться этого без каких-либо сервисов ... BroadcastReciever получает экран вкл-выкл (android.intent.action.SCREEN_ON и android.intent .action.SCREEN_OFF) .. но вы должны зарегистрировать приемщика в любом сервисе или деятельности .... –