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 xe5实现按android的back键无法退出关闭程序

Delphi 根据邮箱地址分离出@前的内容

Delphi webservices base64编码

Delphi 重启启动计算机的代码

Delphi区分汉字和字母的函数

iniocp(小旋风服务套件)

Delphi在memo按键实现全选

Delphi 打开android应用信息

Delphi下cpu getcpuid实现(x86和x64)

Delphi 结构化文件存取

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



打赏

取消

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

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

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

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

评论

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