加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android 指南针传感器

发布时间:2020-12-15 00:28:26 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public void onSensorChanged(int sensor,float[] values) {synchronized (this) {if (sensor == SensorManager.SENSOR_ORIENTATION) {Log.d(TAG,"onS

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

public void onSensorChanged(int sensor,float[] values) {
	synchronized (this) {
		if (sensor == SensorManager.SENSOR_ORIENTATION) {
			Log.d(TAG,"onSensorChanged: " + sensor + ",x: " + values[0]
					+ ",y: " + values[1] + ",z: " + values[2]);

			// OrientText.setText("--- NESW ---");
			if (Math.abs(values[0] - DegressQuondam) < 1)
				return;

			switch ((int) values[0]) {
			case 0: // North 北
				OrientText.setText("正北");
				break;
			case 90: // East 东
				OrientText.setText("正东");
				break;
			case 180: // South 南
				OrientText.setText("正南");
				break;
			case 270: // West 西
				OrientText.setText("正西");
				break;
			default: {
				int v = (int) values[0];
				if (v > 0 && v < 90) {
					OrientText.setText("北偏东" + v);
				}

				if (v > 90 && v < 180) {
					v = 180 - v;
					OrientText.setText("南偏东" + v);
				}

				if (v > 180 && v < 270) {
					v = v - 180;
					OrientText.setText("南偏西" + v);
				}
				if (v > 270 && v < 360) {
					v = 360 - v;
					OrientText.setText("北偏西" + v);
				}
			}
			}

			((TextView) findViewById(R.id.OrientValue)).setText(String
					.valueOf(values[0]));

			if (DegressQuondam != -values[0])
				AniRotateImage(-values[0]);
		}

		// if (sensor == SensorManager.SENSOR_ACCELEROMETER) { // //}

	}
}

public void onAccuracyChanged(int sensor,int accuracy) {
	Log.d(TAG,"onAccuracyChanged: " + sensor + ",accuracy: " + accuracy);
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读