来电一声响的拦截:
就是去判断电话铃响跟电话挂断的时间,如果这个两个时间小于5秒或者几秒就认为是一个来电一声响的电话,就可以从呼叫记录中删除这个记录,还要在notification中显示信息:可以创建下面的代码
private void showNotification(String incomingNumber) {
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.notification, "发现一个响一声电话", System.currentTimeMillis());
notification.flags = Notification.FLAG_AUTO_CANCEL;
//notification.contentIntent 点击notification的时候 激活哪个界面
Intent intent = new Intent(this,CallSmsSafeActivity.class);//要激活那个组件
intent.putExtra("number", incomingNumber);//传递拦截的号码数据
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//这个必须设置
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);//这里的FLAG_UPDATE_CURRENT说明如果一个notification如果没有被消除掉,又来一个新的notification,他会更新这个notification
// PendingIntent.getBroadcast(context, requestCode, intent, flags);
notification.setLatestEventInfo(this, "神马护卫提醒您", "拦截到一个骚扰电话", contentIntent);
nm.notify(0, notification);
}
当当前activity不存在的时候会激活当前activity并且执行oncreate方法,如果acitivity已经在任务栈的栈项存在,那么会调用onNewIntent()方法,然后在这些方法处理直接跳出添加黑名单的对话框并把响一声的号码添加到输入框中
可以打印所以的基站的信号发送信息
在cmd中进行shell(手机的)
shell>logcat -b radio