我现在用Java反射机制调用到了打电话的功能,能够拨打电话和挂断电话,可是拨打电话时会弹出系统自带的通话或者正在拨号的界面. 怎么做到打电话时不显示系统自带的界面?
------解决方案--------------------
那你可得深入底层去找Android源码咯,不是SDK, 一般你发送Intent Action.dial,或者类似拨打电话的Action, 某个拨号的DialActivity会捕获到这个Action启动起来,就是这个Android系统自带的打电话界面咯, 如果你要改的话,就的自己再模仿系统自带的拨号界面那个Acitivity,实现自己的界面,并且带上对应的Action,而且还要有对应的功能,呵呵,简单来说,就是你 给原来的Activity换件衣服穿就行,不改变原来的功能,不知道这样你懂了没,来修改定制你的界面咯。
------解决方案--------------------
你在XML文件里,设置通话界面了吗?我觉得,你要是设置了的话,把它设为FALSE试试,或者在你写的代码里,强制把通话界面给Close()掉……
------解决方案--------------------
市面上的拨号软件似乎都没有自己的通话界面,这个在应用层似乎做不到
------解决方案--------------------
------解决方案--------------------
就像2楼说的,你调用拨号操作,那个activity的incallscreen必然会起来,你要修改Phone的代码才可以隐藏
------解决方案--------------------
你要做坏事??
------解决方案--------------------
不要用 Intent 去查查打电话的底层代码 把打电话的接口提取出来试试 不过可能需要花一些时间
------解决方案--------------------
只能深入到源码进行修改了
------解决方案--------------------
应用层似乎木有办法
------解决方案--------------------
没有在源代码级别估计很难搞定,因为Dial的拨号是在PhoneApp中通过RIL与模块通信的,没有其他Intent有这个权限去做,另外就算你使用shell将AT命令发送到模块端,通话过程中模块会返回CLCC AT命令给RIL,一样会触发通话界面。
------解决方案--------------------
这个没有办法,不是权限的问题,而是整个Phone流程问题。
------解决方案--------------------
如果在源代码级,你可以通过修改package/apps/PhoneApp下面的代码,将OutgoingCallScreen的代码重写,当然,这个修改也是巨大的。
------解决方案--------------------
楼主 如果你做的之是一个普通应用的话,系统的打电话界面肯定会显示的,你想显示自己的界面的话,可以自己画一个view 覆盖在系统界面上面,
如果你想不显示系统的通话界面,那就只有去修改android的系统框架,普通的什么手机主题啊 都不能实现这个功能
------解决方案--------------------
必须从framework层修改整个Phone流程
------解决方案--------------------
感觉要修改framework
------解决方案--------------------
------解决方案--------------------
当初有个软件叫X卧*底 那个就是隐藏的 只是不知道有没有安卓版本的 当时塞班上的
------解决方案--------------------
建议还是在源码基础上修改,这样只要把callcard.java 和相关的布局修改下就可以换成自己的通话界面了。
------解决方案--------------------
------解决方案--------------------
楼主。这个不行,QQ通讯录也会显示系统的拨号界面的。只能在界面上面加点东西。隐藏不可能哦,只能自己修改系统做ROM了、
------解决方案--------------------
其实这个不必隐藏。。你可以参照市面上一些应用程序,比如程序锁,比如来电显示,其实就是检测到在启动某个界面的时候,再上面添加一个view。。。toast的原理就是这样,你一直toast,然后按home,发现在home界面还是会有吐司。。。具体实现可参照toast源码300~400行之间,我记得好像有个叫TN的内部类