我的问题可能非常简单,但也可能是我完全错了-因此我决定问一下。最后,我将借助陀螺仪传感器的数据计算手机的方向。我知道我应该使用卡尔曼滤波器或互补滤波器之类的东西来应对陀螺漂移。我将在第二步执行此操作,但我在这里提出的问题对于两种方法都是相同的。所以,真正的问题是:从陀螺仪我只能得到角度变化(积分后)。所以我需要的是一些初始值,我可以将当前测量的变化添加到。但是我如何获得这个起点呢?我是否使用加速度计和磁力计来确定手机的方向?或者这还有什么更好的办法吗?如果重要的话,我为此使用Android并有一个实现来借助加速度计和磁力计来确定手机的方向,但它非常不准确。
在AndroidDocumentation指定第三个参数为float[]gravity然后是指定[00g]=R*gravity(g=magnitudeofgravity)现在,在大多数在线示例中,我可以看到每个人都将加速度计值发送到getRotationMatrix,但是,难道我不应该只发送重力值吗?比如手机有重力感应器,我应该将它的原始输出发送到getRotationMatrix吗?如果没有,我应该发送加速度计值吗?我应该先提取非重力成分吗?(因为加速度计值是加速度减去G)。在具有该传感器的手机中使用重力传感器值是否比使用加速度计值更可靠?提前致谢!吉列尔莫。
我正在尝试以任何角度倾斜图像,但我做不到在这里,我提供了我处理过的代码。@OverridepublicvoidonSensorChanged(SensorEventevent){if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){floatx=event.values[0];floaty=event.values[1];floatz=event.values[2];text1.setText("X:"+x);text2.setText("Y:"+y);text3.setText("Z:"+z);if(Math.abs(x)>Mat
我正在为Android编写游戏并希望能够使用加速度计进行输入。我看到两种获取传感器的方法,一种方法是使用SensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER)的第一个元素,另一种是SensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER))。getDefaultSensordoc说它可以返回一个“复合”传感器,所以如果我想要一个“原始”传感器,我应该使用getSensorList。知道复合传感器和原始传感器之间的区别是什么吗?这甚至适用于加速度计吗?任何人都有使用包含多个或复合
我正在编写一款游戏,让玩家倾斜手机来控制角色。问题是:音乐(大声播放时)和声音效果(如枪声)会干扰加速度计值。这会导致奇怪的角色移动。请给我一些关于如何解决这个问题的建议。提前致谢! 最佳答案 也许您需要调整应用对加速计数据的敏感度?听起来你甚至让最轻微的Action引起角色Action。您能否提高“噪音”阈值,使它们只需要稍微倾斜一点就能让角色移动,但又不让声音振动调整Action?换句话说,如果加速度计相对于静止位置的变化/最后有效加速度计读数的增量大于某个阈值,则接受新的加速度计读数。
我写了一个简单的应用程序来读取加速度计数据,当我Handlebars机放在table上并保持安静时,我发现采样率太低(甚至一个样本5秒)。我将采样率设置为FASTEST它的采样率总是很高。我想知道Android为什么以及如何做到这一点?我猜jni或硬件总是读取数据,但是当它发现两个样本之间没有变化时它会丢弃数据。 最佳答案 从documentationofthesensorlistener可以看出onSensorChanged过程在传感器改变时被调用。这意味着如果您将设备保持不动,传感器值将不会改变。我不得不承认,大多数手机都会给传
我想以编程方式获得Sensor的名字。说出环境光传感器的名称。我怎样才能得到它的名字? 最佳答案 使用传感器管理器查询(全部或certaintypes个)可用传感器。然后使用Sensor.getName()获取单个传感器的名称。SensorManagersm=(SensorManager)getSystemService(SENSOR_SERVICE);Listlist=sm.getSensorList(Sensor.TYPE_ALL);for(Sensors:list){Log.d("SENSORS",s.getName());}
我正在用android开发一个应用程序。该应用程序在数据库中保存了一些引号,我想使用手机的传感器在屏幕上滑动引号。所以我希望当手机向左移动时,我可以在屏幕上看到下一个报价,当我将手机向右移动时,我可以在屏幕上看到上一个报价。你觉得什么类型的感应手机比较好用?我正在尝试使用Type_orientation但出现错误:此常量在API级别8中已弃用。如何将其替换为SensorManager.getOrientation()。或者您认为还有其他传感器更适合我使用吗?packagecom.example.prova1;importjava.util.HashMap;importandroid.a
我注意到,当您使用native相机应用程序拍照时,它们会出现纵向或横向(它们应该如此),但是,当我使用Camera类在我的应用程序中拍照时,它们始终是横向的,无论如何我拿着设备。我真的希望我不必监视设备的方向并手动旋转图像...有没有更简单的方法来完成这项工作?TIA 最佳答案 您不需要使用加速度计。您可以在拍摄照片时检查方向。DeveloperAndroidgetResources().getConfiguration().orientation 关于android-我是否必须使用An
我已通过OTA将我的Nexus5升级到Marshmallow。由于更新简单的基于传感器的Activity不再起作用。以下代码执行它在其他设备(GalaxyS4Lolipop、AVD、...)上应该执行的操作有人做过这个实验吗?我错过了什么吗?代码如下:build.gradleapplyplugin:'com.android.application'android{compileSdkVersion22buildToolsVersion"23.0.1"defaultConfig{applicationId"fr.rouk1.test"minSdkVersion16targetSdkVer