uses
Androidapi.JNI.Os,
Androidapi.JNIBridge; 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 VibratorTest;
var
LVibrator: JVibrator;
LJavaArray: TJavaArray<Int64>;
begin
{ Vibrator概要:
cancel(): 关闭震动
hasVibrator():检查硬件是否支持
vibrate(long milliseconds): 震动milliseconds毫秒
vibrate(long[] pattern, int repeat):按给定数组震动 } { 需要开启Vibrator权限 }
LVibrator := TJVibrator.Create as JVibrator; { 测试手机是否支持震动 }
if not LVibrator.hasVibrator then
begin
ShowMessage('手机不支持震动');
Exit;
end; { Test procedure vibrate(milliseconds: Int64); cdecl; overload; } { 效果A: 立即震动 800 毫秒 }
// LVibrator.vibrate(); { Test procedure vibrate(pattern: TJavaArray<Int64>; repeat_: Integer); cdecl; overload;
pattern: 为震动数组参数,偶数代表等待时间(ms), 奇数代表震动持续时间(ms)
repeat_: -1: 只震动一遍; > -1: 从Index为 repeat_ 的位置开始重复震动 } { 创建测试数组 }
LJavaArray := GetVibratorArray([, , , ]); { 效果B: 等待500毫秒 -> 震动1秒 -> 等待2秒 -> 震动3秒 }
// LVibrator.vibrate(LJavaArray, -); { 效果C: 效果B重复震动 }
// LVibrator.vibrate(LJavaArray, ); { 取消震动(当手机暗屏或锁屏时会自动取消) }
// LVibrator.cancel; { 效果D: (等待500毫秒 -> 震动1秒 -> 等待2秒 -> 震动3秒)(先按原顺序震动一遍)
接着循环 [1000, 2000, 3000]
->(等待1秒 -> 震动2秒 - > 等待3秒)
->[等待1秒 -> 等待2秒 ... ]
这个听上去的效果像( 等待4秒 -> 震动2秒 )}
// LVibrator.vibrate(LJavaArray, ); { 效果E: (先按原顺序执行一遍), 接着不会震动(偶数为等待时间) }
// LVibrator.vibrate(LJavaArray, ); { 效果F: 当然是报IndexOutBounds异常 }
// LVibrator.vibrate(LJavaArray, {!!!}); end;

Delphi XE5 Android 调用手机震动的更多相关文章

  1. Delphi XE5 Android 调用手机震动(通过JObject测试是否支持震动)

    源码如下: uses Androidapi.JNI.Os, Androidapi.JNIBridge; function GetVibratorArray(const AIntArr: array o ...

  2. Delphi XE5 Android 调用 Google ZXing

    { Google ZXing Call demo Delphi Version: Delphi XE5 Version 19.0.13476.4176 By: flcop(zylove619@hotm ...

  3. delphi xe5 android 调用照相机获取拍的照片

    本篇文章我们来看一下delphi xe5 在android程序里怎样启动照相机并获取所拍的照片,本代码取自xe自带打sample,路径为: C:\Users\Public\Documents\RAD ...

  4. 学习使用Delphi for android 调用Java类库

    http://blog.csdn.net/laorenshen/article/details/41148253 学习使用Delphi for android 调用Java类库 2014-11-15 ...

  5. html5调用手机震动

    在h5里面里面,浏览器对象有个vibrate属性.顾名思义,翻译过来就是震动的意思,这个api属性方法如下: 要调用的例子 if (window.navigator.vibrate) window.n ...

  6. Unity3d之音效播放和调用手机震动

    http://blog.csdn.net/sunshine_1984/article/details/12943979 今天研究了下Unity3d音效播放相关内容,整理下实现细节. 1,添加音效文件到 ...

  7. delphi xe5 android iny绿色版+最新SDK/NDK安装方法

    转自: http://bbs.2ccc.com/topic.asp?topicid=438595 首先感谢iny的绿色版,因为我的精简Win7 32位安装原版镜像4.63G过程正常,但是编译出错,后来 ...

  8. delphi xe5 android 服务端和手机端的源码下载

    xe5 android的服务端和手机客户端的源代码下载地址 http://files.cnblogs.com/nywh2008/AndroidTest.rar

  9. xe5 android 调用照相机获取拍的照片[转]

    本篇文章我们来看一下delphi xe5 在android程序里怎样启动照相机并获取所拍的照片,本代码取自xe自带打sample,路径为: C:\Users\Public\Documents\RAD ...

随机推荐

  1. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建自定义视图

    jQuery EasyUI 数据网格 - 创建自定义视图 在不同的情况下,您可能需要为数据网格(datagrid)运用更灵活的布局.对于用户来说,卡片视图(Card View)是个不错的选择.这个工具 ...

  2. WinForm之中BindingNavigator控件的使用

    WinForm之中BindingNavigator控件的使用在微软WinForm中,BindingNavigator控件主要用来绑定数据.可以将一个数据集合与该控件绑定,以进行数据 联动的显示效果.如 ...

  3. 在git服务器上创建项目过程及遇到的问题

    一: 登录git服务器,输入用户名,密码等 二: New Project 添加项目 设置组可见,项目名称等. 创建成功的项目可以看到该项目的clone地址,可以通过http,ssh两种方式来获取: 三 ...

  4. Oracle单机Rman笔记[1]---环境准备

    A.-----安装程序准备---- 1.拷贝oracle安装包到一个目录下 2.检查并修改hostname /etc/sysconfig/network中的hostname要与/etc/hosts中的 ...

  5. sass compass config.rb

    require 'compass/import-once/activate' # Require any additional compass plugins here. # Set this to ...

  6. LimeSDR环境安装与测试

    虚拟机:ubuntu虚拟机建议4g内存,64g硬盘,usb3.0已开启 //否则编译过程耗尽内存 1 换阿里云源(加速)# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xe ...

  7. 用Nginx给网站做一个简单的防盗链

    目录结构 Nginx防盗链配置 有些时候,大家不想让别人调用自己的图片,一是因为个人版权的问题,再一点就是会增加服务器的负载.还会产生一些没必要的流量. 其实在Nginx里面,很容易就做到防盗链的,在 ...

  8. C#Mvc地址栏传值

    A页面 location.href = "/Home/Bpage?names=" +names; B页面 var loc = location.href;var n1 = loc. ...

  9. mysql 判断某字段是否包含中文

    SELECT col FROM table WHERE LENGTH(col) != CHAR_LENGTH(col) LENGTH() 函数:返回字符串的长度,已字节符为单位 CHAR_LENGTH ...

  10. Kruskal算法(题目还是:畅通工程)

    那还是先把题目丢出来,是HDU上的一道题 畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...