相关疑难解决方法(0)

在Android中获取电池电量和状态

如何获得电池电量和状态(插入,放电,充电等)?我研究了开发人员文档,然后找到了一个BatteryManager类.但它不包含任何方法,只包含常量.我怎么用呢?

java android battery

95
推荐指数
7
解决办法
12万
查看次数

从接收者自己的onReceive()方法中取消注册"动态"BroadcastReceiver是否可以?

也就是说,我有这个我直接创建的BroadcastReceiver来监听一个广播,之后我希望它取消注册.

我没有找到任何这样做的示例代码,但我也没有在android在线文档中发现任何禁止此规则的规则.但是我不能让它像活动一样长期存在,而且无论如何它都在匿名类中,因此包含类甚至不知道变量名.

也就是说,代码看起来像这样:

myInfoReceiver = new BroadcastReceiver() {
onReceive(Context ctx, Intent intt) {
    // do some Notification when I get here
    nm.notify("I got here") // obvious pseudo code
    ctx.unregisterReceiver(myInfoReceiver);
} // end onReceive
ctx.registerReceiver),uInfoReceiver, new IntentFilter(...));
}; // end BroadcastReceiver
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,Android会在调用取消注册时抱怨,坚持说接收器不在那里取消注册(我忘记了确切的措辞,但它抛出了IllegalArgumentException).

我还尝试修改代码以检查'intt'中的操作是否与预期相同 - 但是它仍然执行onReceive但是无法取消注册.

android android-intent android-broadcast

5
推荐指数
1
解决办法
1300
查看次数