我正在爲我的小孩創建一個應用程序,因爲她喜歡手機,但弄亂了我的桌面。我使用NDK做我的應用程序,我有以下....防止主頁按鈕按Android NDK
static int32_t handle_input(struct android_app* app, AInputEvent* event) {
if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_KEY)
{
int key_val = AKeyEvent_getKeyCode(event);
switch(key_val){
case AKEYCODE_BACK:
LOGI("Back Button hit");
break;
case AKEYCODE_HOME:
LOGI("HOME HIT");
break;
}
LOGI("Input Recieved %d", key_val);
}
return 1;
}
但是,當我點擊後退按鈕,然後按home鍵,我看到了
I/native-activity(24450): Back Button hit
I/native-activity(24450): Input Recieved 4
I/native-activity(24450): Back Button hit
I/native-activity(24450): Input Recieved 4
I/ActivityManager( 278): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.android.launcher/com.android.launcher2.Launcher} from pid 278
是否有許可或我可以給它的東西,讓我趕上主頁按鈕按?好像應該有按照本測試類...
TEST_F(KeyboardInputMapperTest, Process_SimpleKeyPress) {
const int32_t USAGE_A = 0x070004;
const int32_t USAGE_UNKNOWN = 0x07ffff;
mFakeEventHub->addKey(DEVICE_ID, KEY_HOME, 0, AKEYCODE_HOME, POLICY_FLAG_WAKE);
你生根了嗎?有了root權限,我可以爲你寫點東西。 – NightSkyCode
我試圖在沒有root的情況下做到這一點,但是,我的模擬器已經紮根,所以我可以將它POC在那裏。它會涉及編輯InputDispatcher.cpp? – Jackie
你說得對。然而,沒有根,現在有辦法做到這一點..你將不得不想到我認爲聰明的東西。 – NightSkyCode