本来我已经差不多快可以自己做出来的啦~基本原理,文件都找到了~~但是~~还是差一点~不服啊~偶然看到一篇文章.很谢谢这位作者.其实这里主要就是用到aidl远程调用.只要学一下aidl其实一点也不难.但是我从网上根本找不到例子.除了这个~各位高手应该多写出来分享嘛~不废话了.大家看~
from:http://blog.chinaunix.net/u/9577/showart_1859341.html
Android-FireWall
一.Prepare ITelephony.aidl
Download iTelephony.aidl from http://code.google.com/p/mylockforandroid/source/browse/trunk/phone/src/com/android/internal/telephony/ITelephony.aidl?r=317
then add that file to src/com/android/internal/telephony/ of your project
二.Add permissions to AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
三.Write Code
import java.lang.reflect.Method;
import com.android.internal.telephony.ITelephony;
import android.telephony.*;
......
private TelephonyManager m_telephonyManager;
private ITelephony m_telephonyService;
private PhoneStateListener m_phoneStateListener;
private AudioManager m_audioManager;
....
m_telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
m_telephonyService = ITelephony.Stub.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE));
m_audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
m_telephonyManager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE);
....
class MyPhoneStateListener extends PhoneStateListener
{
public void onCallStateChanged(int state, String incomingNumber)
{
m_audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
switch (state)
{
case TelephonyManager.CALL_STATE_IDLE:
m_audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
//CALL_STATE_OFFHOOK;
break;
case TelephonyManager.CALL_STATE_RINGING:
// if incomingNumber need to be blocked ex:if num is "33",block it
// must be function "equals", no "=="
if ("33".equals(incomingNumber))
{
m_telephonyService.endCall();
}
else
{
m_audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
break;
default:
break;
}
}
}
}
分享到:
相关推荐
【Android来电防火墙源码】是一个专为Android操作系统设计的应用程序,主要用于拦截并管理手机的来电和短信。从描述来看,该源码在Android 4.0.4版本上可能存在对于短信拦截功能的不兼容问题,而在较早的2.3版本中则...
Android来电防火墙项目主要是面对android手机用户开发的应用程序,该应用程序可以根据用户的需求自行设置,是进行电话拦截,还是短信拦截,同时还可以设置是只拦截黑名单,只接受白名单和关闭防火墙。其次还可以设置...
在Android平台上,来电防火墙是一种重要的安全应用,它能够帮助用户有效地管理并控制接收到的电话和短信。本文将深入探讨Android手机来电防火墙的主要功能及其实现方式。 首先,我们来了解一下基于黑白名单的电话和...
注意如果打开了隐私号码拦截功能,隐私号码的来电和短信会被拦截,并且是不会有拦截提醒的。 4>.手机防盗 手机防盗需要另一台手机作为防盗号码,当收到防盗号码的找回短信时,就发送本手机的位置信息到防盗手机,这...
### Android来电防火墙毕业设计论文知识点解析 #### 一、项目背景及意义 随着3G乃至4G/5G通信技术的发展,智能手机已经成为人们日常生活中不可或缺的一部分。Android系统以其开放性和灵活性,在移动操作系统市场...
随着Android系统的持续发展,来电防火墙的应用也将不断升级,可能引入AI智能识别技术,自动学习并判断来电的性质,进一步提升拦截的精准度。此外,结合物联网和大数据,未来来电防火墙可能与更多服务集成,例如与反...
为了实现来电防火墙的功能,开发者可能使用了电话API,如Android的TelephonyManager或iOS的CallKit,来获取和控制通话事件。他们还需要处理权限管理,因为访问电话数据通常需要用户的明确授权。在后台运行服务也是...
1. **来电拦截**:防火墙可以根据预设的规则拦截特定号码的来电,比如黑名单中的联系人或者未知号码。这有助于避免骚扰电话或不必要打扰的情况。 2. **短信拦截**:除了拦截电话,防火墙还能过滤掉包含特定关键字的...
基于android 4.1系统源码添加的一个新功能:来电防火墙和短信防火墙。 在应用层添加一个apk将拦截到的电话和短信保存到新的apk中,电话拦截的主要代码在应用层处理,短信拦截的主要代码在frameworks层中处理
标题中的“手机太好用了来电防火墙+短信防火墙780-680--07-08-17-1[1][1].0.1.rar”指的是一个针对智能手机的安全软件,主要功能是提供来电和短信的过滤与防护。这个版本号“1[1].0.1”可能表示软件的更新迭代,...
短信拦截(拦截号码短信、拦截向号码发送短信) 3.全局设置(短信拦截设置、电话拦截设置、夜间防骚扰设置) 4.呼叫转移(遇忙转移:空号、正忙、停机,无条件转移,无应答转移,无信 号转移) 5.添加黑白名单...
基于Android开发的一款适用的来电防火墙,能拦截电话、短信,让您的世界更安静。
本源码是一套比较全面的安卓手机安全方面的源码,总结起来就是三大防火墙电话防火墙、短信防火墙和网络防火墙和一些零碎的小工具。网络防火墙有流量预警功能,可以设置2G\3G和wifi的数据...来电拦截 短信拦截 jni使用
基于android4.1系统源码添加的一个新功能来电防火墙和短信防火墙。在应用层添加一个apk将拦截到的电话和短信保存到新的apk中电话拦截的主要代码在应用层处理短信拦截的主要代码在frameworks层中处理.rar,太多无法...
【安卓电话防火墙源码】是一个专为Android操作系统设计的软件开发项目,旨在提供电话过滤功能,帮助用户管理来电,防止不必要的打扰。源码的开放性使得开发者可以根据自己的需求进行定制,增强了软件的可扩展性和...
艾米防火墙是一款Android下的防火墙软件,它主要用来帮助手机用户解决日常使用中遇到的问题:电话骚扰,钓鱼短信,手机垃圾,系统变慢等众多问题,艾米防火墙暂时只支持短信过滤,来电拦截,程序联网行为拦截和流量...
### 基于Android智能手机来电防火墙的研究与设计 #### 一、研究背景与意义 随着移动互联网技术的快速发展,Android作为一款新兴的开源手机操作系统,凭借其强大的扩展性和灵活性,迅速占据了智能手机市场的主导...