阻止/取消阻止呼叫。传入/传出之间的差异

时间:2012-07-18 10:42:33

标签: android callblocking

我正试图控制来自我的应用程序的电话。

感谢此帖Blocking Incoming call - Call Control in Android - Question Stackoverflowthis。我可以取消来电/去电

我注册了ITelephony类(com.android.internal.telephony.ITelephony),

在Manifest中定义了一个接收器:

    <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();
    }

}

这有效,但我想在传入和传出呼叫之间做出区别,我不知道如何。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在清单中,Receiver标记操作 拨出电话,

参考this