android中的电池状态

时间:2017-03-21 15:32:27

标签: android batterylevel batterymanager

我需要制作一个确定电池电量的应用程序,如果它低于15%,我会制造一些东西。

这是我的BroadCast:

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>

当我以编程方式注册它时,它可以工作,但我需要通过清单

注册它

1 个答案:

答案 0 :(得分:1)

  

但我需要通过清单

注册

这是不可能的。 Android会将某些广播(例如ACTION_BATTERY_CHANGED)限制为通过registerReceiver()注册的接收方。

可以在清单中注册ACTION_BATTERY_LOW,这可以更有效地找出电池电量不足的时间。