android 来电自动接听和自动挂断
来源:互联网 发布:淘宝电子发票在哪里 编辑:程序博客网 时间:2024/06/10 06:16
注意:android2.3版本不支持下面的自动接听方法。(会抛异常:java.lang.SecurityException: Neither user xxxxx nor current process has android.permission.MODIFY_PHONE_STATE.)
1.创建系统包(com.android.internal.telephony)和aidl文件(ITelephony.aidl)
2.
package com.android.internal.telephony;interface ITelephony{boolean endCall();void answerRingingCall();}
3.
package com.clj.certname.autocalllisten;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import android.app.Activity;import android.os.Bundle;import android.os.RemoteException;import android.telephony.PhoneStateListener;import android.telephony.TelephonyManager;import com.android.internal.telephony.ITelephony;/** * 2015年7月18日10:14:43 * 自动接听和挂断电话 * @author lenovo * */public class AutoCallListen extends Activity{ private ITelephony iTelephony; private TelephonyManager manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initData(); manager.listen(new PhoneStateListener(){ @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); switch (state) { case 1: //电话接入 try { System.out.println("有电话接入 准备挂断电话"); iTelephony.endCall();//挂断电话 iTelephony.answerRingingCall(); //接听电话 System.out.println("成功挂断电话"); } catch (RemoteException e) { e.printStackTrace(); } break; default: break; } } }, PhoneStateListener.LISTEN_CALL_STATE); } private void initData() { manager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); Class <TelephonyManager> c = TelephonyManager.class; try { Method getITelephonyMethod = null; getITelephonyMethod = c.getDeclaredMethod("getITelephony", (Class[])null); getITelephonyMethod.setAccessible(true); iTelephony = (ITelephony) getITelephonyMethod.invoke(manager, (Object[])null); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } }}
0 0
- android 来电自动接听和自动挂断
- android 来电自动接听和自动挂断
- android 来电自动接听和自动挂断
- android 来电自动接听和自动挂断(2.3以上)
- 自动接听或者挂断来电
- Android 自动接听来电
- Android 自动接听来电
- Android 自动接听来电
- Android 来电自动接听
- android自动接听和挂断电话
- Android 电话自动接听和挂断详解
- android 自动挂断来电
- android电话自动接听/挂断
- 自动接听和拒绝来电
- Android 实现自动接听和挂断电话功能
- Android自动接听和挂断电话实现原理
- Android自动接听和挂断电话实现原理
- android低版本自动接听/挂断实现
- javadoc 使用中解决不能编码问题
- MySql优化--索引优化
- 鼠标滚轮事件----jquery-mousewheel
- 工程实训-银行储蓄系统
- 类的扩展(一):继承
- android 来电自动接听和自动挂断
- JavaScript的特殊函数
- A==B?(java大数做高精度)
- 网站开发基本常识
- Java Web Service
- 第K回文数
- web.xml中servlet-mapping的url-pattern的配置
- 银行储蓄系统
- 银行储蓄系统