100分 Android怎么调用打电话而不显示系统的通话界面?我现在用Java反射机制调用到了打电话的功能,能够拨打
100分 Android怎么调用打电话而不显示系统的通话界面?
我现在用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的内部类
[解决办法]
我记得最多就是用你自己的界面盖在系统界面上面。实际上来电话的时候系统界面还是会闪一下。怎么不让系统界面出来。
[解决办法]
[解决办法]这个很简单啊,如果你可以调用ril.java里面的函数,直接调用dial函数,就是拨打电话
ril.java是Android的Telephony Framework与Ril-daemon 沟通的桥梁,真正各种电话有关的功能是封装在libril-XXXX.so里面
函数调用的结果都是用asyncresult返回,自己写个HandleMessage来收结果就可以了
[解决办法]同理,发送DTMF,直接调用ril.java里面的sendDtmf就可以了
这些我都实现过
[解决办法]还有就是,不用反射也能实现你说的功能,让你的程序在PhoneApp里面运行就可以。
调用ril.java里的函数很简单
mPhone = PhoneFactory.getDefaultPhone();
然后直接
mPhone.sendDtmf(ch, this.obtainMessage(DTMF_SEND_REQ));
最后在handleMessage里,
case DTMF_SEND_REQ:
来检查结果就可以了
[解决办法]