在后台震动手机

3
我读得越多,就越感到困惑。我正在尝试制作一个简单的程序,在这个程序中,手机每分钟震动一次并更新一个文本字段。
当显示屏关闭时,我的应用程序在显示屏开启时运行良好,并按照预期停止工作。
起初,我认为应该使用Service,但是后来发现还有一个叫做AlarmManager的类,以及TimerTask和Timer。
哪个是最好的类/方法可以使我的应用程序每分钟震动一次?
2个回答

0
使用Alarm Manager并每分钟安排定期闹钟(假设这确实是您想要的)。您的屏幕不需要开启,甚至更好的是如果它没有开启,因为您不需要屏幕来进行振动。请注意,您的应用程序需要使用正确的权限:
<uses-permission android:name="android.permission.VIBRATE"/>

如果您在没有权限的情况下尝试使用振动功能,将会抛出安全异常。


我有一个应用程序,它使用闹钟管理器来震动手机。如果应用程序处于活动状态并在前台运行,一切都正常。但是当应用程序在后台时,震动功能就无法正常工作了。你有什么想法吗? - Daniel Leahy

0

不确定您是否希望在应用程序(活动)打开时完成此操作。如果是这种情况,您可以创建一个线程,休眠一分钟(不要阻止UI线程),然后进行振动。如果您想在后台执行此操作,则建议使用服务。

希望这可以帮到您。


如果我创建一个新的线程,当显示器关闭时它是否仍会震动? - Animesh
是的,当活动被暂停时,线程仍将继续运行。 - Luke Taylor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接