BroadcastReceiverモニタ電力変化
2439 ワード
BroadcastReceiverで電力量の変化を監視することで、BroadcastReceiverが電力量の変化のブロードキャストを受信し、電力量のパーセント情報を取得することができます.
BatteryChangedReceiver.java
BOMファイルにブロードキャスト受信者とブロックするアクションを登録します.
時々、待機電力の変化を待つ放送ではなく、すぐに電力を取得する必要があります.次の方法で使用できます.
BatteryChangedReceiver.java
public class BatteryChangedReceiver extends BroadcastReceiver{
private static final String TAG="BatteryChangedReceiver";
@Override
public void onReceive(Context context,Intent intent){
int currLevel=intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);//
int total=intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);//
int percent=currLevel*100/total;
Log.i(TAG,"battery:"+percent+"%");
}
}
BOMファイルにブロードキャスト受信者とブロックするアクションを登録します.
<receiver android:name=".BatteryChangedReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED"/>
</intent-filter>
</receiver>
時々、待機電力の変化を待つ放送ではなく、すぐに電力を取得する必要があります.次の方法で使用できます.
Intent batteryIntent=getApplicationContext().registerReceiver(null,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int currLevel=batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
int total=batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE,1);
int percent=currLevel*100/total;
Log.i("battery","battery:"+percent+"%");