gpt4 book ai didi

Android 从键盘读取

转载 作者:太空狗 更新时间:2023-10-29 16:06:52 27 4
gpt4 key购买 nike

我的登录屏幕根本没有文本字段。当用户使用 RFID 扫描器扫描他的 ID token 时,我会得到一个 8 个字符长的字符串。它与使用键盘的原理相同(只是更快)。我希望我的登录 Activity 在用户扫描他的 token 时而不是之前执行。有没有聪明的方法来实现这个?我不能有任何按钮或文本字段,所以我必须在不听 EditText 字段的情况下读取键盘输入。

因此,一个带有图像(锁)的空屏幕,它会监听 RFID 阅读器(或键盘)并在字符数为 8 时采取行动。

最佳答案

如果您在 Activity 中实现了 onKeyDown(),并且没有其他 UI 小部件可以处理按键事件,那么您应该从键盘上获得每次按键操作。下面的示例至少应该适用于 A-Z,并且旨在简单地将按键“打印”到 TextView

如果这还不够,您可能需要添加一种更复杂的方法来将键码映射到字符。 (例如,空格不起作用,数字可能也不起作用)

public class KeyActivity extends Activity {
// should work for a-z
private static final Pattern KEYCODE_PATTERN = Pattern.compile("KEYCODE_(\\w)");

private TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// there is just a TextView, nothing that handle keys
mTextView = (TextView) findViewById(R.id.textView1);
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
String key = KeyEvent.keyCodeToString(keyCode);
// key will be something like "KEYCODE_A" - extract the "A"

// use pattern to convert int keycode to some character
Matcher matcher = KEYCODE_PATTERN.matcher(key);
if (matcher.matches()) {
// append character to textview
mTextView.append(matcher.group(1));
}
// let the default implementation handle the event
return super.onKeyDown(keyCode, event);
}
}

关于Android 从键盘读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12038440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com