【发布时间】:2020-06-08 04:38:49
【问题描述】:
我在做什么:
我正在使用 Android Beacon 库制作一个应用程序。我正在使用RegionBootstrap 实现前景测距和Altbeacon 的传输。
我想要什么:
即使我的应用程序作为前台服务运行,当我可以在一定米范围内找到信标时,我也想让手机振动 500 毫秒。
逻辑:
逻辑很简单,我以特定的时间间隔执行扫描。假设我找到距离为 1m、1.5m、0.6m 的信标 A、B、C。现在我的阈值距离是0.8m,只要满足上述条件,我就会让手机震动,也就是说用户必须出去拉大距离才能停止震动。
我使用的代码:
我找到了一个代码sn-p来产生振动
import android.os.Vibrator;
...
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
v.vibrate(VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE));
} else {
//deprecated in API 26
v.vibrate(500);
}
我面临的问题:
当我的应用程序打开时,这非常有效。一旦我关闭应用程序,前台服务一直在扫描和传输,就不会发生振动。
我是android开发新手,请帮我解决这个问题。
【问题讨论】:
标签: android beacon altbeacon foreground-service vibration