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.