当前位置: 首页 > news >正文

Delphi XE里面 SharedActivityContext 提示错误

使用歪果仁的unit

 

//--------------------

unit Android.JNI.Toast;

// Java bridge class imported by hand by Brian Long (http://blong.com)
interface

{$IFDEF ANDROID}

uses
Androidapi.JNIBridge,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText;
{$ENDIF}
{$IFDEF ANDROID}

type
TToastLength = (LongToast, ShortToast);

JToast = interface;

JToastClass = interface(JObjectClass)
['{69E2D233-B9D3-4F3E-B882-474C8E1D50E9}']
{ Property methods }
function _GetLENGTH_LONG: Integer; cdecl;
function _GetLENGTH_SHORT: Integer; cdecl;
{ Methods }
function init(context: JContext): JToast; cdecl; overload;
function makeText(context: JContext; text: JCharSequence; duration: Integer)
: JToast; cdecl;
{ Properties }
property LENGTH_LONG: Integer read _GetLENGTH_LONG;
property LENGTH_SHORT: Integer read _GetLENGTH_SHORT;
end;

[JavaSignature('android/widget/Toast')]
JToast = interface(JObject)
['{FD81CC32-BFBC-4838-8893-9DD01DE47B00}']
{ Methods }
procedure cancel; cdecl;
function getDuration: Integer; cdecl;
function getGravity: Integer; cdecl;
function getHorizontalMargin: Single; cdecl;
function getVerticalMargin: Single; cdecl;
function getView: JView; cdecl;
function getXOffset: Integer; cdecl;
function getYOffset: Integer; cdecl;
procedure setDuration(value: Integer); cdecl;
procedure setGravity(gravity, xOffset, yOffset: Integer); cdecl;
procedure setMargin(horizontalMargin, verticalMargin: Single); cdecl;
procedure setText(s: JCharSequence); cdecl;
procedure setView(view: JView); cdecl;
procedure show; cdecl;
end;

TJToast = class(TJavaGenericImport<JToastClass, JToast>)
end;

procedure Toast(const Msg: string; duration: TToastLength = ShortToast);

{$ENDIF}

implementation

{$IFDEF ANDROID}

uses
FMX.Helpers.Android,
Androidapi.Helpers;//加上,否则SharedActivityContext提示错误,

procedure Toast(const Msg: string; duration: TToastLength);
var
ToastLength: Integer;
begin
if duration = ShortToast then
ToastLength := TJToast.JavaClass.LENGTH_SHORT
else
ToastLength := TJToast.JavaClass.LENGTH_LONG;
CallInUiThread(
procedure
begin
TJToast.JavaClass.makeText(SharedActivityContext, StrToJCharSequence(Msg),
ToastLength).show
end);
end;
{$ENDIF}

end.

//-------------------

 

在使用的页面:


uses
Android.JNI.Toast,

 

procedure TForm2.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
if (Key = vkHardwareBack) or (Key = vkEscape) then
begin
if IsFirstBack then
begin
IsFirstBack := False;
Key := 0;
Timer1.Enabled := True;
Toast('再按一次退出',ShortToast);
// Toast('再按一次退出',ShortToast);
end
else
begin
end;
end;
end;

 

窗体上(TForm2)Onkeyup-->FormKeyUp

 

转载于:https://www.cnblogs.com/yuyang2100/p/4777814.html

相关文章:

  • Android 带你从源码的角度解析Scroller的滚动实现原理
  • ODI调用WebService----OdiInvokeWebService
  • OK335xS GPMC nand device register hacking
  • WebService的缓存机制
  • Linux压缩打包方法连载之三:bzip2, bzcat 命令
  • 用MonoDevelop开发Linux游戏
  • Android 服务类Service 的详细学习
  • Android获取返回键的点击事件
  • 赢得Docker挑战最佳实践
  • 小蚂蚁学memcache笔记—php操作memcache(2)
  • ipv6现状,加英文的中括号访问, ipv6测试http://test-ipv6.com
  • git学习------git commit命令的默认编辑器的修改
  • 新浪、万网前系统架构师高俊峰:统一监控报警平台架构设计思路
  • HTLM5 WebSocket权威指南
  • NSString+URLEncoding.h --使用Obj-C对数据等进行URLEncoding编码
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 345-反转字符串中的元音字母
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • echarts的各种常用效果展示
  • egg(89)--egg之redis的发布和订阅
  • JavaScript对象详解
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JS学习笔记——闭包
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Netty源码解析1-Buffer
  • python_bomb----数据类型总结
  • React-flux杂记
  • ReactNativeweexDeviceOne对比
  • SAP云平台里Global Account和Sub Account的关系
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • zookeeper系列(七)实战分布式命名服务
  • 给github项目添加CI badge
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端之React实战:创建跨平台的项目架构
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 积累各种好的链接
  • 组复制官方翻译九、Group Replication Technical Details
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​决定德拉瓦州地区版图的关键历史事件
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $refs 、$nextTic、动态组件、name的使用
  • (10)STL算法之搜索(二) 二分查找
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (南京观海微电子)——I3C协议介绍
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (转)VC++中ondraw在什么时候调用的