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

手机网站特效代码网站流量统计

手机网站特效代码,网站流量统计,虎门网站仿做,响应式设计网站怎么做第一种方式,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.dtcms.com/wzjs/530614.html

相关文章:

  • 山东省住房城乡建设厅查询网站首页seo和sem是什么意思
  • 环境设计专业网站上海短视频培训机构
  • wordpress情侣网站源码谷歌排名优化
  • 安徽建设监管网站网站排名搜索
  • 网站免费正能量加载要快营销软文广告
  • 免费注册网站云空间手机优化管家
  • 椒江做国际网站的公司文案代写在哪里接单子
  • 深圳企业网站建设维护移动网站优化排名
  • 网站名字备案seo优化技术
  • 小型购物网站开发费用互联网最赚钱的行业
  • 泉州seo不到首页不扣费深圳百度seo代理
  • 网站建设合同 英文百度推广系统营销平台
  • 自己做一网站_多做宣传.谷歌sem和seo区别
  • 河南建设信息工程网seo顾问推推蛙
  • wordpress网站如何添加内链谷歌搜索引擎入口google
  • 校园网站开发设计报告沈阳seo优化新势力
  • 吉安市建设局施工管理站网站b站入口2024已更新
  • vs sql server网站开发app注册接单平台
  • 帮人做网站赚钱搜索引擎优化百度百科
  • 教做面包的网站浙江网络推广公司
  • 17173游戏交易平台官网常德seo
  • 三合一网站和传统网站爱站seo工具包官网
  • 石家庄市规划建设局网站seo难不难
  • 德吉机械东莞网站建设国家培训网官网
  • 贵州企业网站建设策划网站模板之家官网
  • 普洱专业企业网站建设免费的api接口网站
  • 网站建设智能优化大数据精准获客软件
  • 邯郸做wap网站的地方做网站哪家好
  • 樟木头网站站长之家ip查询
  • 卖模具做哪个网站好新媒体营销成功案例