android xe 调用 java,Delphi XE6 for Android 让手机震动(调用Java的函数)
震動,是調用了 安卓api ?JNI 里面的 函數 ?,這些都是 調用java的 ,如下面的引用,
uses
FMX.Helpers.Android,
Androidapi.JNI.App,
Androidapi.JNI.Os,
Androidapi.JNIBridge, FMX.StdCtrls;
還是分幾步,
1 ?新建一個手機項目
打開xe6, file ?---- ?new ----FireMonkeyMobile Application-Delphi
2 ? ?選擇black application 點擊ok。
3 ? ?在打開的窗口中,放入幾個個Button控件.
4、點擊保存按鈕,將程序保存在你事先設定好的目錄中。
5、給Button按鈕寫的點擊事件寫點代碼:
procedure TForm1.Button2Click(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(200);//震動200ms
end;
6 ?運行 看看, 手機上直接就出來了,呵呵
7 ?再加幾個按鈕,看看,停止震動按鈕
procedure TForm1.Button5Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );//調用震動
LVibrator.cancel ;//立刻停止震動
end;
8 ?然后如果要想,有規律的震動,怎么弄呢? 繼續添加2個按鈕和一個函數
function GetVibratorArray(const AintArr:array of int64):TJavaArray;//震動規律函數
var
Lindex:integer;
begin
Result:=TJavaArray.Create(Length(AintArr));
for Lindex:=Low(AintArr) to High(AintArr) do
Result.Items [Lindex]:= AintArr[Lindex];
end;
procedure TForm1.Button3Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );
if not LVibrator.hasVibrator ?then
begin
showmessage(‘手機不支持震動‘);
exit;
end;
LJavaArray:=GetVibratorArray([200,1000,3000,5000]);//調用震動規律
LVibrator.vibrate(LJavaArray,-1);//不重復, ?震動一 次
end;
procedure TForm1.Button4Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );
if not LVibrator.hasVibrator ?then
begin
showmessage(‘手機不支持震動‘);
exit;
end;
LJavaArray:=GetVibratorArray([200,1000,3000,5000]);//調用震動規律
LVibrator.vibrate(LJavaArray,0);//v不停重復,大于0的參數,可以指定震動次數
end;
注意: 運行的時候,手機別黑屏。
http://blog.csdn.net/laorenshen/article/details/41148843
原文:http://www.cnblogs.com/findumars/p/5830126.html
總結
以上是生活随笔為你收集整理的android xe 调用 java,Delphi XE6 for Android 让手机震动(调用Java的函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android调用百度活体检测接口,C#
- 下一篇: android sina oauth2.