2012-08-09 66 views
0

我正在制作一个小型项目,我正在制作一个将在MapView上使用的指南针。在它自己的活动(而不是MapView)中运行程序(指南针部分)时,一切正常,但由于指南针必须集成到另一个包含保存MapView的Activity的包中,我希望我的指南针代码能够被访问从那个包里。从单独的包获取传感器

问题是我不知道要从其他包中初始化传感器,或者如果必须从活动本身执行它,然后以某种方式将SensorManager的实例传递到罗盘包。

我希望我的问题是不够具体,但如果没有,我会很高兴地发布一些我的代码:)

回答

0

如果你有一个有效的Context你可以从另一个包开始,传感器管理。

public class compass implements SensorEventListener { 
    SensorManager mSensorManager; 

    public compass(Context context) { 
    mSensorManager = (SensorManager)context.getSystemService(SENSOR_SERVICE); 

    // do stuff like register listener 
    } 
} 
+0

谢谢!现在传感器正在工作。你能否也请指出最佳做法是什么,当从另一个包中调用时,在传感器侦听器上实现onResume和onPause?谢谢! – thilemann 2012-08-10 00:35:04

+0

将'onStop'添加到其他包中。 – Frohnzie 2012-08-10 00:56:05

+0

再次感谢你! – thilemann 2012-08-10 07:18:03