Tôi đã tải xuống mã nguồn AOSP cho Lollipop 5.0. Ở mức api 21, trong cài đặt quét năng lượng thấp bluetooth có ba tùy chọn để quét các thiết bị ble- SCAN_MODE_BALANCED, SCAN_MODE_LOW_LATENCY, SCAN_MODE_LOW_POWER
. Là dựa trên khoảng thời gian quét khác nhau và giá trị cửa sổ quét? Nếu vậy, tôi có thể tìm các giá trị được xác định cho các macro này trong thư mục mã nguồn ở đâu.Android AOSP - Định nghĩa khoảng thời gian quét và cửa sổ quét trong mã nguồn Android
Trả lời
tôi thấy bên dưới các giá trị trong http://androidxref.com/5.0.0_r2/xref/packages/apps/Bluetooth/src/com/android/bluetooth/gatt/ScanManager.java khi greping từ khóa "SCAN_MODE_BALANCED":
/**
* Scan params corresponding to regular scan setting
*/
private static final int SCAN_MODE_LOW_POWER_WINDOW_MS = 500;
private static final int SCAN_MODE_LOW_POWER_INTERVAL_MS = 5000;
private static final int SCAN_MODE_BALANCED_WINDOW_MS = 2000;
private static final int SCAN_MODE_BALANCED_INTERVAL_MS = 5000;
private static final int SCAN_MODE_LOW_LATENCY_WINDOW_MS = 5000;
private static final int SCAN_MODE_LOW_LATENCY_INTERVAL_MS = 5000;
/**
* Scan params corresponding to batch scan setting
*/
private static final int SCAN_MODE_BATCH_LOW_POWER_WINDOW_MS = 1500;
private static final int SCAN_MODE_BATCH_LOW_POWER_INTERVAL_MS = 150000;
private static final int SCAN_MODE_BATCH_BALANCED_WINDOW_MS = 1500;
private static final int SCAN_MODE_BATCH_BALANCED_INTERVAL_MS = 15000;
private static final int SCAN_MODE_BATCH_LOW_LATENCY_WINDOW_MS = 1500;
private static final int SCAN_MODE_BATCH_LOW_LATENCY_INTERVAL_MS = 5000;
Đồng thời thanh toán ra ScanManager.ScanNative.configureRegularScanParams(). Hai thông số scanWindow
và scanInterval
được đặt theo cài đặt quét (ScanSettings.SCAN_MODE_LOW_POWER
, ScanSettings.SCAN_MODE_BALANCED
, ScanSettings.SCAN_MODE_LOW_LATENCY
), được chuyển đổi thành đơn vị BLE và sau đó được chuyển đến gattSetScanParametersNative().
Hy vọng điều này sẽ hữu ích.
Tôi không chắc chắn nếu điều này là chính xác hoặc nếu bạn thậm chí có thể sử dụng nó để tìm ra giá trị mà bạn cần, nhưng tôi tìm thấy một số code from Google regarding scanning settings:
// Constants for Scan Cycle
// Low Power: 2.5 minute period with 1.5 seconds active (1% duty cycle)
/* @VisibleForTesting */ static final int LOW_POWER_IDLE_MILLIS = 148500;
/* @VisibleForTesting */ static final int LOW_POWER_ACTIVE_MILLIS = 1500;
// Balanced: 15 second period with 1.5 second active (10% duty cycle)
/* @VisibleForTesting */ static final int BALANCED_IDLE_MILLIS = 13500;
/* @VisibleForTesting */ static final int BALANCED_ACTIVE_MILLIS = 1500;
// Low Latency: 1.67 second period with 1.5 seconds active (90% duty cycle)
/* @VisibleForTesting */ static final int LOW_LATENCY_IDLE_MILLIS = 167;
/* @VisibleForTesting */ static final int LOW_LATENCY_ACTIVE_MILLIS = 1500;
Thankyou Tim. Nhưng tôi không thể tìm thấy loại định nghĩa như vậy trong mã nguồn google android .Sau khi tìm kiếm ở trình điều khiển cấp i tìm thấy một cái gì đó ở đây như thế này http://androidxref.com/5.0.0_r2/xref/external/bluetooth/bluedroid/stack/btm/btm_ble_int .h #define BTM_BLE_GAP_DISC_SCAN_INT 18/* Khoảng thời gian (scan_int) = 11,25 ms = 0x0010 * 0,625 ms */ #define BTM_BLE_GAP_DISC_SCAN_WIN 18/* scan_window = 11,25 ms = 0x0010 * 0,625 ms */ – HRG
là ở trên tương ứng với cửa sổ quét và khoảng thời gian quét. Nhưng tôi tự hỏi cách chúng xác định các giá trị cho SCAN_MODE_BALANCED, SCAN_MODE_LOW_LATENCY, SCAN_MODE_LOW_POWER! – HRG
- 1. Quét mã vạch cửa sổ điện thoại 8
- 2. Android - Quét mã vạch, Tùy chọn? Zxing?
- 3. Quét Android cho mạng Wifi
- 4. máy quét mã vạch zxing trong div cố định trong ứng dụng android phonegap
- 5. Làm cách nào để tăng thời gian quét cho các thiết bị BLE trong Android?
- 6. Có cách nào để kiểm soát rõ ràng khoảng quét WiFi trong Android không?
- 7. Làm thế nào để tạo máy quét mã vạch (Android)?
- 8. Cách quét định kỳ các thiết bị bluetooth trên android
- 9. Bối cảnh dính quét đồng thời quét GC giải phóng
- 10. Tích hợp máy quét mã QR ZXing mà không cần cài đặt mã vạch Máy quét
- 11. Định dạng cửa sổ Android mặc định
- 12. Khóa NFC Android lên/Dừng quét sau khi quét lặp lại
- 13. Máy quét mã vạch và PHP
- 14. Quét bảng và quét chỉ mục trong SQL
- 15. Làm cách nào để nhập mã nguồn Android (AOSP) vào Android studio?
- 16. Thời gian Android và Java Thời gian
- 17. Tạo hoạt ảnh quét bằng cách sử dụng android studio
- 18. Cửa sổ định nghĩa mã không hoạt động trong VS2015
- 19. cách chạy trình quét phương tiện trong android
- 20. Trường hợp ngoại lệ thời gian chạy trong android studio start Thời gian lập chỉ mục
- 21. Quét nền iBeacon
- 22. thư viện quét mã vạch android + ZXing - kích thước và hướng tùy chỉnh
- 23. Android: Tạo quyền hệ thống mới thông qua mã nguồn AOSP.
- 24. Thư viện máy quét mã vạch cho android không phải là zxing
- 25. Kibana và khoảng thời gian cố định
- 26. Máy quét tài liệu Android sử dụng opencv
- 27. Việc sử dụng máy quét mã vạch làm bàn phím có nghĩa là bạn không thể xác nhận việc quét?
- 28. Nghiên cứu máy quét mã vạch USB
- 29. Cách dừng quét liên tục bằng zxing-android-embedded trong Android
- 30. API cho máy quét mã vạch PDF417
Thankyou @yanoken !! – HRG
Điều đó có nghĩa là gì nếu tôi nói tôi đặt ScanSettings thành SCAN_MODE_LOW_LATENCY? Nó nói nó quét mỗi 5 giây trong 5 giây và sau đó bắt đầu quét lại - Tôi không nghĩ rằng đây là trường hợp như tôi có một ứng dụng mà các bản cập nhật nhanh hơn mỗi 5 giây. Bạn có thể giải thích kỹ lưỡng về việc diễn giải các giá trị này không? – BigPenguin