Articles of 方向

Android上的方位角/偏航和滚动方向传感器值不一致

我无法获得良好的方向传感器读数。 传感器读数似乎不可靠,因此我针对两个免费传感器测试应用程序( 传感器测试仪(Dicotomica)和传感器监测(R软件) )测试了我的代码。 我发现虽然我的读数经常与传感器测试应用程序一致,但偶尔方位角/偏航和滚动的值差异高达40度,尽管音高读数大多是一致的。 两个免费的应用程序似乎总是彼此一致。 我将我的代码放入一个微小的Android活动中,并得到了同样的不一致。 代码如下: public class MainActivity extends Activity implements SensorEventListener { private SensorManager mSensorManager; private float[] AccelerometerValues; private float[] MagneticFieldValues; private float[] RotationMatrix; private long nextRefreshTime; // used to ensure dump to LogCat occurs no more than 4 times a second private DecimalFormat df; // used for dumping sensors to […]

如何为所有活动设置Orientation Fixed

Android布局。 如何为AndroidMainfest.xml的应用程序标签中的所有活动设置Orientation Fixed? 我不想单独为每个活动设置方向。 提前致谢。

Android应用在方向更改期间丢失数据

我有一个应用程序,我从一个使用MediaStore.ACTION_IMAGE_CAPTURE捕获图像的教程中复制过。 当我在手机上运行应用程序时,我有一些奇怪的感觉。 即使我没有移动手机,相机应用程序本身也会在操作过程中翻转其方向几次。 在返回教程应用程序之前,它会简要进入横向模式。 因此,教程应用程序在控制返回到它后会回到纵向模式,并且图像丢失。 我尝试将相机活动的方向设置为横向,图像不会丢失。 但应用程序的布局适用于纵向模式。 或者,如果我在拍摄照片的同时横向握住相机,我可以在应用程序恢复焦点后转动手机,而不会丢失图像。 我在网上做了一些探讨。 Stackoverflow上有人提到方向的改变导致对onCreate额外调用。 “调用onCreate()的原因是因为当你在纵向方向上调用相机活动时,它会改变方向并摧毁你以前的活动。” 我在调试模式下运行应用程序,在onCreate和onActivityResult方法中设置了断点。 当我以肖像模式拍摄照片时, onCreate确实被调用了。 调用的顺序是onCreate,onActivityResult,onCreate。 如果我以横向模式拍摄照片(这是我的相机应用程序以任何方式结束的地方),onCreate不会被调用。 现在我已经知道发生了什么,我该如何避免出现问题? 这是应用程序现在的样子: package com.example.testapp; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.app.WallpaperManager; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; public class CameraActivity extends Activity implements View.OnClickListener { ImageButton […]

从命令行更改Android设备方向

我正在Android设备上运行一系列自动化测试,这些设备托管在本地服务器上的html页面中。 有些测试需要在Portrait中运行,有些需要在横向上运行。 我试图find以编程方式检查和更改设备或浏览器方向的方法。 目前我正在使用Python / Jython / Monkeyrunner / ADB编写,但如果有其他来源的解决方案,我可以切换。 将运行基本测试: 检查方向/更改方向打开url激活测试页面获取结果重复 我试过“服务电话窗口18 i32 1”,这对我来说是理想的,但我只会得到错误,即“结果:包裹(fffffffc ffffffff’……..’)” 有没有办法把它称为浏览器/ android的活动? 有没有办法欺骗倾斜事件来触发变化? 这可以在应用程序中完成,安装并作为包运行吗? 对不起,似乎我不清楚。 我不会使用模拟器,而是一系列实际的Android设备,通过USB连接。 关于这个主题的任何帮助都将受到赞赏,包括确定没有预定义的方法来实现这一点。 谢谢,

Android AR方向

我正在制作程序,用于在相机上显示来自地图的对象,这几乎可以很好地工作,除了从垂直方向左右几度(如80-110和260-280度)。 在其他+ -320度,它运作良好。 我曾尝试使用TYPE_ROTATION_VECTOR和带磁力计的加速度计,它们具有相同的结果。 有人知道任何解决方案吗? 使用TYPE_ROTATION_VECTOR: if (event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR) { float[] roationV = new float[16]; SensorManager.getRotationMatrixFromVector(roationV, event.values); float[] orientationValuesV = new float[3]; SensorManager.getOrientation(roationV, orientationValuesV); tvHeading.setText(String.format( “Coordinates: lat = %1$.2f, lon = %2$.2f, time = %3$.2f”, orientationValuesV[0], orientationValuesV[1], orientationValuesV[2])); float[] rotationMatrix=new float[16]; mSensorManager.getRotationMatrixFromVector(rotationMatrix, event.values); float[] orientationValues = new float[3]; SensorManager.getOrientation(rotationMatrix, orientationValues); double azimuth = Math.toDegrees(orientationValues[0]); […]

Android SimpleOnPageChangeListener – 确定滑动方向

我有一个扩展SimpleOnPageChangeListener的类,在我的onPageScrollStateChanged方法中,我希望能够确定用户是通过ViewPager向前还是向后滑动。 即他们是否从左到右或从右到左滑动。 我已经做了很多谷歌搜索,但我找不到任何关于它。 我原以为onPageScrollStateChanged方法会提供一个参数,说明滑动的方向,但不是。 @Override public void onPageScrollStateChanged(int state) { // Determine whether the user is swiping forwards or backwards through the ViewPager } 有没有人有任何想法? 干杯迈克

如何分辨两个地理点的方向

我有3个地理位置 (开始位置)11.986242477259117,79.84657287597656` (中间位置)11.984521304799278,79.84583258628845 (结束位置)11.985014568760436,79.844491481781 我从如何使用kml文件在地图上绘制路径获得了解? 我已经在地理点之间绘制了这条线。 我使用如何使用经度和纬度值计算两个位置之间的距离来计算距离 我的问题是,当用户站在“A”(起始位置)附近时,我想告诉方向,你要像这样移动到“北”,“东”,“西”,“南”。 如果用户错误地移动其他方向,需要说出“你有错误的方向”并说出正确的方向。 如何获得两个地理点之间的方向。 我从两个经度/纬度点获得方向(指南针)得到了这个值 它返回一定程度,但我告诉正确的方向我是没有意义的。 如何获得两个地理点之间的方向。

旋转设备时磁场测量的奇怪行为

情况: 我正在尝试通过指纹识别来建立一个室内定位系统,利用建筑物内部的磁场变化。 作为传感器,我正在使用我的手机Galaxy Nexus。 基本上,获取指纹的想法是分别测量x,y和z方向的磁场,并通过移动方向旋转矢量,使矢量进入世界坐标系。 为了定位某人,他还测量磁场,旋转矢量并将其发送到我将运行我的定位算法的服务器。 我的问题: 当我在不同方向上测量同一点的磁场时,旋转矢量后得不到相同的结果。 即使场强也不一样。 为了表明这一点,我在同一位置进行了四次测量,并将手机围绕其z轴( 标准Android规格 )逆时针旋转90度,180度和270度。 结果可以在下面的“表格”和Matlab图表(点击链接)上看到(如果您想要其他观点让我知道) 编辑:更确切地说:我真正做的是我定义了自己的坐标系,称为房间坐标系。 我拿了房间的一面墙,把它定义为北面。 我的手机的y轴外挂在那个墙上(在第一个位置),而它在桌子上是平的。 因此,正z轴指向天空,x轴定义为90度的墙。 以’Raw’命名的矢量是手机的原始值,因此它们位于手机的坐标系中。 以“旋转”命名的Vector将旋转到“房间坐标系”中。 在图中,虚线矢量是原始矢量,固体矢量是旋转矢量。 ╔═════════════╦════════╦════════╦════════╦══════════╗ ║ Vector ║ X ║ Y ║ Z ║ Strength ║ ╠═════════════╬════════╬════════╬════════╬══════════╣ ║ 0°Raw ║ 17.55 ║ 8.21 ║ -36.83 ║ 41.62 ║ ║ 0°Rotated ║ 17.55 ║ 8.21 ║ -36.83 ║ 41.62 ║ […]

Android:setRequestedOrientation后自动旋转无法正常工作

我有一个video播放器,我有两个function: 如果禁用了自动旋转,并且当用户单击全屏按钮时,我会使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)强制orientation进入landscape视图,并在退出全屏时返回纵向视图。 我已覆盖onConfigurationChanged以检测用户启用自动旋转function时的方向更改,并根据方向更改活动视图。 现在这个设置的问题是,如果用户启动活动并进入全屏并且setRequestedOrientation一次,稍后启用auto-rotate时,活动不会接收方向更改并且不会调用onConfigurationChanged 。 我在这里阅读( https://stackoverflow.com/a/6109206/5167868 ),他们不会同时工作。 我想知道是否有一种方法可以实现两者,因为我看到像MX Player这样的玩家在他们的应用程序中执行此操作。

如何在android中find另一台设备的wifi信号方向?

我使用我的Android手机作为接入点。 现在我想find与手机连接的wifi设备的距离和方向。 请通过合适的示例和代码帮助我。 提前致谢。