震动,是调用了 安卓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的函数)相关推荐

  1. delphi 简单代码实现安卓手机震动

    Android震动在游戏开发中应用广泛,这一功能的实现能给用户带来很好的使用体验.在这里就为大家介绍一下使用Delphi开发时其实现的具体方法. 实现手机震动其实很简单,手机震动使用是Vibrator ...

  2. java纽约之夜攻略,夏新DV手机A675试飞——JAVA游戏推荐

    这几天以来,一直都在找几个适合在A675手机上玩的JAVA游戏,使用模拟器有许多都能运行,但在手机上却不行,所以都一个个的安装测试,真够累的!在这里先推荐三款运行较好的JAVA游戏,至于好不好玩,在于 ...

  3. Android与Unity交互及手机震动控制

    背景 Unity开发过程中,自身提供的API或方案无法满足需求时,就需要Android工程交互通信.网络上交互方案很多,通常为jar包和aar包,经过对比本人采用aar包来实现,过程相对简单. Uni ...

  4. 关于 Delphi跨平台开发Android调用 JNI JAR java 的说明和注意事项

    2Pascal-新时代的Pascal-关于 调用 JNI JAR java 的说明和注意事项,调用第 靠写不下了 - Powered by Discuz! 关于 调用 JNI JAR 的说明和注意事项 ...

  5. 《Delphi XE6 android 编程入门教程》推荐

    近5.6年已经没有看见关于delphi的新技术的书出来了(看来在国内delphi的使用量确实很低了), 高勇同学最近出了一本<Delphi XE6 android 编程入门教程>,上周刚拿 ...

  6. android jni 结构体_Android应用开发Android JNI-c/c++调用java方法

    本文将带你了解Android应用开发Android JNI-c/c++调用java方法,希望本文对大家学Android有所帮助. " Android   JNI-c/c++调用java方法, ...

  7. Java乔晓松-android中调用系统拍照功能并显示拍照的图片

    android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...

  8. android调用 qt so文件路径,Android Java调用Qt写的so库

    有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用.这样人家反编译你的apk,就知道你侵犯了人家的版权.为了达到混淆的目的,我们可以 ...

  9. android开发教程(3)— jni编程之采用SWIG从Java调用C/C++

    2019独角兽企业重金招聘Python工程师标准>>>                                            Android 从Java调用C/C++ ...

最新文章

  1. linux shell命令 输出头标题 输出结果 排序
  2. 16.ajax_case08
  3. 小程序实现图片的放大预览
  4. java实现多线程的4种方式
  5. Xray使用的一些经验分享(xray+burp的使用)
  6. 突然!锤子科技天猫官方旗舰店商品全线下架 店铺撤店?!
  7. Introduction to Mathematical Thinking - Week 4
  8. 集成Atlas到现有的网站项目中--决定弃用Ajaxpro转用Atlas了
  9. spring(12)
  10. MicroPython学习笔记(二)操作GPIO和TIMER实现数码管动态显示
  11. c语言编程实现电脑关机,C语言让电脑关机?system函数功能够大够硬
  12. mysql c盘满了 怎么办_C盘太满清理技巧
  13. 途家民宿VS木鸟民宿:民宿APP功能体验
  14. FPGA VerilogHDL语言 数字钟 按键消抖
  15. 王道计算机组成原理课代表 - 考研计算机 第七章 输入输出系统 究极精华总结笔记
  16. XP系统常用的登录密码方法破解(一共9种)
  17. c语言如何让正数带负号
  18. 什么是“ Windows任务的主机进程”,为什么我的PC上运行着这么多主机?
  19. Linux压缩打包命令使用方法
  20. 博图V14出现The Automation License Manager Service has not been started!Please start the Service.错误

热门文章

  1. 同时读取两个USB摄像头采集
  2. Fast R-CNN论文详解 - CSDN博客
  3. 链表中是否存在环的问题,及环入口在链表中位置(Linked List Cycle II)
  4. win10 安装selenium和使用
  5. PDF文件加密有什么方法?如何给PDF文件加密
  6. 走的最急的,都是最美的风景
  7. 看博客学学Android(五)
  8. GHOST系统时出现“A:\GHOSTERR.TXT”的解决方法
  9. 让oracle做定时任务【转】
  10. SQL Server Profiler的一个小问题