android中的电池状态
问题描述:
我需要制作一个确定电池电量的应用程序,如果它低于15%,我会制作一些东西。android中的电池状态
这是我的广播:
public class BatteryChecker extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int level = intent.getIntExtra("level", 0);
Toast.makeText(context,"Battery : "+level+"%",Toast.LENGTH_LONG).show();
}
}
,但是当我在清单注册的接收器不工作
<receiver android:name=".BatteryChecker">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED"></action>
</intent-filter>
</receiver>
当我注册它编程它的工作原理,但我需要进行注册通过舱单
答
但我需要通过舱单注册
这是不可能的。 Android会将某些广播(例如ACTION_BATTERY_CHANGED
)限制为通过registerReceiver()
注册的接收者。
您可以登记清单中的ACTION_BATTERY_LOW
,这将是一个更有效的方法来找出电池电量低。
好吧,有什么方法可以在ACTION_BATTERY_LOW中获取电池电量吗? – iosamammohamed
@iosamammohamed:在API Level 21+(Android 5.0+)上,使用'BatteryManager'。在较早的版本中,用'null'' BroadcastReceiver'调用'registerReceiver()'作为'ACTION_BATTERY_CHANGED' - 返回值应该是最后一个粘贴的'ACTION_BATTERY_CHANGED'广播,你可以从那里选择额外的东西。 – CommonsWare
好的,谢谢 – iosamammohamed