Delphi中使用Android振动


本文整理自网络,侵删。

 
例如,当您的计算机被游戏应用程序损坏时,您希望产生振动效果。
要在Delphi中使用Android振动器,请使用Android Vibrator类。
使用Android振动器时,您需要设置权限。
样例代码
在窗体上放置两个按钮

按下按钮振动500毫秒
当按下按钮时,它会在100毫秒后振动500毫秒;在200毫秒后会振动1000毫秒。
描述该过程。(已通过10.2 Tokyo,Nexus 5和Android 5.1.1确认)

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls,
  Androidapi.JNI.Os, Androidapi.Helpers, Androidapi.JNIBridge,
  Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.App;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { private 宣言 }
  public
    { public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
var
  vr: JVibrator;
begin
  // Vibrator取得
  vr := TJVibrator.Wrap(TAndroidHelper.Activity.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE));
  vr.vibrate(500);  // 500秒振??
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  vr: JVibrator;
  pt: TJavaArray<Int64>;
begin
  // Vibrator取得
  vr := TJVibrator.Wrap(TAndroidHelper.Activity.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE));

  // 100秒off - 500秒振?? - 200秒off - 1000秒振??
  pt := TJavaArray<Int64>.Create(4);
  pt.Items[0] := 100;    // Off
  pt.Items[1] := 500;    // On
  pt.Items[2] := 200;    // Off
  pt.Items[3] := 1000;   // On
  vr.vibrate(pt, -1);    // // -1,如果你想停止重复以重复执行0只有一次使用取消方法
  pt.Free;
end;

end.

相关阅读 >>

Delphi 变体数组

Delphi 官方 processmessages 用法代码例子

Delphi 系统appdata local 路径

Delphi 如何从url提取文件名?

Delphi 实现放大效果

Delphi 根据进程名得到进程所在路径

Delphi d10.x安卓app开发中简单使用原生toast

Delphi中获取memo鼠标所在位置的行和列

Delphi将文件删除至回收站

Delphi 实现程序 动态 类名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...