2Pascal-新时代的Pascal

 找回密码
 立即注册
搜索
热搜: fastreport
查看: 1539|回复: 1
打印 上一主题 下一主题

Delphi 10, 10.1下,android调用振动函数 闪退 乐视手机

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
跳转到指定楼层
楼主
发表于 2016-5-11 14:46:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
京东数码购物支持本站
本帖最后由 fghydx 于 2016-5-11 16:04 编辑

写了个函数,想调用这个函数执行振动.但无论是在CallInUIThread中还是直接写,都会在 LJO := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE);这一句闪退Delphi 10 也闪退  乐视手机

procedure Vibrator(Long: integer);
var
  LVibrator: JVibrator;
  LJO: JObject;
begin
  CallInUIThread(
    procedure
    begin
      try
        LJO := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE);          //在执行这一句时闪退
        if Assigned(LJO) then
        begin
          LVibrator := TJVibrator.Wrap((LJO as ILocalObject).GetObjectID);
          if LVibrator.hasVibrator then
          begin
            LVibrator.vibrate(Long);
          end
          else
          begin
            ShowToast('你的手机不支持振动!', ShortToast);
          end;
        end;
      except
        ShowToast(Exception(ExceptObject).Message, TToastLength.ShortToast);
      end;
    end);
end;

LJO := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE);          //这一句错了,应该是
LJO := SharedActivity.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE);        



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|新时代Pascal论坛

GMT+8, 2024-5-16 22:21 , Processed in 0.068135 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表