0

我需要做一个确定电池电量的应用程序,如果它低于 15%,我会做点什么。

这是我的广播:

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>

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

4

1 回答 1

1

但我需要通过清单注册

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

可以在清单中注册ACTION_BATTERY_LOW,这将是一种更有效的方式来找出电池电量不足的时间。

于 2017-03-21T15:35:24.353 回答