我需要检索手机的方向。目前我写了这个:publicvoidonSensorChanged(SensorEventevent){switch(event.sensor.getType()){caseSensor.TYPE_MAGNETIC_FIELD:this.mag_vals=event.values.clone();this.sensorReady=true;break;caseSensor.TYPE_ACCELEROMETER:this.acc_vals=event.values.clone();break;}if(this.mag_vals!=null&&this.acc_val
是否可以在Android中获取ProximitySensor的当前值?我知道我可以使用SensorManager和Sensor并注册状态更改的监听器,但我不需要在每次状态更改时都收到通知,因此效率非常低,因为此代码是在服务中运行的。此外,我的代码在发生状态更改之前不会知道该值(如果该值没有更改怎么办......我怎么知道它是什么?相反,我不想注册一个监听器,我只想说:proximitySensor.getCurrentDistance();这可能吗?谢谢 最佳答案 查看文档后,您似乎可以通过订阅SensorEvent并查看传回的数据
我想获取手机的方向,我使用了这个代码,我发现很多人都在使用它。这是代码publicvoidonSensorChanged(SensorEventevent){//ifthedatasensorisunreliabelif(event.accuracy==SensorManager.SENSOR_STATUS_UNRELIABLE)return;//getsthevalueswitch(event.sensor.getType()){caseSensor.TYPE_ACCELEROMETER:gravity=event.values.clone();break;caseSensor.TY
我无法获得良好的方向传感器读数。传感器读数似乎不可靠,因此我针对两个免费的传感器测试应用程序(SensorTester(Dicotomica)和SensorMonitoring(R'sSoftware))测试了我的代码。我发现虽然我的读数通常与传感器测试应用程序一致,但方位角/偏航和横滚的值偶尔会相差高达40度,尽管俯仰读数基本一致。这两个免费应用程序似乎总是相互一致。我将我的代码放入一个微小的AndroidActivity中并得到了同样的不一致。代码如下:publicclassMainActivityextendsActivityimplementsSensorEventListen
我已经在网上发布的教程的帮助下开发了一个示例应用程序。我的目标是访问加速度计并根据手机方向移动球。我在某种程度上是成功的。但是我有两个问题球出界了小球运动不流畅(看起来消失又重新出现在屏幕上)这是我的代码。我是否需要做任何改变才能像我们在很多比赛中看到的那样平稳准确地移动球。publicclassAccelerometerextendsActivityimplementsSensorEventListener{/**Calledwhentheactivityisfirstcreated.*/CustomDrawableViewmCustomDrawableView=null;Shape
更新:我能够通过引入类范围静态计数器并忽略x数量的事件来解决我遇到的特定问题。但我仍然想知道我做错了什么:以微秒为单位用提示注册监听器,而不是使用四个给定常量之一。我的应用程序中的一个Activity正在连接传感器以获取设备的方向、确定滚动并使用它。我正在使用SensorManager.registerListener(SensorEventListenerlistener,Sensorsensor,intrate)注册我的传感器。来自AndroidDocumentationforthismethod:Parameters[...]rateTheratesensoreventsared
当我在GalaxyS3上测试时,我正在android中创建一个温度计应用程序,它显示TYPE_AMBIENT_TEMPERATURENOTAvailableTYPE_TEMPERATURENOTAvailable我想知道GalaxyS3是否有上述传感器?或者我如何解决这个问题以获得温度? 最佳答案 正如Yohannes在评论中所说,您只能计算标准大气温度,这对于主要用于航空的日常使用没有用。这是温度估算值与气压高度的关系。http://home.anadolu.edu.tr/~mcavcar/common/ISAweb.pdf(第2
我在我的应用中使用了ROTATION_VECTOR类型的传感器数据。使用我的Nexus5,我可以从方向[0]获得方位角,并且可以获得下图所示范围内的手机航向(非常准确)。由于我在不同的设备上试用了我的应用,我发现传感器值与我的Nexus5测试设备不同。在我的SamsungGalaxyNexus和SamsungGalaxyS3Mini上,方位角受倾斜设备的影响,如图所示。TYPE_ROTATION_VECTOR使用传感器融合,这就是我使用传感器测试应用程序检查不同设备上的单个传感器值的原因。在Nexus5上,倾斜设备时z轴的方向值大致保持不变,在三星GalaxyNexus上,z轴的值在倾
下面是我使用的示例代码:privatefinalSensorManagermSensorManager;privatefinalSensormAccelerometer;privatelongprevTime=0;publicSensorActivity(){mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);mAccelerometer=mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);mSensorManager.registerListen
我正在为我的Android应用程序使用传感器。我用一行代码注册传感器:mySensorManager.registerListener(this,orientationSensor,SensorManager.SENSOR_DELAY_NORMAL);我引入了一行代码来注销监听器,这样它就不会一直运行:mySensorManager.unregisterListener(this);到目前为止它可以工作,但我需要在应用程序恢复时再次注册它。我需要知道我的sensorManager是否有注册的监听器,以便我可以再次注册或跳过它。可以做这样的事情吗?:if(mySensorManager.