2011-04-30 103 views
0

嘿, 我在我的Android应用程序中使用SensorManager。我了解到,一旦应用程序关闭,我必须以某种方式处理它,因为否则它会继续听取更改。所以,我试过如下:如何正确配置SensorManager

@Override 
    public void onDestroy() 
    { 
     manager.unregisterListener(temp); 
    } 

(当温度为TempListener的实例延伸SensorEventListener,它被添加到的SensorManager经理manager.registerListener(温度...))。我也尝试过经理=空,但他们都让我的应用程序强制关闭。我哪里错了? 谢谢。

+1

你一定要取消注册你可能已经注册的任何'SensorEventListener'。没有其他需要“处理SensorManager”了。如果您的'unregisterListener()'调用崩溃,请使用Eclipse中的'adb logcat',DDMS或DDMS透视图来检查LogCat并查看与崩溃相关的堆栈跟踪。 – CommonsWare 2011-04-30 12:48:36

+0

嗨CommonsWare,我试着用一个调试器运行它,但它只能告诉我崩溃发生在ActivityThread.performDestroyActivity(IBinder,boolean,int,boolean)行3361.我认为它在处理使用传感器的应用程序时遇到问题。 – ronash 2011-04-30 13:08:54

+1

我保证你可以注销一个监听器。见https://github.com/commonsguy/cw-advandroid/tree/master/Sensor/Shaker – CommonsWare 2011-04-30 13:54:25

回答

0

问题是我没有写super.onDestroy()。傻我...