Java 如何用delphixe5扩展android类

Java 如何用delphixe5扩展android类,java,android,delphi,class,delphi-xe5,Java,Android,Delphi,Class,Delphi Xe5,我试图从“Androidapi.JNI.App.pas”(TJservice)扩展一个类/接口,我需要扩展这个类来创建一个服务。可能吗?怎么做 我需要重写方法,比如:oncreate、onbind、ondestroy。但我不知道怎么做 我试过这样的方法: type Tandroidservice= class(TJService) function onBind(intent: JIntent): JIBinder; override; procedure onCreate; ove

我试图从“Androidapi.JNI.App.pas”(TJservice)扩展一个类/接口,我需要扩展这个类来创建一个服务。可能吗?怎么做

我需要重写方法,比如:oncreate、onbind、ondestroy。但我不知道怎么做

我试过这样的方法:

 type Tandroidservice= class(TJService)
  function onBind(intent: JIntent): JIBinder; override;
  procedure onCreate; override;
  procedure onDestroy; override;
  procedure onStart(intent: JIntent; startId: Integer); override;
 end;
出现此错误时:

[DCC Error] Unit1.pas(13): E2137 Method 'onBind' not found in base class
[DCC Error] Unit1.pas(14): E2137 Method 'onCreate' not found in base class
[DCC Error] Unit1.pas(15): E2137 Method 'onDestroy' not found in base class
[DCC Error] Unit1.pas(16): E2137 Method 'onStart' not found in base class
[DCC Error] Unit1.pas(13): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onBind'
[DCC Error] Unit1.pas(14): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onCreate'
[DCC Error] Unit1.pas(15): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onDestroy'
[DCC Error] Unit1.pas(16): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onStart'

当前唯一的选择是从Java类继承,然后使用JNI调用Delphi并执行到FMX线程的线程切换

我的CodeRage 8课程(从写作时起下周)展示了如何通过活动实现这一点。这几乎是相同的过程


这对你现在没有帮助,除了知道你不能在Delphi中直接从Android版Delphi中的Java类继承外,尽管在iOS版Delphi中你可以从Objective-C类继承。

CTRL+单击TJService,看看哪些方法被标记为virtualgood,我将观看你的会话!但是,是否也可以使用此方法使服务或应用程序在后台工作?我在embarcadero论坛和其他论坛上看到很多人问这样的问题(例如拦截事件的广播接收器)。我会在一两周后,当我晚上有空的时候,尝试找到一个服务或接收器的例子。简言之:是的,这样做应该非常可行。这有点复杂,但确实有效。好的,谢谢!我认为通过这两件事,我们可以在android上为Delphi做每件事——嗯,是的,也许是这样。在某种程度上。然而,除非能够在纯粹基于表单的商业应用程序之外为这些领域简化工作,否则尝试做一些“有趣的”安卓应用程序是完全有效率的。谢谢!也许我来晚了一点,但我终于来了。