Как обнаружить движение телефона во время вождения?

#java #android #ios #accelerometer #motion

#java #Android #iOS #акселерометр #движение

Вопрос:

Нам нужно отслеживать, находится ли телефон в режиме езды, без использования gps. Мы пытались использовать акселерометр, но это происходит только тогда, когда телефон находится в движении.

Комментарии:

1. Как я могу отслеживать с помощью eyes?

2. Физика говорит нам, что вы не можете. Неустановленное движение не может быть обнаружено, если вы не посмотрите на какую-либо внешнюю ссылку.

3. В телефонах Motorola есть режим drive. Можете ли вы определить логику, лежащую в основе этого режима движения, без помощи GPS?

4. Пожалуйста, объясните, что для вас означает «режим привода»?

5. Откуда вы знаете, что они не используют GPS?

Ответ №1:

Вы пробовали значительный датчик движения Значительный датчик движения запускает событие каждый раз, когда обнаруживается значительное движение, а затем отключается. Значительное движение — это движение, которое может привести к изменению местоположения пользователя; например, ходьба, езда на велосипеде или сидение в движущемся автомобиле.

 private SensorManager mSensorManager;
private Sensor mSensor;
private TriggerEventListener mTriggerEventListener;

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION);

mTriggerEventListener = new TriggerEventListener() {
    @Override
    public void onTrigger(TriggerEvent event) {
        // Do work
    }
};

mSensorManager.requestTriggerSensor(mTriggerEventListener, mSensor);
 

Ответ №2:

Комментарии:

1. Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели некоторое представление о том, что это такое и почему оно там. Всегда указывайте наиболее релевантную часть важной ссылки на случай, если целевой сайт недоступен или постоянно отключен.

2. @Paulw11 я ценю ваше мнение, но вы не добавили никакого кода при задании вопроса, поэтому я ничего не могу предложить, потому что я не знаю, в чем именно заключается ваша проблема.

3. Я не задаю вопрос. Я указываю, что ответы на переполнение стека должны быть относительно автономными. Вы не должны просто ставить пару ссылок и говорить «вот так».

4. У меня есть красные ссылки, но проблема в том, что я не могу обнаружить, что телефон движется, не отвлекаясь на положение.