- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码:
@Override
public void onSensorChanged(SensorEvent event) {
float f1 = event.values[0];
float f2 = event.values[1];
float f3 = event.values[2];
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(context,"10 second",Toast.LENGTH_SHORT).show();
new Handler().postDelayed(this, 10000);
}
}, 10000);
this.LastX = event.values[0];
this.LastY = event.values[1];
this.LastZ = event.values[2];
float f4 = Math.abs(this.LastX - f1);
float f5 = Math.abs(this.LastY - f2);
float f6 = Math.abs(this.LastZ - f3);
if(f4<0.003 && f5<0.003 && f6<0.003){
MainActivity.LockState = true;
// Toast.makeText(context,"Düz zemin",Toast.LENGTH_LONG).show();
}
}
我尝试每 10 秒比较一次传感器数据,但 postDelayed 函数仅在第一次起作用。此后,toast 消息就是垃圾邮件。
最佳答案
您可以简单地从 SensorEvent 获取时间戳并检查最后一个时间戳和当前时间戳之间是否有 10 秒的差异。例如:
private SensorEventListener sensorEventListener = new SensorEventListener() {
private long lastTimestamp;
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
long currentTimestamp = sensorEvent.timestamp;
if (currentTimestamp - lastTimestamp >= TimeUnit.SECONDS.toNanos(10)) {
lastTimestamp = currentTimestamp;
Toast.makeText(mContext, "10 seconds", Toast.LENGTH_SHORT).show();
//Here you can compare sensor data
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
};
关于java - onSensorChanged ,每 10 秒比较一次传感器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60014825/
这是我的职责。 public void onSensorChanged(SensorEvent event) { if (event.sensor.getType()
我有以下函数来监听加速度计和磁力计值: // Storage for Sensor readings public float[] mGravity = new float[3]; pub
我昨天刚开始使用 android 和 java,但遇到了问题。我正在尝试将传感器的值输出到某些 TextView。文本更新,但使用定义时设置的值。 onSensorChanged 应该更新这些值吗?
我正在开发一个可穿戴应用程序,我注意到一个奇怪的行为。我有一个类 FooService extends Service implements SensorEventListener 并且我重写了 on
我有一个 SensorEventListener,它在 onSensorChanged() 方法中执行如下操作: public void onSensorChanged(SensorEvent e){
我试图在 1 秒内获得 100 个加速度计读数,但它不是 100 个不同的读数,而是 100 次给出 1 个相同的读数。 当我按下应用程序中的按钮时,我尝试显示这 100 个加速度计读数 我的 Mai
我读过一些关于哪个线程调用各种回调方法的讨论,例如与传感器关联的回调方法。大多数声称 UI 线程调用回调 - 即使涉及单独的工作线程。我们确定吗? 考虑这种情况:一个单独的类实现 Runnable 和
今晚我在传感器方面遇到了很多麻烦,但似乎是因为没有调用 onSensorChanged()。很抱歉最终出现重复问题,但我没有看到任何解决方案。这是我的代码: public SensorManager
我正在编写 Android 应用程序,但在使用加速度计时遇到了一些问题。奇怪的是,我的函数 onSensorChanged() 没有被调用,我不知道为什么:/你能帮帮我吗? :) 这是我的代码: @S
我正在尝试开发一个检测跌倒的应用程序,到目前为止,跌倒的准确性在可接受的范围内,但问题是“OnSensorChanged”的调用过于频繁,导致 toast 不断出现在我的屏幕上. 我认为问题在于,在自
我需要在另一种方法中使用传感器的值。我不知道如何从 onSensorChanged() 方法获取值。 我尝试创建一个全局字段,在其中写入传感器值,但在 onSensorChanged() 方法之外该字
当我使用onSensorChanged()测试手机的加速度计时,发现它响应速度很快。几乎每1~3msonSensorChanged()就会被激活。我查了一些其他手机的信息,感觉有点奇怪,所以我怀疑我的
我是 Android 开发新手。我正在构建一个简单的 Android 应用程序,它分析加速计传感器数据并使用 MediaPlayer 播放声音。 SensorEventListener 实现代码:
当传感器打开时,onSensorChanged 上有数据 连续。 我想: 开启传感器 10 秒,每隔 10 秒读取一次数据。 关闭传感器 20 秒。 不断重复同一件事(步骤 1 到 2)。 我使用 S
我已经编写了一种通过网络发送 UDP 消息的方法。它工作正常。 在那之后,我尝试使用我的 Galaxy S 智能手机的加速计传感器。我得到了加速计值,并将它们显示在屏幕上。当值发生变化时(onSens
我将传感器用作 Sensor.TYPE_ACCELEROMETER。我正在按如下方式实现 OnSensorChanged() 方法: @Override public void onS
我正在使用传感器加速度计,我想知道它是否可能以及如何在 onSensorChanged 中运行两个东西。1. 我想将加速度计数据 x、y、z 始终存储在现场2. 如果检测到抖动,运行另一个 Activ
这是我的问题的后续:Android thread runnable performance 我在思考应用程序的同步方法时遇到了一些困难 我轮询传感器并在传感器值发生变化时将其存储到数组中 float[
只是想知道,有没有办法在 Android 手机上获取光传感器的值,而无需等待 onSensorChanged() 事件发生?为了节省电量,我在获得单个 lux 值后使用 registerListene
我需要检查移动设备是否处于水平位置(没有横向,我的意思是就像你把它放在 table 上一样)。 我知道我必须使用“SensorEventListener”接口(interface)和“onSensor
我是一名优秀的程序员,十分优秀!