我正在为我的孩子创建一个应用程序,因为她喜欢手机,但把我的桌面搞砸了。我正在使用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;
}但当我按回键,然后按下主页按钮时.
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);发布于 2013-07-26 19:04:04
使用Java或NDK进行开发并不重要。“主”按钮的键事件不会发送到应用程序。这是在设计上,家庭按钮是一个通用的功能,在Android设备和应用程序不应该能够修改其行为。
https://stackoverflow.com/questions/17888252
复制相似问题