delphi中使用Android振动  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

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;
begin
  // Vibrator取得
  vr := TJVibrator.Wrap(TAndroidHelper.Activity.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE));

  // 100秒off - 500秒振動 - 200秒off - 1000秒振動
  pt := TJavaArray.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.


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.10946202278137 seconds