Android 感應器簡記

來源:互聯網
上載者:User

標籤:tostring   txt   string   res   vendor   lis   null   com   activity   

顯示所有感應器
sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);List<Sensor> allSensors = sm.getSensorList(Sensor.TYPE_ALL);StringBuilder sb = new StringBuilder();sb.append("此手機有" + allSensors.size() + "個感應器,分別有:\n\n");for(Sensor s:allSensors){     switch (s.getType()){        case Sensor.TYPE_ACCELEROMETER:            sb.append(s.getType() + " 加速度感應器(Accelerometer sensor)" + "\n");            break;         case Sensor.TYPE_GYROSCOPE:            sb.append(s.getType() + " 陀螺儀感應器(Gyroscope sensor)" + "\n");            break;         case Sensor.TYPE_LIGHT:            sb.append(s.getType() + " 光線感應器(Light sensor)" + "\n");            break;         case Sensor.TYPE_MAGNETIC_FIELD:            sb.append(s.getType() + " 磁場感應器(Magnetic field sensor)" + "\n");            break;         case Sensor.TYPE_ORIENTATION:             sb.append(s.getType() + " 方向感應器(Orientation sensor)" + "\n");             break;         case Sensor.TYPE_PRESSURE:             sb.append(s.getType() + " 氣壓感應器(Pressure sensor)" + "\n");              break;         case Sensor.TYPE_PROXIMITY:              sb.append(s.getType() + " 距離感應器(Proximity sensor)" + "\n");              break;          case Sensor.TYPE_TEMPERATURE:              sb.append(s.getType() + " 溫度感應器(Temperature sensor)" + "\n");              break;          default:              sb.append(s.getType() + " 其他感應器" + "\n");              break;   }sb.append(" 裝置名稱:" + s.getName() + "\n 裝置版本:" + s.getVersion()       +"\n 裝置精度"+ s.getResolution()+"\n 裝置最大範圍"+s.getMaximumRange()        +"\n 裝置耗電量"+s.getPower()+"\n 供應商:" +s.getVendor() + "\n\n");}txt_show.setText(sb.toString());
使用簡例陀螺儀
public class OritionSensorActivity extends AppCompatActivity implements SensorEventListener 
@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_oritionsensor);    sManager = (SensorManager) getSystemService(SENSOR_SERVICE);    mSensorOrientation = sManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);    sManager.registerListener(this, mSensorOrientation, SensorManager.SENSOR_DELAY_UI);}@Overridepublic void onSensorChanged(SensorEvent event) {    tv_value1.setText("方位角:" + (float) (Math.round(event.values[0] * 100)) / 100);    tv_value2.setText("傾斜角:" + (float) (Math.round(event.values[1] * 100)) / 100);    tv_value3.setText("滾動角:" + (float) (Math.round(event.values[2] * 100)) / 100);}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {}@Overrideprotected void onDestroy() {    super.onDestroy();    if (sManager != null) {      sManager.unregisterListener(this);   }}
光線感應器
public class LightSensorActivity extends AppCompatActivity implements SensorEventListener
SensorManager sensorManager ;Sensor sensor ;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_lightsensor);        find();        sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);        sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);        sensorManager.registerListener(this,sensor,sensorManager.SENSOR_DELAY_FASTEST);    }    @Override    public void onSensorChanged(SensorEvent sensorEvent) {        tv_light.setText(sensorEvent.values[0]+"");        sb_light.setClickable(false);        sb_light.setProgress((int) sensorEvent.values[0],true);    }    @Override    public void onAccuracyChanged(Sensor sensor, int i) {    }    @Override    protected void onDestroy() {        super.onDestroy();        if (sensorManager != null) {            sensorManager.unregisterListener(this);        }    }

Android 感應器簡記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.