Android 如何过滤来电(黑名单)-无反射

Android 如何过滤来电(黑名单)-无反射,android,blacklist,Android,Blacklist,我想知道是否有一种方法可以过滤(阻止)Android上的来电(考虑2.1及以上版本)。我找到了使用反射的解决方案,但它似乎不是非常干净和可靠的解决方案。有没有任何标准或谷歌推荐的方法可以做到这一点 更新:有人吗?使用以下广播接收器获取传入电话号码,并将其与创建的筛选器列表中的号码进行比较 @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras();

我想知道是否有一种方法可以过滤(阻止)Android上的来电(考虑2.1及以上版本)。我找到了使用反射的解决方案,但它似乎不是非常干净和可靠的解决方案。有没有任何标准或谷歌推荐的方法可以做到这一点


更新:有人吗?

使用以下广播接收器获取传入电话号码,并将其与创建的筛选器列表中的号码进行比较

@Override
public void onReceive(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    if (extras != null) {
        String state = extras.getString(TelephonyManager.EXTRA_STATE);
        Log.w("DEBUG", state);
        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            String phoneNumber = extras
                    .getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
            Toast.makeText(context, phoneNumber, 2000).show();
            Log.w("DEBUG", phoneNumber);
        }
    }
}

希望这会有帮助。您需要通过应用程序的用户界面在黑名单中创建一个数字列表。

1)还可以在应用程序标记的清单文件中使用以下内容。2) 并添加权限:“android.permission.READ\u PHONE\u STATE”谢谢,这是目前为止的标准方式。但现在我需要阻止这个呼叫,如果它是在黑名单上的,那就是当不需要的反射通常被踢进去的部分。考虑这个流程:1)应用程序确实有接口来添加你需要阻止的数字2)将这些数字存储在一个数组列表3中)一旦任何一个呼叫进来,我们就得到号码,对吗?4) 然后将该号码与我们先前存储的数组列表中的号码进行比较5)如果收到的号码在数组列表中,则断开呼叫,否则继续呼叫:)请参阅我知道的内容,并感谢您的帮助,但链接解决方案使用反射。