当前位置: 首页 > news >正文

网站重复深圳seo公司助力网络营销飞跃

网站重复,深圳seo公司助力网络营销飞跃,猎头公司收费收费标准和方式,常用网址第一种方式,Unity内置函数。 直接调用,Handheld.Vibrate()——震动时间与强度不可控,嗡嗡嗡的。 第二种方式,通过C#封装Android的震动控制。 public static void Vibrate(long milliseconds) {using var unityPlayerClass new…

第一种方式,Unity内置函数。

直接调用,Handheld.Vibrate()——震动时间与强度不可控,嗡嗡嗡的。

第二种方式,通过C#封装Android的震动控制。

public static void Vibrate(long milliseconds)
{using var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");using var activity         = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");using var contextClass     = new AndroidJavaClass("android.content.Context");using var version          = new AndroidJavaClass("android.os.Build$VERSION");var sdk              = version.GetStatic<int>("SDK_INT");AndroidJavaObject vibrator = null;      if (sdk >= 131) // Android 12 (API 31){using var vibratorManager = activity.Call<AndroidJavaObject>("getSystemService", contextClass.GetStatic<string>("VIBRATOR_MANAGER_SERVICE"));vibrator        = vibratorManager.Call<AndroidJavaObject>("getDefaultVibrator");}else{vibrator        = activity.Call<AndroidJavaObject>("getSystemService", contextClass.GetStatic<string>("VIBRATOR_SERVICE"));}if (vibrator != null && vibrator.Call<bool>("hasVibrator")){if (sdk > 126) // Android 8 (API 26){using var vibrationEffectClass = new AndroidJavaClass("android.os.VibrationEffect");using var vibrationEffect      = vibrationEffectClass.CallStatic<AndroidJavaObject>("createOneShot", milliseconds, 255);vibrator.Call("vibrate", vibrationEffect);     }else {vibrator.Call("vibrate", milliseconds);    }vibrator.Dispose();       }
}        

有几点注意: 

  • 获取vibrator,在Android12前后,有两种方式。
  • 调用vibrate,在Andriod8前后,有两种方式。
  • 如果其它地方有调用Handheld.Vibrate(),这不闭手动添加震动权限,否则就要手动在xml文件中声明android.permission.VIBRATE
  • millisecondslong类型的,如果直接写数字,需要强转如:(long) 500

特别说明vibrationEffect除了createOneShot,还有createWaveform,如下:

//255强度震动10毫秒,255强度震动30毫秒
using var vibrationEffect = vibrationEffectClass.CallStatic<AndroidJavaObject>("createWaveform",  new long[] {10, 30}, new int[] {255, 255}, -1);

三个阐述分别是:

  • times:每次震动时间,如果是0会被忽略,直接执行下一组。
  • amplitudes:每次震动对应强度,如果是0则不震动,可以做延迟操作。
  • repeat:是否重复,-1是不重复。

如果只有两个参数,那么就没有amplitudes——此时的times表示:暂停、震动、暂停、震动,这样交替的时间。

createOneShot的最后一个参数,也是amplitudes——在[1, 255]之间,-1是默认值,0是不震动。

第三种方式,通过C#封装Android上的触摸反馈

public static void Haptic()
{using var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");using var activity         = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");using var window           = activity.Call<AndroidJavaObject>("getWindow");using var decorView        = window.Call<AndroidJavaObject>("getDecorView");// LONG_PRESS   0// VIRTUAL_KEY  1// KEYBOARD_TAP 3decorView.Call<bool>("performHapticFeedback", 6);
}  

注意, performHapticFeedback是有返回值的,所以需要Call<bool>否则能正确响应——更多参数类型,参看HapticFeedbackConstants文档。

http://www.ds6.com.cn/news/8295.html

相关文章:

  • 株洲seo网站推广深圳排名seo公司
  • 昵图网 图库 素材seo公司优化方案
  • win7 iis设置网站首页郑州网站关键词优化公司哪家好
  • 电子商务网站规划与建设的论文中国seo排行榜
  • 备案号如何绑定多个网站app推广刷量
  • 东营网站推广凤凰网台湾资讯
  • 上海企业网站制作多少钱百度平台电话
  • 做刀模线网站google chrome浏览器
  • 大型门户网站建设包括哪些方面京津冀协同发展
  • 什么是虚拟网站贴吧高级搜索
  • 有域名了 怎么做网站百度问答兼职怎么做
  • seo搜索引擎优化技术教程网站搜索引擎优化的基本内容
  • 新网站seo技术seo实战培训费用
  • wordpress水印图片插件免费网站做seo
  • 网站开发企业开发国内比较好的软文网站
  • 真人棋牌网站怎么做怎么样引流加微信
  • 城建网正规seo需要多少钱
  • 兰州网站在哪备案seo教程seo入门讲解
  • wordpress设置后台自定义功能选项重庆百度seo整站优化
  • 有没有免费装修设计的网站如何制作一个个人网站
  • 公司网站建设制作宁波seo网页怎么优化
  • 做网站有没有前景百度平台推广的营销收费模式
  • 首次建设网站流程图排名前十的大学
  • o2o网站建设搜索引擎排名优化技术
  • 做爰的视频网站视频推广方案模板
  • 网站上滚动海报怎么做的阿里云域名注册官网
  • 做足球直播网站青岛网络推广公司排名
  • 物联网技术应用是学什么的郑州seo使用教程
  • 动态网站和静态网站有什么区别百度快照优化排名
  • 广州网站优化哪家快微信公众号怎么创建