Android端和iOS端手机震动功能的实现

Unity手机震动,Unity -> ios 震动 说明 Unity 有自己的 接口 Handheld.Vibrate() 来实现手机的震动,这里来介绍下Unity调用ios原生震动。 原生ios实现脚本 下面有2个脚本都是震动的实现,用来自己测试。iOSHapticInterface.m与MultiHaptic.mm脚本。建议使用iOSHapticInterface.m脚本。 iOSHapticInterface.m // This iOS haptic interface is a pretty straightforward impleme 阅读详情
iOS端

  • 全版本通用的震动,通过苹果私有API实现

        //peek
        AudioServicesPlaySystemSound(1519);
        //pop
        AudioServicesPlaySystemSound(1520);
        //连续三次短震动
        AudioServicesPlaySystemSound(1521);
        //大约时长1s震动
        AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
    
  • 在iOS10以后,苹果新增了一套震动反馈的API,但仅支持iPhone7之后有虚拟home键的设备

    
    if([str  isEqual: @"light"])
    {
        UIImpactFeedbackGenerator *r = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight];
        [r prepare];
        [r impactOccurred];
    }else if([str  isEqual: @"medium"])
    {
        UIImpactFeedbackGenerator *r = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleMedium];
        [r prepare];
        [r impactOccurred];
    }else if ([str  isEqual: @"heavy"])
    {
        UIImpactFeedbackGenerator *r = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleHeavy];
        [r prepare];
        [r impactOccurred];
    }
  • iOS还有一种震动通过UINotificationFeedbackGenerator来实现 有三种效果
   if ([str  isEqual: @"success"])
    {
        UINotificationFeedbackGenerator *r = [[UINotificationFeedbackGenerator alloc] init];
        [r notificationOccurred:UINotificationFeedbackTypeSuccess];
    }else if ([str isEqual:@"warning"])
    {
        UINotificationFeedbackGenerator *r = [[UINotificationFeedbackGenerator alloc] init];
        [r notificationOccurred:UINotificationFeedbackTypeWarning];
    }else if ([str isEqual:@"error"])
    {
        UINotificationFeedbackGenerator *r = [[UINotificationFeedbackGenerator alloc] init];
        [r notificationOccurred:UINotificationFeedbackTypeError];
    }

Android

Android端实现震动使用的是Vibrator类,在使用之前需要申请权限

<uses-permission android:name="android.permission.VIBRATE"/>

Andorid 震动可以设置震动一次和循环震动,两者触发方式不同

  • 单次震动 数字1000表示震动1s
Vibrator vibrator = (Vibrator)this.getSystemService(this.VIBRATOR_SERVICE);
vibrator.vibrate(1000);
  • 循环震动
    数组的a[0]表示等待时间,a[1]代表震动的时间,然后数组的a[2]表示等待时间,a[3]代表震动时间……依次类推下去,最后一行中vibrate的第二参数表示从哪里开始循环,比如这里的0表示这个数组在第一次循环完之后会从下标0开始循环到最后,这里的如果是-1表示不循环。
Vibrator vibrator = (Vibrator)this.getSystemService(this.VIBRATOR_SERVICE);
//单位毫秒
long[] patter = {1000, 1000, 2000, 5000};
vibrator.vibrate(patter, 0);

//取消循环
vibrator.cancel();
cocos creator 实现手机震动的效果 目前需要wx, android,ios三个平台发布 ios:AudioServicesPlaySystemSound(kSystemSoundID_Vibrate) android:Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(milliseconds); 有个V... 阅读详情

相关推荐

Unity C#调用Android,IOS震动功能

Unity与移动端进行交互

lck8989的博客 1774

【Delphi】一个函数实现ios,android震动功能 Vibrate(包括3D Touch 中 Peek 震动等)

实现在Delphi的FMX环境下让ios以及android手机震动的函数,特别包括ios的3D touch震动功能

sensor_WU 博客 938

unity 实现手机振动_Unity 手机震动插件Vibration

【实例简介】Unity Asset Store 购买的震动插件,内有多种震动模式,兼容Android和IOS【实例截图】【核心代码】Unity震动插件└── Unity 震动插件└── Vibration├── Scripts│ ├── VibrationController.cs│ └── VibrationController.cs.meta├── Scripts.meta├── Th...

weixin_39838829的博客 1416

android+仿iphone,Android编程实现仿iphone抖动效果的方法(附源码)

Android编程实现仿iphone抖动效果的方法(附源码)时间:2021-05-20本文实例讲述了Android编程实现仿iphone抖动效果的方法。分享给大家供大家参考,具体如下:布局文件: 代码:package com.android.shake;import android.app.Activ...

weixin_27256197的博客 516

如何在Unity中实现震动反馈效果

一、Unity中提供了震动的接口: Handheld.Vibrate(); Unity提供的这个接口的震动时长是0.5s。不能缩短震动时长 二、在Unity中要自定义震动时长的话,那就得在android工程和Xcode工程分别实现震动功能,再在unity中进行调用。 android工程震动: ///供unity调用的接口 public void setVibrator()...

HUAFELU的博客 5065

震屏效果java_CocosCreator 实现手机震动效果

IOS 震动的写法#import @interface JSC : NSObject+ (void) ddd1;+ (void) ddd2;+ (void) ddd3;+ (void) ddd4;+ (void) ddd5;@end#include "JSC.h"#import @implementation JSC+(void)ddd1 {AudioServicesPlayAlertSound(...

weixin_42626599的博客 855

关于Flutter:震动反馈 HapticFeedback

1. 缘起 这两天在研究 CupertinoSliverRefreshControl 组件,使用中有个小细节吸引到了我的注意。在下拉达到一定程度时,会有 weng 的一声震动感。然后翻看源码中的具体实现逻辑,在下拉量大于 refreshTriggerPullDistance 时,会触发 HapticFeedback.mediumImpact(); 方法。看到 Feedback 一词,也就知道这是震动反馈触发的方法了。 2. HapticFeedback 类的介绍 HapticFeedback 非常简单,

m0_64420071的博客 4153

【Unity】Unity中调用手机的震动功能 包括安卓和IOS

Unity中调用手机的震动功能 包括安卓和IOS

qq_41789645的博客 2349

Flutter 振动反馈

在Flutter 我们可以使用vibrate插件、可以兼容安卓与IOS。一般可用于振动反馈、比如按钮点击反馈、网络请求成功反馈等等。 用法 添加依赖到pubspec.yaml到文件当中 安卓需要添加下面的振动权限到Android Manifest中 <uses-permission android:name="android.permission.VIBRATE"/> 使用 im...

多一份贡献,多一份环保 5894

Unity手机震动实现

要实现自定义时长、模式的震动,需要通过 Android 原生接口。Unity 支持通过调用 Java 代码。= null) {# endif }= null) {# endif }= null)#else#endifUnity 内置简单易用,但功能有限。Android 推荐用原生接口自定义震动时长/模式。iOS 需写原生插件,支持基础震动和 Haptic Feedback。跨平台建议封装统一接口,便于维护和扩展。下面继续深入讲解Unity手机震动的进阶实现。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 691

Unity跨平台震动功能实现指南

本文还有配套的精品资源,点击获取 简介:本教程提供了一个详细指南,教授如何在Unity3D引擎中实现iOS设备的震动功能,并展示如何通过调用iOS原生API来增强游戏体验。该指南包括如何在Unity中使用C#脚本与iOS原生代码进行交互,以及如何处理Android平台上的震动实现差异,从而在两个主流移动平台上提供统一的交互体验。 1. Unity3D游戏引擎介绍 ...

weixin_34547628的博客 1470

震动效果调研 - iOS

ios震荡KPI调研

qq_40319342的博客 5616

Unity项目一键接入手机震动反馈,兼容安卓iOS双平台触感控制

专为Unity开发者准备的轻量级震动功能集成方案,开箱即用支持Android和iOS设备的物理震动与触觉反馈。内置短震、长震、多段脉冲等常用震动模式,通过几行代码就能触发对应效果,比如按钮点击确认、游戏事件提示或操作成功/失败反馈。自动处理系统权限申请逻辑,适配后台运行限制,在Unity 2019.4+版本中稳定工作。核心功能封装在VibrationManager脚本中,包含平台自动识别、震动开关控制、时长与强度调节,以及按事件类型绑定不同震动节奏的能力。资源包结构清晰,Scripts目录下提供完整可配置脚

n7o8p的博客 211

cocos creator 实现手机震动的效果(最全说明)

Cocos Creator 调用Android手机震动(最全说明) 之前在做creator时打包需要调用安卓的震动总结的,看了许多其他博客的方法,虽然意思说明了但是东西不全,因此也被坑了一波。自己总结了套最全的傻瓜教程,有兴趣的可以看下。 1.将Cocos Creator项目打包发布形成build文件夹 用Android-studio打开如下目录(图中红色标记): */build/jsb-link...

weixin_43142073的博客 5947

TC3xx系列LMU与SPR实战:将关键算法从Flash搬移至PSPR提升5倍执行效率

在实际电机控制项目中,通过将FOC算法全部迁移到PSPR,我们不仅将执行时间从56μs降至11μs,还将最坏情况下的时间偏差控制在±0.3μs以内。实测数据:在TC397上执行Flash中的32位浮点矩阵乘法,平均每条指令需要8.7个周期,而同样的代码在PSPR中仅需1.2个周期。传统开发中,工程师往往将所有代码放在Flash中运行,这相当于让F1赛车在乡村公路上行驶。迁移后不仅平均执行时间缩短,更重要的是时间抖动从±15%降低到±2%以内,这对闭环控制系统至关重要。不是所有代码都适合迁移到PSPR。

weixin_31421613的博客 296

Oracle 19c RAC安装踩坑实录:OpenSSH 8.x版本与OUI的“兼容性战争”及一劳永逸的解决思路

本文深入解析Oracle 19c RAC在Linux8环境中部署时遇到的OpenSSH 8.x版本兼容性问题,特别是[INS-06006]错误的根源与解决方案。从协议层分析冲突本质,提供SCP包装器技术、官方补丁应用指南及现代化部署体系构建三种解决方案,帮助企业高效完成RAC安装并规避类似问题。

weixin_42648844的博客 456

【Unity开发】控制手机移动端的震动

最近开发了一个新的功能——特定情况下让手机震动,例如点击界面中的按钮,手机震动一下。这也是第一次写移动端的震动的功能,虽然unity有自带的控制移动设备震动的API,但是API太过于单一不太符合功能要求,因为他只有最简单的0.5秒的震动,不能控制震动的时长和强度。然而对于一个按钮的震动反馈来讲,0.5秒的时长有点长了。上网查阅了大量的相关的资料,最终还不错的解决的功能的开发,所以在这里就罗列出我找到的所有能控制手机震动的API插件。最后还有控制游戏手柄震动的API。

为者常成,行者常至! 1990

基于GEC6818开发板的C/C++贪吃蛇小游戏

f.开始游戏(进入游戏,并没有马上开游戏,需要点击播放才能开始)2.相关宏,全局变量(可以根据自己需要进行修改)k.显示文字前的相关初始化。k.自定义font.h文件。1.需要的主要头文件。l.在开发板上显示字1。m.在开发板上显示字2。a.显示固定大小图片。h.线程1:获得坐标。

2301_77273301的博客 2132

android设置手机震动强度,android 控制震动强度

转载文章请注明出处:http://blog.youkuaiyun.com/dangxw_/article/details/17957175android 控制手机震动的类为Vibrator 他所提供的方法只有四个 想要控制手机的震动强度,无疑就只能使用vibrate(long[] parttern,int repeat)方法了,查看这个方法的详解:Vibrate with a given pattern.Pa...

weixin_39764494的博客 3287

ESP32S3编译micropython固件

编译ESP32芯片的micropython固件

m0_73253860的博客 2553

【同等学力】2005-数学⭐✨

有r个正方形排成一行,今用红、黄、白、蓝四种颜色给这个r个正方形染色,每个正方形只能染一种颜色,如果要求染红、黄、白色的正方形分别至少出现一个,问有多少种不同的染法?3、(4分)设G是一个有n个结点m条边的连通简单平面图,若n≥3,则m≤3n-6.4、(4分)证明:任何连通简单平面图至少有一个结点的度数不超过5

super_mochi1 305

uniapp 安卓和ios震动方法,支持息屏和后台震动,ios和安卓均通过测试

uniapp 安卓和ios震动方法,支持息屏和后台震动,即使软件在退出桌面也能正常震动,安卓和ios均测试正常可用。

weixin_42100033的博客 1788

管好 SAP Fiori Launchpad Content:技术目录、业务目录与 KPI 工具的完整治理思路

SAP Fiori Launchpad 作为企业级统一入口,需通过技术目录(源对象)和业务目录(引用编排)分层治理。技术目录由 Launchpad App Manager 维护,负责应用描述对象(Tile 和 Target Mapping)的创建与管理;业务目录由 Launchpad Content Manager 编排,通过引用技术目录对象实现灵活配置。分析型内容则通过 F2814 统一管理。这种分层设计支持应用复用,便于升级维护,是 SAP S/4HANA 项目中实现高效内容治理的关键。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 129
上一篇: Unity复制字符串到剪切板
下一篇: 获取Obb包里面的某个资源文件
花花蔡_
博客等级 码龄10年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值