java - Sensor.TYPE_ORIENTATION 已弃用

标签 java android android-studio android-sensors

我正在制作一个 Compass 应用程序,我发现 Sensor.TYPE_ORIENTATITON 已被弃用,我不知道如何修复它。是否有可能获得一些帮助。这是我的代码和我所做的。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_compass);

    // 
    // TextView that will tell the user what degree is he heading
    tvHeading = (TextView) findViewById(R.id.tvHeading);

    // initialize your android device sensor capabilities
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}

@Override
protected void onResume() {
    super.onResume();

    // for the system's orientation sensor registered listeners
    mSensorManager.registerListener(this, **mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
            SensorManager.SENSOR_DELAY_GAME);**
}

@Override
protected void onPause() {
    super.onPause();

    // to stop the listener and save battery
    mSensorManager.unregisterListener(this);
}

@Override
public void onSensorChanged(SensorEvent event) {

    // get the angle around the z-axis rotated
    float degree = Math.round(event.values[0]);

    tvHeading.setText("Heading: " + Float.toString(degree) + " degrees");

    // create a rotation animation (reverse turn degree degrees)
    RotateAnimation ra = new RotateAnimation(
            currentDegree,
            -degree,
            Animation.RELATIVE_TO_SELF, 0.5f,
            Animation.RELATIVE_TO_SELF,
            0.5f);

    // how long the animation will take place
    ra.setDuration(210);

    // set the animation after the end of the reservation status
    ra.setFillAfter(true);

    // Start the animation
    image.startAnimation(ra);
    currentDegree = -degree;

}

这个想法是,在代码执行后,它必须根据罗盘检测到的度数旋转图像。

最佳答案

你可以看看这个答案

https://stackoverflow.com/a/17477963

(已经很长时间了,但可能会对某人有所帮助)

关于java - Sensor.TYPE_ORIENTATION 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37932903/

相关文章:

java - 自定义字符串分隔符 stringtemplate-4

Android Spinner 适配器和 Lollipop

php - HTTPPOST Android 到服务器

android - 评论gradle依赖

java - 当函数的代码作为方法参数传递时,如何测试它?

java - Java 应用程序(非 Android)的 Firebase 用户身份验证

java - 如何修复与语义谓词一起使用的左递归中的错误?

android - Gradle、Android 和 ANDROID_HOME SDK 位置

java - 如何修复我的 java.lang.NullPointerException (android)?

android - 与不同的开发人员一起更新现有的调试应用程序