小编dan*_*zer的帖子

android:为什么getrotationmatrix返回false?

我想得到我的手机的方向,我使用这个代码,我发现很多人使用它.这是代码

    public void onSensorChanged(SensorEvent event) {
    //if the data sensor is unreliabel
    if(event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE)
        return;

    //gets the value
    switch (event.sensor.getType()) {
    case Sensor.TYPE_ACCELEROMETER:
        gravity = event.values.clone();
        break;

    case Sensor.TYPE_MAGNETIC_FIELD:
        geomag = event.values.clone();
        break;
    }
    getOrientation();
}

private void getOrientation(){

    //if gravity n geomag have value, find the rotation matrix
            if(gravity != null && geomag != null){

                //check the rotation matrix found
                boolean success = SensorManager.getRotationMatrix(inR, I, gravity, geomag);

                if(success){
                    SensorManager.getOrientation(inR, orientVals);
                    azimuth = Math.toDegrees(orientVals[0]);

                    TextView azi = (TextView) findViewById(R.id.textAzi); …
Run Code Online (Sandbox Code Playgroud)

android matrix orientation coordinate android-sensors

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