今天在Launcher里添加数字按键进拨号发现Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + keycode)) 调起拨号的时候输入*#*#暗码是无效的,必须先删除一次输入,再重新输入才有效, 而正常图标点击进去是不会有这个问题的。
问题应该是和intent有关系,一顿查看代码发现暗码的处理是在 SpecialCharSequenceMgr.java的 handleChars中,handleSecretCode中发送广播处理的,log发现intent调起的dial并没有跑进去,往前追查 原来是在DialpadFraggement.java中拨号public void onTextChanged(CharSequence input, int start, int before, int changeCount) 文本输入的处理函数中,有判断是否是intent调起的Dial的, intent调起的是不会跑 handleChars 的,
if (!mDigitsFilledByIntent &&SpecialCharSequenceMgr.handleChars(getActivity(), input.toString(), mDigits))
既然找到地方的, mDigitsFilledByIntent 判断的地方屏蔽掉,果然就可以了。
工作这么多年,是该写点什么了,记录下,也该留下点什么,逝去的青春,原创不易,多多支持,也希望自己能坚持写下去
最后
以上就是霸气眼睛最近收集整理的关于intent调起拨号,输入*#*#暗码调不起对应应用问题的全部内容,更多相关intent调起拨号内容请搜索靠谱客的其他文章。
发表评论 取消回复