Delphi - 如何从 class TAndroidService 获取服务 ObjectID?

Delphi - How to get service ObjectID from class TAndroidService?

有谁知道如何从 Delphi 中的 TAndroidService 获取服务 ObjectID(JNI 对象)或 JService?

非常感谢您的建议和解答。

TAndroidService 继承自 TAndroidBaseService,它有一个名为 JavaService 的 属性,类型为 JService。所以像这样:

uses
  Androidapi.JNI.App;
...
var
  ServiceIntf: JService;
...
ServiceIntf := MyService.JavaService;

如果您想要 JNI 对象,请尝试将 JavaService 转换为 ILocalObject 并调用 GetObjectID 方法:

uses
  Androidapi.Jni;
...
var
  ServiceObjectID: JNIObject;
...
ServiceObjectID := (ServiceIntf as ILocalObject).GetObjectID; // gets the JNI ObjectID