小编SHA*_*I86的帖子

阻止来电

我试图阻止来自特定号码的来电,我设法检测到来电及其号码。但是,我很难阻止呼叫。我浏览了我在这个网站和其他网站上找到的所有代码,我开始认为,由于新版本的android或每个设备的核心差异(我拥有LG4),这些代码可能无法工作。

再想一想,谁能解释一下在这个包中创建 ITelephony 的重要性:

package com.android.internal.telephony;
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

package com.darkmoonapps.telephony;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.widget.Toast;

import com.android.internal.telephony.ITelephony;

import java.lang.reflect.Method;

/**
 * Created by Shai on 19/12/2017.
 */

public class incomingCalls extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        ITelephony telephonyService;
        try {
            String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
            String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);

            if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING)){

                    TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
                    try {
                        Method m = tm.getClass().getDeclaredMethod("getITelephony");

                        m.setAccessible(true);
                        telephonyService = (ITelephony) m.invoke(tm);

                        if ((number != null)) {
                            telephonyService.endCall(); …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
3358
查看次数

标签 统计

android ×1