簡體   English   中英

在 AccessibilityService 中獲取 KEYCODE_HOME KeyEvent 需要什么 API 級別?

[英]What API level is needed to get KEYCODE_HOME KeyEvent in AccessibilityService?

按兩個測試設備的物理主頁按鈕導致僅在其中一個設備上獲得我的AccessibilityServiceKEYCODE_HOME KeyEvent 相同的制造商,不同的型號,不同的 API 級別。 獲取物理主頁按鈕的KeyEvent是否需要某個 API 級別?

@Override
protected boolean onKeyEvent(KeyEvent event) {
    if (event.getKeyCode() == KEYCODE_HOME)
        Log.d(TAG, "The event works on this device.");
    return super.onKeyEvent(event);
}

我在 Android Emulator 中創建並測試了 2 個具有不同 API 級別的虛擬設備。 只要使用虛擬設備的物理主頁按鈕, API 級別似乎無關緊要 因此,如果設備沒有在AccessibilityService獲得KEYCODE_HOME KeyEvent ,則罪魁禍首可能不是 API 級別。

問題提到不僅 API 級別不同,模型也不同。 物理主頁按鈕不會在某些設備上導致KeyEvent 例如,三星 Galaxy S8S8+ 、S9、S9+、 Note10、Note10+ 和 Fold設備的主頁按鈕被官方視為壓力傳感器,而不是按鈕。 要使用此壓力傳感器(主頁按鈕),請參閱此問題:

如何讀取壓力傳感器?

https://www.samsung.com/global/galaxy/galaxy-s9/specs/ 上三星 Galaxy S9 和 S9+ 規格的屏幕截圖。傳感器:虹膜、指紋、心率、壓力(!)、陀螺儀、接近度、加速度計、地磁、RGB 光、氣壓計、霍爾傳感器。按鈕:開/關、音量、Bixby。 (主頁鍵不在列表中。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM