2011-09-13 23 views
0

我正在从显示一些文本的服务开始一个活动。从服务启动活动并且不希望输入任何密钥

现在,如果用户按下一个按键 - 说一个后退键,我希望后退按钮被任何其他正在运行的应用程序处理(不是由我的服务启动)。

这可能吗?我试过FLAG_NOT_FOCUSABLE,但是,后退键仍然没有被任何其他应用程序处理/忽略。 Android的,一段时间后继续给为“强制关闭”或“等待一个选项”

任何指针将会很有帮助

仅供参考,。‘白页’应用程序做这样的事情 - 它显示一个对话框窗口然而,不处理的返回键。

感谢。

回答

0

我不知道这是否正确与否,但我已经看到了一些应用程序相同的行为我自己。我想他们正在使用Toast消息来显示文本。我不确定服务是否可以显示Toast或不是 - 你必须尝试......如果不是,那么你也可以尝试让Activity显示吐司并立即退出。

+0

感谢Micahel的回应。 Toast的问题在于它只有短暂的时间(即使使用LONG)。如果有人想要吐司说30秒,这是不可能的。如果您重新呈现吐司,它会产生闪烁。 – Sanjay

0

只有当前正在运行的活动收到按钮按下的信号。所有你能做的就是拦截后退按钮按通过实施:

onBackPressed() 

在旧设备上,这将不完全工作,你需要做的是这样:

public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
    //Do something here 
    return true; 
    } 
return super.onKeyDown(keyCode, event); 
} 

至于传球按钮按下另一个活动,我不知道你可以做到这一点。你可以做的是传递一个可以指定后退按钮的意图。但是,这假定其他活动是为了处理这种意图而设置的。

+0

感谢斯莱顿的信息。传递意图是另一项活动的一个很好的解决方案,但是,在这种情况下,活动是传入电话处理程序应用程序(随电话一起提供),是否有任何方法将回车键传递给电话应用程序? – Sanjay

相关问题