Galaxy S4 / S5 / S6 Active和Galaxy XCover型号都有这个额外的硬件按钮。在设置中,用户可以选择按下按钮时应打开的应用程序。
我正在开发专门针对Galaxy XCover 3的应用。当用户第一次打开应用时,我想询问用户是否要让硬件按钮打开我的应用。
我曾尝试在“相机按钮”事件中注册广播接收器,但这不起作用。
有谁知道我怎么能达到这个结果?
答案 0 :(得分:5)
我遇到了同样的问题并找到了解决方案。
使用以下代码查找密钥代码。
var mysql = require('mysql');
var sql1 = "SELECT table_schema as db_name from information_schema.tables WHERE table_name = 'FOO' ";
var sql2 = "SELECT COUNT(*) as solution FROM {0}.FOO";
var connection = mysql.createConnection({
host : '$$$$$$$',
user : '$$$$$$$',
password : '$$$$$$$',
});
connection.connect(function(err){
console.log('connected as id ' + connection.threadId);
});
connection.query(sql1, function(err, result) {
if (err) throw err;
for (var i = 0, len = result.length; i < len; i++) {
var db_name = result[i].db_name;
console.log(db_name);
connection.query(sql2.replace("{0}",db_name), function(err, result) {
if (err) throw err;
console.log(db_name+','+result[0].solution); //Here db_name is showed only the last one.
});
};
connection.end();
});
然后使用keycode创建一个最终的int。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
System.out.println("keycode -->" +keyCode);
System.out.println("Key event -->" + event );
return false;
}
最后写下你的onKeyDown事件。
final int ACTIVE_BUTTON = 1015;
答案 1 :(得分:0)
来自三星:
硬件密钥重新映射 请参阅本节,以使用Samsung Knox SDK集成硬件密钥重新映射配置。
PTT密钥重新映射注意事项 如果PTT应用程序供应商决定使用Samsung定义的意图,则IT管理员可以保留该意图以预先填充,也可以输入其PTT应用程序供应商提供的意图。
列出PTT供应商应用程序的通用意图 供应商还可以将以下意图用于PTT键的按下和释放操作:
对于按键-> com.samsung.android.knox.intent.action.PTT_PRESS 对于密钥发布-> com.samsung.android.knox.intent.action.PTT_RELEASE 还可以考虑以下可选时间戳记:
Extra-> com.samsung.android.knox.intent.extra.EVENT_TIMESTAMP(类型为long,将保留事件的时代时间戳记) 安全的PTT意图 三星Knox团队建议在清单中静态注册一个意图,以便KSP可以在停止状态下唤醒应用程序。请考虑以下内容:
<接收器
android:name =“。PTTKeyReceiver”
android:permission =“ com.samsung.android.knox.permission.KNOX_CUSTOM_SETTING”
android:exported =“ true”>
可选的安全性:为了确保PTT供应商的应用程序仅侦听来自KSP的意图动作,应用程序可以在接收方中添加上述权限,该权限受平台签名保护。
参考:
https://docs.samsungknox.com/admin/knox-service-plugin/Hardware_key_re-mapping.htm