car*_*erz 4 android power-management
我一直在寻找这个,只发现真的搞砸了.是不是有一种简单的方法可以在吐司或Textview上显示21%的电池电量?或者我怎样才能实现这一目标?
//西蒙
Com*_*are 14
要立即获得电池电量,请致电:
registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
Run Code Online (Sandbox Code Playgroud)
(注意:从内存中输入,请根据需要调整)
这将返回一个Intent记录在BatteryManager课堂上的各种额外内容.使用BatteryManager.EXTRA_LEVEL和BatteryManager.EXTRA_SCALE确定剩余的百分比.
如果您需要知道电池更换后的一段时间,请使用BroadcastReceiver他答案中概述的@Augusto方法.
Aug*_*sto 10
如果您的意思是更改仿真器上的电池状态,请执行以下操作.通过telnet连接到仿真器并更改状态和容量
> telnet localhost 5554
Android Console: type 'help' for a list of commands
OK
power ac off
OK
power discharging
OK
power capacity 21
OK
exit
>
Run Code Online (Sandbox Code Playgroud)
啊,你可以在Ted提到的页面上做它所说的,然后用一个处理程序来表示祝酒.这是您需要添加到活动中的代码.
private Handler handler = new Handler;
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, Intent intent) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
Log.i(TAG, "level: " + level + "; scale: " + scale);
int percent = (level*100)/scale;
final String text = String.valueOf(percent) + "%";
handler.post( new Runnable() {
public void run() {
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
});
}
};
Run Code Online (Sandbox Code Playgroud)
public static String batteryLevel(Context context)
{
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
int percent = (level*100)/scale;
return String.valueOf(percent) + "%";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15440 次 |
| 最近记录: |