我有一个在后台运行的BlackBerry应用程序需要知道系统启动“未接来电”系统对话框,并以编程方式关闭它而无需用户干预。我怎么能这样做?
我几乎可以知道对话框何时出现,即稍后我以编程方式结束调用...但是如何获得对话框的引用并关闭它?
答案 0 :(得分:2)
设备关闭按钮的按键注入如下所示:
KeyEvent inject = new KeyEvent(KeyEvent.KEY_DOWN, Characters.ESCAPE, 0);
inject.post();
不要忘记设置设备版本的权限: 选项=>高级选项=>应用程序=> [您的申请] =>编辑默认权限=> Interactions =>键击注入
答案 1 :(得分:1)
(自己没试过)你的应用程序可以定期轮询系统中的前台应用程序。一旦它是手机应用程序,你可以检查这个应用程序的最顶层屏幕是什么。如果是错过的呼叫屏幕,由屏幕的类,一些特殊字段,字段文本等等神奇地标识,则将此屏幕从显示堆栈中弹出。
答案 2 :(得分:1)
当来电被添加到电话日志时,使用PhoneLogListener
来解决问题。
从here
获取有效屏幕