标签: accelerometer

用安卓设备确定人坠落

我的三星 Galaxy S2 有一个加速度计和陀螺仪。使用这 2 个传感器,我需要确定一个人是否坠落。我如何以最佳方式实施它?

android accelerometer gyroscope sensors

5
推荐指数
1
解决办法
3623
查看次数

iOS:从没有地图的当前位置获取地理位置的角度

我正在研究一些iPhone应用程序,我想制作一个轴承,一个移动到特定地理位置的图像,具体取决于使用加速度计的用户位置.

我在这里读了很多答案,但没有得到解决方案.

我有当前的位置坐标和目的地坐标.

您有任何想法或示例代码吗?谢谢.

iphone xcode accelerometer geolocation ios

5
推荐指数
1
解决办法
3085
查看次数

检测设备方向

我需要检测Android设备方向更改,而无需手动使用传感器数据,同时保持活动方向坚持某些方向

onConfigurationChange 不会起作用,因为我的活动会不会旋转.

使用传感器数据来检测方向变化我认为这是一个轮子的发明,因为android已经有嵌入式算法实现来检测设备方向的变化.另一方面,方向变化的检测不是这样的简单检查.

    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER || event.values.length < 3) {
            return;
        }
        //getResources().getConfiguration().orientation;
        if (event.values[1] < 6.5 && event.values[1] > -6.5) {
            if (orientation!=1) {
                Log.d("Sensor", "Protrait");
            }
            orientation=1;
        } else {
            if (orientation!=0) {
                Log.d("Sensor", "Landscape");
            }
            orientation=0;
        }
   }
Run Code Online (Sandbox Code Playgroud)

它确实需要真正的数据处理,例如从噪声过滤和突然短暂的抖动/旋转.

那么有什么想法可以使用传统服务检测设备方向?(再一次,我会把我的活动坚持到某个方向,所以onConfigurationChange不会起作用)

automation android accelerometer autorotate

5
推荐指数
3
解决办法
7607
查看次数

Core Motion的加速度计在后台模式下实现的奇怪行为

我在iOS上实现了一个计步器.一个重要的要求是,即使应用程序处于后台模式(例如,设备被锁定或用户按下主页按钮),它也必须工作.您可以在App Store中看到这样的实现,如Nike +,Runtastic Pedometer等.

一些SO帖子证实,这可以通过Core Motion实现,或者特别是CMMotionManager具有Required background modes设置为的附加属性location.

我使用下面的代码进行了快速测试,发现了一个奇怪的问题:

// AppDelegate.m
- (void)applicationDidEnterBackground:(UIApplication *)application
{ 
    if(self.motionManager==nil) {
        self.motionManager=[[CMMotionManager alloc] init];
    }
    self.motionManager.accelerometerUpdateInterval=1/50;

    if(self.accelerometerReadings==nil) 
        self.accelerometerReadings=[[NSMutableArray alloc] init];

    [self.motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.accelerometerReadings addObject:accelerometerData];
        });
    }
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"The number of readings %d",self.accelerometerReadings.count);

    // do something with accelerometer data...
}
Run Code Online (Sandbox Code Playgroud)

我用iPhone 4S和iOS 6.1试过这段代码.当应用程序启动时,我按下主页按钮并摇动它(模拟行走)5秒钟,然后再次打开应用程序.这些动作重复了几次.我得到的输出是:

2013-02-05 16:41:42.028 [1147:907] readings 0
2013-02-05 16:41:51.572 [1147:907] readings 444
2013-02-05 16:42:00.386 [1147:907] readings …
Run Code Online (Sandbox Code Playgroud)

accelerometer background-process ios core-motion cmmotionmanager

5
推荐指数
1
解决办法
1532
查看次数

Android 4.3中android.hardware.SensorManager.registerListener的意外错误返回值

二手LG Nexus 4,Android 4.3

返回值有时是假的,我不明白为什么.文档说:"如果传感器得到支持并成功启用,则为true."

奇怪的是,我见过的没有例子是测试SensorManager.registerListener的返回值.

奇怪的是,如果我忽略了返回错误的值,那么一切都按预期工作!

文档:http: //developer.android.com/reference/android/hardware/SensorManager.html

android.hardware.SensorManager,android.hardware.SystemSensorManager

我的代码:

SensorManager sensorMgr = (SensorManager)_context.getSystemService(Context.SENSOR_SERVICE);
if (sensorMgr == null) {
    Log.w(TAG, "200410::Sensors not supported");
    return false;
}

Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_PROXIMITY);
result = sensorMgr.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);
if( result == false) {
    // Normally something should be done here
    // since the false return value indicated that registration failed.
    // But I found it's better doing nothing since the registration seams to be ok
}
return result;
Run Code Online (Sandbox Code Playgroud)

在Android 4.3之前没有发生奇怪的错误返回值 …

android sensor accelerometer proximity proximitysensor

5
推荐指数
0
解决办法
686
查看次数

Android Wear 上的加速度计会耗尽电池电量吗?(安卓手表)

我正在创建一个 Android Wear 应用程序,它试图检测一些手部动作,为此,我需要持续监控加速度计输出。我想知道它会如何影响电池寿命。

对于手机,我知道有“屏幕关闭时禁用加速度计”之类的方法可以节省电池,但是手表的电池成本是多少?由于 Android 手表可以计算您的步数,并且当您将其面向您的脸时它会打开屏幕,因此我相信无论如何加速度计一直处于打开状态。

在这种情况下,我的应用程序会耗尽电池电量吗?

(接收加速度计值后的计算将非常简单。)

android battery accelerometer wear-os

5
推荐指数
1
解决办法
1894
查看次数

预期的类或接口

我曾经使用eclipse与android sdk,但我刚刚下载了android studio.我想使用加速度计,但由于某种原因,我一直得到同样的问题."类或接口预期"我附上下面的代码,如果有人能给我一个问题的解决方案,我将被迫.

   package com.example.symbox.myapplication;

   import android.app.Activity;
   import android.content.Context;
   import android.hardware.Sensor;
   import android.hardware.SensorEvent;
   import android.hardware.SensorEventListener;
   import android.hardware.SensorManager;
   import android.support.v7.app.ActionBarActivity;
   import android.os.Bundle;
   import android.view.Menu;
   import android.view.MenuItem;
   import android.view.View;
   import android.widget.ImageView;
   import android.widget.TextView;


   public class MainActivity extends ActionBarActivity implements SensorEventListener {

   private float mLastX, mLastY, mLastZ;

   private boolean mInitialized;
   private SensorManager mSensorManager;
   private Sensor mAccelerometer;
   private final float NOISE = (float) 2.0;

   @Override
   public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mInitialized = false;

    mSensorManager = (SensorManager) getSystemService(Context.SEARCH_SERVICE);
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    mSensorManager.registerListener(this, mAccelerometer, …
Run Code Online (Sandbox Code Playgroud)

java accelerometer android-studio

5
推荐指数
1
解决办法
3万
查看次数

在 phonegap 应用程序中将加速度计轴重新定向到汽车轴

我目前正在做一个应用程序,通过手机中的加速度计检测道路上的坑洼。我遇到的问题是我需要重新定向加速度计轴以与汽车轴对齐。

我从网上的一份报告中找到了以下解释,但我不知道如何使用 GPS 计算后旋转以及如何监控预旋转角度。

网上的解释:

“手机可以放在任何任意方向,因此,它是嵌入式加速度计。因此,在分析信号之前,它必须沿着车辆的轴定向。该系统使用基于欧拉角的算法进行重新定向。传感器实际上是沿着使用预旋转、倾斜和后旋转角度(欧拉角)计算车辆的轴。使用 GPS 计算后旋转角度,因此为了避免额外的能量消耗,预旋转和倾斜角度会被连续监测,只要有任何在这些角度发生重大变化时,GPS 已打开,重新定向过程将再次完成。”

我已经搜索了使用 phonegap 查找设备方向的方法,但我能找到的只是航向方向插件,它似乎用于提供手机的指南针方向。

任何建议或什至替代方法都将不胜感激。

gps android accelerometer orientation cordova

5
推荐指数
1
解决办法
839
查看次数

敲击Android设备上的解锁

我发现有可能使用加速度计进行"敲击解锁" http://www.knocktounlock.com/.

我在swift中找到了这个:Swift CoreMotion在后台检测设备上的Tap或Knock

有没有人有兴趣为Android制作它?我是移动开发的新手.

如果你在android java中分享一些源代码,我将非常感激!

最好的祝福,

Mudin

android accelerometer android-sensors android-studio mobile-development

5
推荐指数
0
解决办法
398
查看次数

Android跌倒检测

我正在使用加速度计传感器实现跌倒检测,并创建以下代码。

  public void onSensorChanged(SensorEvent foEvent) {


        if (foEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
            double loX = foEvent.values[0];
            double loY = foEvent.values[1];
            double loZ = foEvent.values[2];

            double loAccelerationReader = Math.sqrt(Math.pow(loX, 2)
                    + Math.pow(loY, 2)
                    + Math.pow(loZ, 2));
            mlPreviousTime = System.currentTimeMillis();
            Log.i(TAG, "loX : " + loX + " loY : " + loY + " loZ : " + loZ);
            if (loAccelerationReader <= 6.0) {
                moIsMin = true;
                Log.i(TAG, "min");
            }

            if (moIsMin) {
                i++;
                Log.i(TAG, " loAcceleration : " + loAccelerationReader);
                if …
Run Code Online (Sandbox Code Playgroud)

android accelerometer android-sensors

5
推荐指数
1
解决办法
4413
查看次数