Firemonkey Android获得电池电量

时间:2014-06-12 11:40:17

标签: android delphi firemonkey delphi-xe6

我有一个功能:

function BatteryPercent(const aContext: JContext): Integer;
var
  filter: JIntentFilter;
  battery: JIntent;
  level, scale: Integer;
begin
  filter := TJIntentFilter.Create;
  filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED);

  battery := aContext.registerReceiver(NIL, filter);
  level := battery.getIntExtra(StringToJString('level'), -1);
  scale := battery.getIntExtra(StringToJString('scale'), -1);

  result := (100 * level) div scale;
end;

但是我应该以{{1​​}} param传递什么?

我需要每分钟获得一次电池续航时间并将其保存到备忘录......

1 个答案:

答案 0 :(得分:2)

您可以在我的博客上阅读这篇文章; “Battery Information (Android - XE5)”。 原始文章是西班牙文,但您可以尝试自动翻译(在页面右侧)。

您可以阅读代码并下载示例项目(包含来源)。

我使用的代码类似于:

  // Contexto
  myContext := SharedActivityContext;

  // Creamos y Configuramos el Intent
  filter := TJIntentFilter.Create;
  // Asociamos la ACTION que queremos capturar
  filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED);
  // lo registramos
  intentBatt := myContext.registerReceiver(nil, filter);

enter image description here

问候。