在工程目录下创那一个路径为:com.oid.internal.telephony.ITelephony.java的接口文件
ITelephony.java内空
- package oid.internal.telephony;
- interface ITelephony {
- boolean endCall();
- void answerRingingCall();
- }
创建好后,系统会自动在R文件夹内映射出该文件
在到需要完成接听和挂断电话的类中添加getITelephony()方法,获得一个ITelephony对象
- private static ITelephony getITelephony(Context context) {
- TelephonyManager mTelephonyManager = (TelephonyManager) context
- .getSystemService(TELEPHONY_SERVICE);
- Class<TelephonyManager> c = TelephonyManager.class;
- Method getITelephonyMethod = null;
- ITelephony iTelephony = null;
- try {
- getITelephonyMethod = c.getDeclaredMethod("getITelephony",
- (Class[]) null);
- getITelephonyMethod.setAccessible(true);
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
- try {
- iTelephony = (ITelephony) getITelephonyMethod.invoke(
- mTelephonyManager, (Object[]) null);
- return iTelephony;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return iTelephony;
- }
最后呢,如果需要接听电话就getITelephony(this).answerRingingCall();
如果挂断电话就getITelephony(this).endCall();