4

我有一个功能:

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;

但是我应该将什么作为aContext参数传递?

我需要每分钟获取电池寿命并将其保存到备忘录...

4

1 回答 1

2

你可以在我的博客上阅读这篇文章;“电池信息(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);

在此处输入图像描述

问候。

于 2014-06-12T13:23:00.390 回答