基本信息
源码名称:android加速度传感器源码
源码大小:0.13M
文件格式:.zip
开发语言:Java
更新时间:2019-12-27
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


package com.example.admin.myapplication;

import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements SensorEventListener{
    private Button start,stop;
    private TextView show;
    private SensorManager sensorManager;
    private Sensor s_acce;
    private  static boolean isStart=false;//用于控制传感器注册的布尔值

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        start=findViewById(R.id.start);
        stop=findViewById(R.id.stop);
        show=findViewById(R.id.show);
        sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
        s_acce=sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

        start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                isStart=true;//开启
                onResume();
            }
        });

        stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                isStart=false;//关闭
                onPause();
                show.setText("等待指令");
            }
        });
    }


    @Override
    protected void onResume() {
        super.onResume();
        if(isStart) {
            sensorManager.registerListener(this, s_acce, SensorManager.SENSOR_DELAY_NORMAL);//注册
        }
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        float x=event.values[0];
        float y=event.values[1];
        float z=event.values[2];
        if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
            show.setText("加速度:\n" "x轴:" x "\ny轴:" y "\nz轴:" z);
        }
    }

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

    }

    @Override
    protected void onPause() {
        super.onPause();
        sensorManager.unregisterListener(this);//取消注册
    }
}