如何监控电话待机界面的左软键或者数字输入框

曹建峰-17年老猿 2008-01-22 03:36:32
在电话待机界面上,用户输入数字或者特殊命令(如 "*#06#")。
将会出现一个小的输入框,并且cba按钮的名字发生了变化,由用户定义的快捷方式变成了"选项","返回".
我想要知道什么时候这个输入框出现,什么时候消失。
或者是什么时候显示的是用户定义的快捷键什么时候显示的是其他内容。
...全文
296 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
再次感谢anel 和dyw 两位大侠,虽然问题没有找到答案,但跟你们学了不少知识。
  • 打赏
  • 举报
回复
感谢 dyw的关注 这个我试过了在二版上,那个phone和输入框是同一个uid。
在三版上我还没有试。
  • 打赏
  • 举报
回复
dyw 2008-02-18
  • 打赏
  • 举报
回复
anel 2008-02-15
我也要解决如何知道数字是否弹出的问题,有任何线索要及时沟通
  • 打赏
  • 举报
回复
感谢anel 和dyw 我在你们的回复中学到了很多。
非常抱歉我没有事先说清楚,我不但要在3版上做还要在二版上。
但是在第二版上无法通过idle.exe和phone.exe区分这两种状态
在二版手机上只有一个phone.app.

另外我虽然能够拿到EnableScreenChangeEvents事件但是无法判断输入框出现,什么时候消失。

在二版上这个功能应该可以实现,已经有很多程序这样做了,例如smartsetting和梦网的音乐频道.

  • 打赏
  • 举报
回复
hanxiao_0210 2008-01-31
mark
  • 打赏
  • 举报
回复
dyw 2008-01-23
可以订阅屏幕变更事件。在EnableScreenChangeEvents之后,程序就会收到该事件。
参考:
    RWindowGroup& wg = iEikonEnv->RootWin();
wg.EnableScreenChangeEvents(); // subscribe screen change events

收到事件(可以在HandleWsEventL中处理)后检查焦点应用的uid是否是目标uid(提前已知uid)。参考:
    const TUid KUidPhone = { 0x100058b3 }; // The UID of the Phone application
const TUid KTargetUid = KUidPhone; // Assume its Phone App Uid

RWsSession& ws = iEikonEnv->WsSession();
TInt wgid=ws.GetFocusWindowGroup();
CApaWindowGroupName* gn = CApaWindowGroupName::NewLC(ws, wgid);
TUid uid = gn->AppUid();

if(uid==KTargetUid)
{
// target found, and do something here.
}
CleanupStack::PopAndDestroy(); // gn

以上仅供参考。
  • 打赏
  • 举报
回复
jmulxg 2008-01-23
如何监控电话待机界面的左软键或者数字输入框

这个要有权限的吧,一般我们是实现不了的

如果自己监控 做软键或者数字输入,用容器类OfferKeyEventL()可实现吧
  • 打赏
  • 举报
回复
anel 2008-01-22
输入框出现时,phone.exe在前台;idle.exe在前台时,输入框消失
cba的名字和功能可自由定义
  • 打赏
  • 举报
回复
相关推荐
发帖
Symbian
加入

3118

社区成员

塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
申请成为版主
帖子事件
创建了帖子
2008-01-22 03:36
社区公告
暂无公告