我有一个功能:
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);
问候.