Firemonkey Android获得电池电量

我有一个功能:

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;

但是我应该将什么作为一个上下文传递?

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

最佳答案 你可以在我的博客上阅读这篇文章; “
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);

问候.

点赞