【问题标题】:getting sensor event listener on a separate thread在单独的线程上获取传感器事件侦听器
【发布时间】:2012-11-26 10:26:40
【问题描述】:

我正在编写一个应用程序,它从旋转矢量传感器获取手机旋转并通过套接字将值发送到我的 PC。

我想实现一个SensorEventListener,使对onSensorChanged()的回调将在一个单独的线程中进行,以使UI线程更具响应性。据我了解,onSensorChanged 会经常被调用,所以我想将所有回调与 UI 线程分开。

有可能吗?

我是 android 编程新手,真的需要帮助。

【问题讨论】:

标签: android accelerometer android-sensors


【解决方案1】:

您应该在单独的Service 中处理您的 SensorListener。只需从服务中创建一个新线程,调用一个特定的函数(它将注册监听器并处理接收到的数据)。

task = new Runnable() {
    public void run(){
        receive_and_treat_info();
    }
};
task.start();

void receive_and_treat_info(){
    register_your_listeners();
    treat_them();
}

【讨论】:

  • 所以如果我理解你的话。我需要:创建一个扩展服务的类。从我的主线程创建并启动服务。在服务内部运行一个新线程并在线程内部注册我的监听器?但是谁实现了监听器?服务?
  • 没错。我真的不记得您是否必须为传感器实现侦听器接口(我不这么认为)。 Service 和 Activites 共享相同的应用程序上下文并将接收传感器事件,因此您不必担心谁实现了什么。
猜你喜欢
  • 2011-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
  • 2013-11-08
  • 1970-01-01
相关资源
最近更新 更多