我正在开发一个 Android 应用程序。一旦启动,我将创建一个扩展 IntentService 并实现 SensorEventListener 的后台服务。该类负责监听位置更新和传感器更新,例如来自加速度计的更新。
然后我创建主窗口并检查例如是否启用了 GPS 以及其他一些东西。如果一切正确,我从主 Activity 开始另一个。我这样创建它:
Intent startDrIntent = new Intent(MainActivity.this, DrActivity.class);
MainActivity.this.startActivity(startDrIntent);
现在我想在 DrActivity 中显示坐标和加速度计值。
获得活动中显示的这些值的最佳方法是什么?我可以想到这两个:
1) 不知何故,在应用程序中有一个活动处理程序,并从每个传感器上的传感服务类或位置更新使用应用程序处理程序(可能是静态的?)并更改 TextView(s) 的值
2)在应用程序中拥有坐标和传感器的公共静态值,然后从 Activity 中使用它们(这里的问题是如何让 Activity 知道有更新。
3)有什么更好的吗?
我不能使用 AsyncTask,因为后台服务将被多个活动使用,而不仅仅是一个。提前致谢!吉列尔莫。