问题标签 [android-vibration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在android中创建和调用振动类?
嗨,我想在我的 android 活动中调用一个振动类。有人可以指出我正确的方向吗?到目前为止,这是我的 vib 课程:
我想从我的一项活动中给这个人打电话:
感谢你的帮助!
android - Android:我可以振动 Xbox 360 控制器吗?
我将此方法添加到一个简单的 Android 程序中,以查看连接的 Xbox 360 控制器是否可以访问振动:
Xbox 控制器说振动是假的……还有其他方法可以让它们发出隆隆声吗?
有控制器支持吗?
android - Android中的振动器,应用退出时停止
我基本上正在开发一个应用程序,它需要应用程序在关闭之前振动。
现在,当我调用 vibrator.vibrate() 函数然后调用 finish() 函数时,在振动完成之前,振动停止并退出应用程序。
我希望应用程序等到振动结束然后退出!
提前致谢!
java - 如何在不扩展活动的类中访问 android 中的振动器?
我正在尝试使用名为 VibrationManager 的类中的以下内容访问振动器,并且该类未扩展 Activity
但日食抛出和错误喜欢
类型 VibrationManager 的方法 getSystemService(String) 未定义
这是我的整个班级
}
请帮忙
android - 检查android设备现在是否在振动
是否可以通过代码检测 android 设备中的振动。我正在使用加速度计构建一个应用程序,因此希望在设备振动时给出不同的条件。
提前致谢 :)
java - 无法停止振动
我正在开发一个 android 游戏,我在其中使用此代码进行振动
但它在不断地振动。我想在 100 毫秒后停止这种振动,但它并没有停止。我应该怎么办?
android - 禁用通知振动
我正在使用通知编写应用程序。谷歌开发者指南鼓励开发者提供设置来自定义通知(禁用振动,设置通知声音......),所以如果用户这样设置,我会尝试禁用通知的振动。
我正在使用NotificationCompat.Builder
创建通知,如下所示:
我尝试了不同的方法来禁用通知:
我还尝试在结果对象上构建通知和更改值:
但是当通知出现时手机仍然会振动。
如何禁用通知的振动?
java - 如何通过服务或接收器无限期地保持振动器开启
我需要通过以下方式提醒用户某些事件:
- 振动
- 通知
在用户确认通知之前,振动应无限期保持。
问题是当设备进入睡眠状态时振动停止。我已阅读以下问题:
屏幕关闭时允许手机
振动 即使在 Android 中屏幕进入睡眠模式后仍继续振动
上面提到的一个问题有一个答案,说没有模式的振动可以解决问题。因此,我尝试调用Vibrator.vibrate
接受毫秒的版本,而不是具有大量数字的模式,但无论如何振动都会停止。
其他答案建议在操作上注册接收器ACTION_SCREEN_OFF
。如果设备在警报开始后进入睡眠状态,这将允许我恢复振动,但如果设备已经睡眠,则不会工作。
但是,如果我能够先打开屏幕,然后注册接收器以处理从那里可能发生的任何屏幕关闭事件,我就可以让它工作。因此,我尝试在收到触发事件时,在开始声音或振动之前获取完整的唤醒锁,但尽管我使用了标志 FULL_WAKE_LOCK 和 ACQUIRE_CAUSES_WAKEUP,但它不起作用。唤醒部分有效,但不久之后设备再次进入睡眠状态。我想认为FULL_WAKE_LOCK标志不起作用,因为它在 API 17 中已被弃用,但我的设备是运行 4.1.2 即 API 16 的三星!
现在推荐的方法似乎是使用 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON但这应该从活动中调用,除非用户单击通知,否则我没有任何屏幕,如果发生这种情况,声音和振动应该已经有被阻止了。
所以它看起来像一个死胡同。
我还能尝试什么?
更新:
我没有运气通过唤醒锁保持屏幕始终打开,但另一方面,它们允许我打开屏幕几秒钟。我实际上不需要保持屏幕打开,所以我在Intent.ACTION_SCREEN_OFF
动作上注册了接收器,当屏幕关闭时,接收器再次恢复振动。这在三星中运行良好,但我现在已经切换到华为继续测试并且接收器无法正常工作。
更新:
这是华为设备中异常的堆栈跟踪:
android - 振动停止,我不知道为什么
我有一项服务可以在特定事件发生时启动活动。然后,此活动启动振动器。当我进行主要活动时,一切正常,但是,当设备被锁定时,它只会振动一次然后停止。这是我的代码服务代码示例
我的 Alarm 类的逻辑如下...... OnCreate 使用启动振动
OnDestory 使用 vib.cancel() 停止 vib;调用 vib.cancel() 的唯一其他地方是在处理程序中检查 v 是否小于 10,但这不是原因,因为我没有使 v 小于 10。 vib.cancel(); 也可以通过按下按钮来调用。
我看过的区域 - 这仅在屏幕关闭时发生,所以它可能与我的 onCreate 相关,我在哪里执行唤醒锁释放?
或者我的简历,它基本上调用相同的东西,但使用电源服务来打开屏幕。
所以我的问题是,为什么我的振动器在屏幕关闭时启动 AlarmClass 时只振动一次,但在屏幕打开时工作得很好?我一直在努力解决这个问题,感谢您的任何意见或帮助。
编辑:可运行在警报类的 onCreate 中执行。以下是在 onResume 类中执行的。