如何获取Android手机三个硬按键的状态信息

xwylpsy 2013-06-09 10:44:33
怎么获取手机上三个硬按键的状态信息?用代码实现
...全文
348 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwylpsy 2013-06-24
  • 打赏
  • 举报
回复
有谁知道如何操作的??
xwylpsy 2013-06-15
  • 打赏
  • 举报
回复
在root过的手机上运行程序也无法操作成功!
fire_fire_fire 2013-06-15
  • 打赏
  • 举报
回复
yuleyouxi 2013-06-14
  • 打赏
  • 举报
回复
引用 4 楼 xwylpsy 的回复:
[quote=引用 3 楼 yuleyouxi 的回复:] 这样么?
try
{
	String keyCommand = "input keyevent " + KeyEvent.KEYCODE_MENU;
	Runtime runtime = Runtime.getRuntime();
	Process proc = runtime.exec(keyCommand);
}
catch (IOException e)
{
	// TODO Auto-generated catch block
	e.printStackTrace();
}
此方法不行!各位大虾有没有其他方法呀[/quote] 忘了说下,那个KeyEvent.KEYCODE_MENU需要用你对应的按键去替换的
passself 2013-06-14
  • 打赏
  • 举报
回复
需要权限,楼主加上系统权限
xwylpsy 2013-06-14
  • 打赏
  • 举报
回复
引用 5 楼 yuleyouxi 的回复:
[quote=引用 4 楼 xwylpsy 的回复:] [quote=引用 3 楼 yuleyouxi 的回复:] 这样么?
try
{
	String keyCommand = "input keyevent " + KeyEvent.KEYCODE_MENU;
	Runtime runtime = Runtime.getRuntime();
	Process proc = runtime.exec(keyCommand);
}
catch (IOException e)
{
	// TODO Auto-generated catch block
	e.printStackTrace();
}
此方法不行!各位大虾有没有其他方法呀[/quote] 忘了说下,那个KeyEvent.KEYCODE_MENU需要用你对应的按键去替换的[/quote] 返回硬按鍵能实现功能,但为什么主菜单和设置硬按鍵不成功?
xwylpsy 2013-06-11
  • 打赏
  • 举报
回复
引用 3 楼 yuleyouxi 的回复:
这样么?
try
{
	String keyCommand = "input keyevent " + KeyEvent.KEYCODE_MENU;
	Runtime runtime = Runtime.getRuntime();
	Process proc = runtime.exec(keyCommand);
}
catch (IOException e)
{
	// TODO Auto-generated catch block
	e.printStackTrace();
}
此方法不行!各位大虾有没有其他方法呀
xwylpsy 2013-06-09
  • 打赏
  • 举报
回复
若想模拟三个硬按键往手机系统发送,使之能实现手机上硬按键功能。
小轩窗1 2013-06-09
  • 打赏
  • 举报
回复
我最近也碰到了这个问题; 处于系统安全性,android阻止了onkey里面home和power键的截获 只能捕获到back键 因此home和power只能通过其它办法截获了, 1.@Override 2. public boolean onKeyDown(int keyCode, KeyEvent event) { 3. if (keyCode == KeyEvent.KEYCODE_HOME) { 4. return true; 5. } else { 6. return super.onKeyDown(keyCode, event); 7. } 8. } 9. 10.@Override 11. public void onAttachedToWindow() { 12. this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 13. super.onAttachedToWindow(); 14. } 这个办法虽然能捕获到home按键,但是按home时,不会回到android主屏幕 最好的办法还是通过广播去监听了, 去网上查查home截获资料大堆 power的捕获办法是广播监听SCREEN_ON和SCREEN_OFF
yuleyouxi 2013-06-09
  • 打赏
  • 举报
回复
这样么?
try
{
	String keyCommand = "input keyevent " + KeyEvent.KEYCODE_MENU;
	Runtime runtime = Runtime.getRuntime();
	Process proc = runtime.exec(keyCommand);
}
catch (IOException e)
{
	// TODO Auto-generated catch block
	e.printStackTrace();
}

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧