码迷,mamicode.com
首页 > 移动开发 > 详细

Delphi xe7 up1 调用android振动功能

时间:2019-01-08 00:16:49      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:wrap   delphi   功能   phi   vacl   log   mis   procedure   classes   

Delphi xe7 up1 调用android振动功能

振动用到以下4个单元:

Androidapi.JNI.App,Androidapi.JNIBridge,Androidapi.JNI.Os,Androidapi.Helpers

使用方法:

var

  LVibrator: JVibrator;

begin

    LVibrator := TJVibrator.Wrap

      ((SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE)

      as ILocalObject).GetObjectID); // 调用振动

    if not LVibrator.hasVibrator then

    begin

      ShowMessage(‘手机不支持震动‘);

      Exit;

    end;

    LVibrator.vibrate(500); // 振动500毫秒

最后在Project Options中设置Uses Permissions将Vibrate设为true

 

详细程序如下:

unit Unit6;

interface

uses

  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,Androidapi.JNI.App,

  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,

  Androidapi.JNIBridge,Androidapi.JNI.Os,Androidapi.Helpers;

type

  TForm6 = class(TForm)

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form6: TForm6;

implementation

{$R *.fmx}

procedure TForm6.Button1Click(Sender: TObject);

var

  LVibrator: JVibrator;

begin

    LVibrator := TJVibrator.Wrap

      ((SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE)

      as ILocalObject).GetObjectID); // 调用振动

    if not LVibrator.hasVibrator then

    begin

      ShowMessage(‘手机不支持震动‘);

      Exit;

    end;

    LVibrator.vibrate(500); // 振动500毫秒

end;

 

end.

 技术分享图片

 

https://www.cnblogs.com/qiufeng2014/p/4280847.html

Delphi xe7 up1 调用android振动功能

标签:wrap   delphi   功能   phi   vacl   log   mis   procedure   classes   

原文地址:https://www.cnblogs.com/findumars/p/10236597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!