0
我试图控制来自我的应用程序的呼叫。阻止/取消阻止呼叫。传入/传出之间的差异
多亏了这个帖子Blocking Incoming call - Call Control in Android - Question Stackoverflow和this。我能够取消入局/出局呼叫
我注册ITelephony类(com.android.internal.telephony.ITelephony)
定义在清单的接收器:
<receiver android:name=".PhoneCallReceiver" >
<intent-filter android:priority="100" >
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
而在PhoneCallReceiver我重写OnRecive方法,使用反射实例ITelephony。
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "Receving....");
TelephonyManager telephony = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
try {
Class c = Class.forName(telephony.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(telephony);
//telephonyService.silenceRinger();
if (!(InfoAct.ismodguiaon(context))){
telephonyService.endCall();
} else {
}
} catch (Exception e) {
e.printStackTrace();
}
}
这有效,但我想要区分传入和传出的呼叫,我不知道如何。任何人都可以帮忙
正是我一直在寻找。谢谢! – Zartch 2012-07-18 12:06:44