Delphi xe7 up1 调用android振动功能

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi xe7 up1 调用android振动功能相关的知识,希望对你有一定的参考价值。

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振动功能的主要内容,如果未能解决你的问题,请参考以下文章

如何在Delphi XE7下写一个Android APP

Delphi春天将来临,Android遇到XE7我也是醉了,Hello World

Delphi春天将来临,Android遇到XE7我也是醉了,Hello World

如何在Delphi XE7下写一个Android APP

Delphi XE7的安卓程序如何调用JAVA的JAR,使用JAVA的类?

DELPHI XE7 新的并行库