Tôi đang làm việc trên các hành động cảm biến trong iphone và tôi đã tự hỏi nếu có ai biết làm thế nào để thực hiện các hành động bắt đầu và dừng cảm biến trong Android. Tôi đã tìm kiếm diễn đàn này nhưng không thể tìm thấy điều gì đó dứt khoát. Có ai hae và manh mối?thực hiện bắt đầu và dừng cảm biến android
Trả lời
Sử dụng cảm biến trên một hoạt động rất dễ dàng. Về cơ bản bạn cần:
1º Tuyên bố các cảm biến bạn cần.
// Sensor static
static private SensorManager mSensorManager;
static private List<Sensor> deviceSensors;
static private Sensor mAccelerometer;
static private Sensor mGravity;
static private Sensor mGyroscope;
static private Sensor mLinearAcceleration;
static private Sensor mRotationVector;
static private Sensor mOrientation;
static private Sensor mMagneticField;
static private Sensor mProximity;
static private Sensor mPressure;
static private Sensor mLight;
2º Bạn phải initializate tất cả onCreate, một cái gì đó như thế này:
// Add sensor manager STATIC (only 1 time)
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
// Load default Sensors
loadDefaultSensors();
// Set Sensor Listener
setAllSensorListener();
3º loadDefaultSensors nó một cái gì đó như thế này:
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mGravity = mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY);
mGyroscope = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
mLinearAcceleration = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
mRotationVector = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
mMagneticField = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mPressure = mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE);
mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
Và 4, thiết lập các thính giả:
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mGravity, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mGyroscope, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mLinearAcceleration, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mRotationVector, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mOrientation, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mMagneticField, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mPressure, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(this, mLight, SensorManager.SENSOR_DELAY_NORMAL);
5º I f bạn cần lưu CPU, vv, bạn có thể sử dụng một unlistener onPause và đăng ký lại onResume
mSensorManager.unregisterListener(this);
Tôi hy vọng nó giúp khởi động ..... Tất cả các bạn cần phải biết, HERE
Hey Manuel, không điều này thực sự làm việc theo cùng một cách nó sẽ trong iphone? Xin lỗi, tôi không quen với việc thực hiện đó. Cảm ơn. – user788511
Có ai vui lòng cung cấp một ví dụ làm việc mà tôi có thể tham khảo không? Cảm ơn. – user788511
- 1. Cảm biến nhiệt hạch được thực hiện trên Android?
- 2. Bắt đầu và dừng firefox từ C#
- 3. Android: Cảm biến
- 4. Cảm biến hướng Android
- 5. 'Bắt đầu/dừng adb shell' làm gì?
- 6. Cách sử dụng CPU cảm biến Android
- 7. Lỗi phổ biến đa luồng phổ biến bắt đầu thực hiện trên iPhone
- 8. Spring ScheduledTask - hỗ trợ bắt đầu/dừng?
- 9. Bắt đầu một chuỗi đã dừng?
- 10. Bắt đầu và dừng Âm thanh trong Javascript
- 11. Cách bắt đầu chủ đề đã dừng
- 12. sử dụng ScheduledExecutorService để bắt đầu và dừng hẹn giờ
- 13. Cách phát hiện khi thay đổi kích thước biểu mẫu bắt đầu và dừng?
- 14. Truy cập cảm biến Android qua NDK
- 15. mysql trong xampp bắt đầu và dừng sau năm giây
- 16. Hiển thị Danh sách cảm biến Android
- 17. hướng màn hình Android để cảm biến
- 18. Dừng NERDTree mở khi vim bắt đầu
- 19. node.js: cách dừng yêu cầu http đã bắt đầu
- 20. Bắt đầu/dừng một ứng dụng web từ chính nó?
- 21. Android: Dừng/Bắt đầu dịch vụ tùy thuộc vào trạng thái WiFi?
- 22. Bắt đầu với Android
- 23. "bắt đầu trước mục tiêu đầu tiên. Dừng lại". lỗi
- 24. Vuforia - Bắt đầu trong Android
- 25. Lưu dữ liệu cảm biến vào tập tin trong android
- 26. Làm thế nào để bắt đầu/dừng Runnable/Handler?
- 27. Cách tốt nhất để bắt đầu và dừng SQL Server từ dòng lệnh là gì?
- 28. thực hiện bộ hẹn giờ ngay sau khi bắt đầu?
- 29. Thường xuyên theo dõi cảm biến trong Android
- 30. Thực hiện nhiều lần bắt đầu html5-video trên iOS5
bạn thưa bạn là một người tiết kiệm cuộc sống :) cảm ơn nhiều !! – user788511
Nếu tôi có cơ hội cho '100' +1, tôi sẽ làm điều đó cho bạn, Trong toàn bộ SO này, không ai từng nói sử dụng' unregisterListener' – VenomVendor