Не удается найти переменную символа TYPE_HEADSET_TAP - PullRequest
0 голосов
/ 24 мая 2018

Я новичок в Java.Ниже я реализовал следующий код:

package com.epson.moverio.sample.TapSample;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager; 
import android.os.Bundle;
import android.widget.Toast;
import com.example.username.internprojectcv.R;

public class MainActivity extends Activity implements SensorEventListener {

static int TYPE_HEADSET_TAP = 0x00002001;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE);
    Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_HEADSET_TAP);
    sm.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_HEADSET_TAP) {
        //if tap event occurs, show Toast
        Toast.makeText(this, "tap event!", Toast.LENGTH_SHORT).show();
    }
}

@Override
protected void onPause() {
    super.onPause();
    SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE);
    if (sm != null) {
        sm.unregisterListener(this);
    }
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}

Я получаю ошибку компилятора "не удается найти переменную символа TYPE_HEADSET_TAP".Что можно сделать, чтобы исправить эту ошибку?

1 Ответ

0 голосов
/ 24 мая 2018

Вот список типов датчиков, поддерживаемых платформой Android

https://developer.android.com/guide/topics/sensors/sensors_overview https://source.android.com/devices/sensors/sensor-types

Найдите нужный датчик и используйте его следующим образом:

Sensor.TYPE 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...