delphi 手机振动 IOS Android
delphi 手机振动 IOS Android 振动
https://community.embarcadero.com/blogs/entry/how-to-vibrate-ios-and-android-phones-using-firemonkey-and-xe8
http://blogs.embarcadero.com/davidi/2015/07/06/43894/
IOS方法
#import <AudioToolbox/AudioToolbox.h>
调用方法
SystemSoundID soundID;
kSystemSoundID_Vibrate是常量$FFFAudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
delphi 方法
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | unitUmain;interfaceuses  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,  FMX.Controls.Presentation, FMX.StdCtrls{$IFDEF ANDROID}  ,Androidapi.JNI.Os,  Androidapi.JNI.GraphicsContentViewText,  Androidapi.Helpers,  Androidapi.JNIBridge{$ENDIF}{$IFDEF IOS}  ,IOSapi.MediaPlayer,  IOSapi.CoreGraphics,  FMX.Platform,  FMX.Platform.IOS,  IOSapi.UIKit,  Macapi.ObjCRuntime,  Macapi.ObjectiveC,  iOSapi.Cocoatypes,  Macapi.CoreFoundation,  iOSapi.Foundation,  iOSapi.CoreImage,  iOSapi.QuartzCore,  iOSapi.CoreData{$ENDIF}  ;{$IFDEF IOS}Const  libAudioToolbox        = '/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox';  kSystemSoundID_vibrate = $FFF;ProcedureAudioServicesPlaySystemSound( inSystemSoundID: integer); Cdecl; External libAudioToolbox Name _PU + 'AudioServicesPlaySystemSound';{$ENDIF}type  TForm1 = class(TForm)    Button1: TButton;    procedureButton1Click(Sender: TObject);  private    { Déclarations privées }  public    { Déclarations publiques }  end;var  Form1: TForm1;implementation{$R *.fmx}procedureTForm1.Button1Click(Sender: TObject);{$IFDEF ANDROID}Var  Vibrator:JVibrator;{$ENDIF}begin{$IFDEF ANDROID}  Vibrator:=TJVibrator.Wrap((SharedActivityContext.getSystemService(TJContext.JavaClass.VIBRATOR_SERVICE) asILocalObject).GetObjectID);  // Vibrate for 500 milliseconds  Vibrator.vibrate(500);{$ENDIF}{$IFDEF IOS}  AudioServicesPlaySystemSound( kSystemSoundID_vibrate );{$ENDIF}end;end. | 
添加库方法
ios must Add Path
RAD IDE>Tools>Options>SDK Manager>IOS 系统SDK
点击 右侧按钮>Add a new path item.
Path on remote machine:$(SDKROOT)/System/Library/Frameworks
File mask:AudioToolbox
Path type:Other Path
Include subdirectories:
点 OK>Update Local File Cache
windows系统电脑能看到更新到的AudioToolbox功能文件。
D:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.1.sdk\System\Library\Frameworks\AudioToolbox.framework\Headers

参考
http://blog.csdn.net/tht2009/article/details/50183721
报错
[DCC Error] E2597 ld: warning: directory not found for option 
'-FE:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.3.sdk\System\Library\PrivateFrameworks'
  ld: file not found: /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
解决方法:
1、收到建立目录PrivateFrameworks
2、删除windows目录E:\Users\Administrator\Documents\Embarcadero\Studio\SDKs\iPhoneOS9.3.sdk。
然后关闭IDE,删除IDE里3个SDK。然后重新下载,先下载ios32位,添加AudioToolbox库,更新缓存,再依次更新64位。
delphi 手机振动 IOS Android的更多相关文章
- Delphi xe7 up1 调用android振动功能
		Delphi xe7 up1 调用android振动功能 振动用到以下4个单元: Androidapi.JNI.App,Androidapi.JNIBridge,Androidapi.JNI.Os,A ... 
- 敏捷个人手机应用iOS和Android公开注册
		敏捷个人手机应用iOS出炉了,现在免费公开注册,截止时间到4月20日,注册时的邀请码是7个字符: 1.admin Android下载地址:http://agileme-download.qiniudn ... 
- 手把手教你如何用Fiddler抓取手机数据包(iOS+Android)
		本文主要教你如何通过 Fiddler 来抓取手机端的数据包,包括 iOS 和 Android 端的配置和抓取. 一.Fiddler下载安装 访问 Fiddler 官网:https://www.tele ... 
- Android 获取手机(ios,android)的设备唯一码(mac地址, IMEI)
		{ /*获取手机(ios,android)的设备唯一码(mac地址, IMEI)2018年02月16日 ⁄ 综合 ⁄ 共 2697字 ⁄ 字号 小 中 大 ⁄ 评论关闭 app中总会用到客户端下载量数 ... 
- iOS/Android 浏览器(h5)及微信中唤起本地APP
		在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这是一个既直观又很好的用户体验,但在实现过程中会遇到各种问题: ... 
- 【原】常见CSS3属性对ios&android&winphone的支持
		2个月前,我在博文<webapp开发中兼容Android4.0以下版本的css hack>中写过“那对于做移动网页开发的同事来说,一般只要做好webkit内核浏览器的展现效果就行了” ,在 ... 
- iOS / Android 移动设备中的 Touch Icons
		上次转载了一篇<将你的网站打造成一个iOS Web App>,但偶然发现这篇文章的内容有些是错误的——准确来说也不是错误,只是不适合自半年前来的情况了(也可以说是iOS7 之后的时间)—— ... 
- 毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库
		毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库 在线演示地址: http://m.yunxunmi.com/ 支持 IOS Android Ipad 等不同操作系统的手持或 ... 
- 使用Vibrator控制手机振动
		import android.os.Bundle;import android.os.Vibrator;import android.app.Activity;import android.app.S ... 
随机推荐
- for循环语句输出菱形
			for(int a = 5; a > 0 ; a--){ for(int b = 1; b <= a; b++){ System.out.print(" "); } f ... 
- 表单跳转到Struts2
			在使用表单跳转到Struts2时,路径一直不正确. login.html如下: <form action="login.do" method=post> 账号:< ... 
- zoj1004-Anagrams by Stack   【栈 dfs】
			http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4 Anagrams by Stack Time Limit: 2 Seconds ... 
- The Last Stand
			The Last Stand https://ac.nowcoder.com/acm/contest/303/L 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ... 
- SpringBoot中使用消息中间件Kafka实现Websocket的集群
			1.在实际项目中,由于数据量的增大及并发数的增多,我们不可能只用一台Websocket服务,这个时候就需要用到Webscoket的集群.但是Websocket集群会遇到一些问题.首先我们肯定会想到直接 ... 
- iOS 静态库的封装
			参考网址:http://www.jianshu.com/p/b754709135fb http://www.jianshu.com/p/443a5b8f3894 注意:封装静态库时要注意的地方: ... 
- jquery获取当前屏幕宽度
			参考文章 <script type="text/javascript"> $(document).ready(function() { alert($(window). ... 
- Spring框架的AOP技术之通知类型
			1. 通知类型 * @Before -- 前置通知 * @AfterReturing -- 后置通知 * @Around -- 环绕通知(目标对象方法默认不执行的,需要手动执行) * @After - ... 
- struts框架问题六之从值栈中获取值
			6. 问题六: 在JSP中获取值栈的数据 * 总结几个小问题: > 访问root中数据 不需要# > 访问context其它对象数据 加 # > 如果向root中存入对象的话,优先使 ... 
- 怎么用js设置a标签点击链接改变当前颜色
			怎么用js设置a标签点击链接改变当前颜色 20 例如:多个a标签为白色,当点击其中一个a标签时改变那一个a标签的字体颜色为黄色,并且跳转到对应链接,当点击下一个a标签链接时,下一个为黄色,之前一个恢复 ... 
