Android实例-手机震动(XE8+小米2)

相关资料:http://blog.csdn.net/laorenshen/article/details/41148843
结果:
1.打开Vibrate权限为True。
2.规律震动我没感觉出来,有了解情况的请联系我。多谢了。
实例代码:
unit Unit1; interface uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
Androidapi.Helpers,//
FMX.Helpers.Android,//
Androidapi.JNI.App,//
Androidapi.JNI.Os,//
Androidapi.JNIBridge,//
FMX.StdCtrls, FMX.Controls.Presentation;//
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.fmx}
{$R *.NmXhdpiPh.fmx ANDROID} function GetVibratorArray(const AintArr:array of Int64):TJavaArray<Int64>;//震动规律函数
var
Lindex: Integer;
begin
Result:=TJavaArray<Int64>.Create(Length(AintArr));
for Lindex:=Low(AintArr) to High(AintArr) do
Result.Items[Lindex] := AintArr[Lindex];
end; procedure TForm1.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();//震动200ms
end; procedure TForm1.Button2Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray<Int64>;
begin
LVibrator := TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE) as iLocalObject).GetObjectID);//调用震动
LVibrator.cancel;//停止震动
end; procedure TForm1.Button3Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray<Int64>;
begin
LVibrator := TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE) as iLocalObject).GetObjectID);
if not LVibrator.hasVibrator then
begin
Showmessage('手机不支持震动');
Exit;
end;
LJavaArray := GetVibratorArray([, , , ]);//调用震动规律//我没感觉出来,如果你们能感觉出来,给我说一下。
LVibrator.vibrate(LJavaArray, -);//震动一遍
end; procedure TForm1.Button4Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray<Int64>;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE) as iLocalObject).GetObjectID);
if not LVibrator.hasVibrator then
begin
Showmessage('手机不支持震动');
Exit;
end;
LJavaArray := GetVibratorArray([, , , ]);//调用震动规律
LVibrator.vibrate(LJavaArray, );//重复 //-1:震动一遍 0:重复 >0:指定震动遍数
end; end.
Android实例-手机震动(XE8+小米2)的更多相关文章
- Android实例-操作摄像头(XE8+小米2)
结果: 1.同样是照相,自己的程序设置为高质量时刷新慢,而小米手机的相机那真心反映快呀. 2.就算我设置为最高质量,可相片也没有小米手机的相片大.我最大是2000*1000,而小米可以做到3000*2 ...
- Android实例-MotionSensor加速度(XE8+小米2)
结果: 1. 实例代码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classe ...
- Android实例-LocationSensor位置传感器(XE8+小米2)
结果: 1.启动后有时会闪退,后来重新做的工程就好了.原因不明(可能与地理反码有关). 2.原文是用的GOOGLE地图显示位置,但在咱们这里好像不行,改为百度,但百度用的是HTML文件.太麻烦了,大家 ...
- Android实例-消息框(XE8+小米2)
方法一支持. 方法二与方法三都是三方单元,功能相同. 方法4与方法5报错,提示平台不支持. 第三方单元一: unit Android.JNI.Toast; // Java bridge class i ...
- Delphi XE6 for Android 让手机震动(调用Java的函数)
震动,是调用了 安卓api JNI 里面的 函数 ,这些都是 调用java的 ,如下面的引用, uses FMX.Helpers.Android, Androidapi.JNI.App, A ...
- Delphi XE5 Android 调用手机震动
uses Androidapi.JNI.Os, Androidapi.JNIBridge; function GetVibratorArray(const AIntArr: array of Int6 ...
- Delphi XE5 Android 调用手机震动(通过JObject测试是否支持震动)
源码如下: uses Androidapi.JNI.Os, Androidapi.JNIBridge; function GetVibratorArray(const AIntArr: array o ...
- Android实例-从照相机或图库获取照片(XE8+小米2)
结果: 1.如果要取本地相册的话,小米手机要注意一下,不能取网络相册. 操作: 1.两个 TButton (Button1 和 Button2) , 一个 TActionList(ActionList ...
- Android实例-实现扫描二维码并生成二维码(XE8+小米5)
相关资料: 第三方资料太大没法写在博文上,请下载CSDN的程序包. 程序包下载: http://download.csdn.net/detail/zhujianqiangqq/9657186 注意事项 ...
随机推荐
- Android中LayoutParams
LayoutParams are used by views to tell their parents how they want to be laid out. See ViewGroup Lay ...
- hibernate中的SessionFactory,Session分别表示什么啊?如何理解?
Session接口 Session接口对于Hibernate 开发人员来说是一个最重要的接口.然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会 ...
- python学习中,list/tuple/dict格式化遇到的问题
昨天上了python培训的第一课,学习了基础知识.包括类型和赋值,函数type(),dir(),id(),help()的使用,list/tuple/dict的定义以及内置函数的操作,函数的定义,控制语 ...
- 代码实现获取log日志和logcat使用方法
代码实现获取log日志new Thread(new Runnable() { @Override publi ...
- hdu 1559 最大子矩阵 (简单dp)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1559 #include <cstring> #include <cstdlib> ...
- 宏HASH_GET_FIRST
/*******************************************************************//** Gets the first struct in a ...
- UVa 437 (变形的LIS) The Tower of Babylon
题意: 有n种类型的长方体,每种长方体的个数都有无限个.当一个长方体的长和宽分别严格小于另一个长方体的长和宽的时候,才可以把这个放到第二个上面去.输出这n种长方体能组成的最大长度. 分析: 虽说每种都 ...
- Web Api 中使用 PCM TO WAV 的语音操作
/// <summary> /// 语音[文件.上传.解码.保存(WAV)] /// </summary> [DeveloperEx("Liwei:秘书语音需求单&q ...
- oracle查询某个用户下的所有视图
SYS>select view_name from dba_views where owner = 'NS_RAS3'; VIEW_NAME--------------------------- ...
- 强大的日志分析工具 -- NSLogger
转:http://www.cnblogs.com/yingkong1987/p/3329945.html 强大的日志分析工具 -- NSLogger 源码:https://github.com/fpi ...