分享

Delphi xe7 up1 调用android振动功能

 npkaida 2015-02-10

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 PermissionsVibrate设为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.

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章