IntentFilter filter=newIntentFilter(Intent.ACTION_BATTERY_CHANGED); receiver=newBatteryReceiver(); registerReceiver(receiver, filter); } @OverridepublicvoidonStart(Intent intent,intstartId) { Log.d("Debug","Battery Service On Start");intlevel = intent.getIntExtra("level", -1);if(avoidFirst) {...
如果我们注册了对 Intent.ACTION_BATTERY_CHANGED 的监听,那么我们马上会收到一个Action为 Intent.ACTION_BATTERY_CHANGED 的intent,之后只要我们没有取消监听,一定电池发送变化,我们也会收到这样的intent。 通过该intent的extra我们可以取得电池的很多信息,比如电压可以用如下的方式:voltage=intent.getIntExtra( BatteryMana...
④ 广播复用机制 :一旦有广播接收者注册广播 , 如果之前发送完毕的广播与本次注册的 IntentFilter 意图的 Action 匹配 , 次函数就会返回一个 Intent , 这个 Intent 就是之前已经发送的广播 ; ⑤如 :本次注册的 IntentFilter 中包含 Intent.ACTION_BATTERY_CHANGED , 如果使用如下方法 context.registerReceiver(null,...
Intent.ACTION_AIRPLANE_MODE_CHANGED; //关闭或打开飞行模式时的广播 Intent.ACTION_BATTERY_CHANGED; //充电状态,或者电池的电量发生变化 //电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册 Intent.ACTION_BATTERY_LOW; //表示电池电量低 Intent.ACTION_BATTERY_OKAY...
android.intent.action.BATTERY_CHANGED 这个广播是sticky的,意思是任何时候启动都是可以接到最后一次由系统发出的广播的.这个广播不能写在manifest.xml里接收的,必须在代码中用IntentFilter和BroadcastReceiver的方式动态注册才可以接收.请楼主查看是不是写在manifest里了,在代码里写就可以接收了....
Broadcast Action: This is a <em>sticky broadcast</em> containing the charging state, level, and other information about the battery.
Intent.ACTION_BATTERY_CHANGED; //充电状态,或者电池的电量发生变化 //电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册 Intent.ACTION_BATTERY_LOW; //表示电池电量低 Intent.ACTION_BATTERY_OKAY; //表示电池电量充足,即从电池电量低变化到饱满时会发出广播 ...
在Android系统中,你可以通过注册Intent.ACTION_BATTERY_CHANGED来获取系统的电池状态。这个广播会在电池状态发生变化时发送,包含了电池的各种信息,如电量、充电状态等。你可以在你的应用中注册这个广播接收器来获取这些信息。 public class BatteryReceiver extends BroadcastReceiver { @Override public void onReceive(Contex...
④ 对比充电状态 : 将上述从 Intent.ACTION_BATTERY_CHANGED 匹配的意图中获取 BatteryManager.EXTRA_PLUGGED 对应的值 , 与以下 3 33 个值进行对比 , 如果一致 , 说明当前是此种充电状态 ; BatteryManager.BATTERY_PLUGGED_AC : 交流电充电 ; BatteryManager.BATTERY_PLUGGED_USB : USB 接口充电 ; ...
IntentFilterintentFilter=newIntentFilter(Intent.ACTION_BATTERY_CHANGED);IntentbatteryState=registerReceiver(null,intentFilter);intchargeType=batteryState.getIntExtra(BatteryManager.EXTRA_STATUS,-1);Log.e("qingshan","充电方式 = "+chargeType);//1.交流电;2.USB;4.无线充电intbatteryPower=batteryState.getIn...