我正在为我的小孩创建一个应用程序,因为她喜欢手机,但弄乱了我的桌面。我使用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