b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

通过黑名单修改Android8.1的源代码,以阻止系统的短信功能和来电功能

电脑杂谈  发布时间:2020-03-22 18:00:57  来源:网络整理

cc短信拦截_cc短信拦截_短信怎么拦截验证短信

通过短信黑名单阻止系统短信和呼叫者功能前言修改Android8.1源代码的序言

我之前写过一篇有关Android 6.0的阻止系统短信功能和来电功能的文章cc短信拦截,有关详细信息,请参见此处

类似地,最近有新的需求. 您需要阻止8.1设备的来电功能和短信功能. 特殊产品是特殊的定制,所以让我们开始吧.

阻止短信功能

您还可以使用以前的6.0处理方法,并在SmsReceiverService.java的handleSmsReceived()中进行拦截和分发

但是这次考虑准备一些不同的东西后,我发现与以前的6.0、8.1不同,它具有阻止联系人的功能,该功能可以阻止指定的呼叫和短信,这是黑名单功能. . 因此,这一次,我们将使用黑名单进行拦截,并通过详细分析和打印后续兄弟的日志来找到修改位置.

源位置框架\ opt \电话\ src \ java \ com \ android \内部\电话\ BlockChecker.java

public static boolean isBlocked(Context context, String phoneNumber) {
    boolean isBlocked = false;
    long startTimeNano = System.nanoTime();
    //cczheng add [S]
    log("phoneNumber==="+phoneNumber);
    boolean isIntercept = Settings.Global.getInt(context.getContentResolver(), 
            Settings.Global.IS_INTERCEPT_TELE, 1) == 1;
    if (isIntercept) {
        log("Intercept tele don't delivery..... default is blocked");
        return true;
    }
    //cczheng add [E]
    try {
        if (BlockedNumberContract.SystemContract.shouldSystemBlockNumber(
                context, phoneNumber)) {
            Rlog.d(TAG, phoneNumber + " is blocked.");
            isBlocked = true;
        }
    } catch (Exception e) {
        Rlog.e(TAG, "Exception checking for blocked number: " + e);
    }
    int durationMillis = (int) ((System.nanoTime() - startTimeNano) / 1000000);
    if (durationMillis > 500 || VDBG) {
        Rlog.d(TAG, "Blocked number lookup took: " + durationMillis + " ms.");
    }
    return isBlocked;
}

cc短信拦截_cc短信拦截_短信怎么拦截验证短信

代码非常简单. 传递一个数字,然后转到BlockedNumberContract以查找它是否存在. 如果存在,它将被列入黑名单. 如果不存在,它将不会被拦截.

为了实现拦截功能,我在前面的判断中添加了Settings.Global.IS_INTERCEPT_TELE读取的值,该值是在Settings中自定义的,当然,您还可以使用SharedPreference进行保存,因此可以动态控制实现屏蔽短信和电话功能.

当然,如果需要黑名单,可以在此处添加xml或查询,然后进行相应的拦截以返回true操作.

阻止通话功能

与上述相同的方法

相关的简单分析

BlockChecker的isBlocked()方法. 电话和短信都将在此处. 如果需要将它们分开,则需要跟踪从何处调用它们.

通过全局搜索找到以下目录

cc短信拦截_短信怎么拦截验证短信_cc短信拦截

供应商\ Mediatek \专有\包\服务\ Telecomm \ src \ com \ android \服务器\电信\呼叫过滤

AsyncBlockCheckFilter.javaBlockCheckerAdapter.javaCallFilteringResult.javaCallFilterResultCallback.javaCallScreeningServiceFilter.javaDirectToVoicemailCallFilter.javaIncomingCallFilter.java

在AsyncBlockCheckFilter中调用BlockCheckerAdapter的isBlocked(),最后在BlockChecker中调用BlockCheckerAdapter,因此要单独阻止电话cc短信拦截,可以在AsyncBlockCheckFilter中操作

 @Override
protected Boolean doInBackground(String... params) {
    try {
        Log.continueSession(mBackgroundTaskSubsession, "ABCF.dIB");
        Log.addEvent(mIncomingCall, LogUtils.Events.BLOCK_CHECK_INITIATED);
        return mBlockCheckerAdapter.isBlocked(mContext, params[0]);
    } finally {
        Log.endSession();
    }
}

让我们再看一次短信

供应商\ mediatek \专有\框架\ opt \电话\ src \ java \ com \ mediatek \内部\电话\ cdma \ MtkCdmaInboundSmsHandler.java

供应商\ mediatek \专有\框架\ opt \ telephony \ src \ java \ com \ mediatek \内部\ telephony \ gsm \ MtkGsmInboundSmsHandler.java

直接调用BlockChecker的isBlocked()方法

短信怎么拦截验证短信_cc短信拦截_cc短信拦截

添加“切换到设置”以控制是否启用拦截

效果图

它实际上是添加一个SwitchPreference来控制Settings.Global.IS_INTERCEPT_TELE的值

在安全性和位置信息中添加阻止设置选项

源位置供应商/ mediatek /专有/软件包/应用程序/ MtkSettings / src / com / android / settings / SecuritySettings.java

在security_settings_misc.xml之后添加security_settings_blockcheck.xml的副本

cc短信拦截_短信怎么拦截验证短信_cc短信拦截

在SecuritySettings中

FindPreference(“ is_intercept”),侦听onPreferenceChange()事件,并将回调结果值保存到IS_INTERCEPT_TELE

@Override
public boolean onPreferenceChange(Preference preference, Object value) {
    boolean result = true;
    final String key = preference.getKey();
    final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils();
     if (KEY_IS_INTERCEPT.equals(key)) {
        Settings.Global.putInt(getContentResolver(), Settings.Global.IS_INTERCEPT_TELE,
                ((Boolean) value) ? 1 : 0);
    }
    return result;
}

好的,到目前为止,该功能已经完成. 如果您有兴趣,可以阅读以下参考文章.

参考文章

Android7.0 Phone应用程序源代码分析(二)电话通话过程分析

电话֮GsmCallTracker

Android 8.0呼叫流分析(1)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-148576-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...