java步进计数传感器不能在实际设备上工作

92vpleto  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(472)

我有步进计数传感器的代码,但我在我的设备上运行此代码,它不工作

  1. override fun init_events() {
  1. sensoreManager=getSystemService(Context.SENSOR_SERVICE) as SensorManager
  2. if(sensoreManager!!.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)!=null)
  3. {
  4. sensor=sensoreManager!!.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
  5. running=true
  6. showToastMessage("yes")
  7. }else{
  8. showToastMessage("no")
  9. running=false
  10. }
  1. }
  1. override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
  2. Log.i("TEST_TEST","ssssssssssss")
  3. }
  1. @SuppressLint("SetTextI18n")
  2. override fun onSensorChanged(event: SensorEvent?) {
  3. Log.i("TEST_TEST","ssssssssssss")
  4. if(event!!.sensor==sensor)
  5. showToastMessage("movment")
  6. }
  7. override fun onResume() {
  8. Log.i("TEST_TEST","f RESume")
  9. super.onResume()
  10. if(sensoreManager!!.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)!=null){
  11. sensoreManager!!.registerListener(this,sensor,SensorManager.SENSOR_DELAY_FASTEST)
  12. Log.i("TEST_TEST","not null")}
  13. else{
  14. Log.i("TEST_TEST","null")
  15. }
  16. }
  17. override fun onPause() {
  18. Log.i("TEST_TEST","f onPause")
  19. super.onPause()
  20. if(sensoreManager!!.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)!=null)
  21. sensoreManager!!.unregisterListener(this,sensor)
  22. }

这个代码有什么问题我的小米Note9Pro

qzwqbdag

qzwqbdag1#

在这段代码中,你必须接受android10的权限

  1. if(ContextCompat.checkSelfPermission(this,
  2. Manifest.permission.ACTIVITY_RECOGNITION) == PackageManager.PERMISSION_DENIED){
  3. //ask for permission
  4. requestPermissions(new String[]{Manifest.permission.ACTIVITY_RECOGNITION}, PHYISCAL_ACTIVITY);
  5. }
  6. ```

相关问题