You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 11的Androidapi.JNI.Support新接口函数名如何使用?

你遗漏的两个核心要点

  • 你写的Japp_NotificationCompat_Builder是接口类型,创建实例需要使用对应的TJ前缀类TJapp_NotificationCompat_Builder调用init方法,逻辑和旧版本完全一致,仅类名多了app_前缀。
  • Delphi 11中该类的定义从原Androidapi.JNI.Support单元迁移到了Androidapi.JNI.AndroidX.Core单元,需要在uses中新增版本判断引入对应单元,否则会报未定义错误。

完整跨版本适配代码

单元引用部分

uses
  Androidapi.Helpers,
  {$if COMPILERVERSION > 34}
  Androidapi.JNI.AndroidX.Core;
  {$else}
  Androidapi.JNI.Support;
  {$endif}

功能实现部分

var
  {$if COMPILERVERSION > 34}
  ncb: Japp_NotificationCompat_Builder;
  {$else}
  ncb: JNotificationCompat_Builder;
  {$endif}
begin
 {$if COMPILERVERSION > 34}
 ncb := TJapp_NotificationCompat_Builder.JavaClass.init(
   TAndroidHelper.Context,
   StringToJString(CHANNEL_ID)
   );
 {$else}
 ncb := TJNotificationCompat_Builder.JavaClass.init(
   TAndroidHelper.Context,
   StringToJString(CHANNEL_ID)
   );
 {$endif}
 // 后续setContentTitle、setContentText、setSmallIcon等逻辑完全通用,无需修改
end;

内容的提问来源于stack exchange,提问作者Freddie Bell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:45:06