Android自动挂断电话
Android自动挂断电话
android的新版本已经把Phone类给隐藏起来了,想要用代码实现挂断电话,就必须通过AIDL才行,
第一步:在程序中新建一个包,包名必须为:com.android.internal.telephony,因为要使用aidl,
第二步:在这个包里面新建一个名为ITelephony.aidl的文件,然后在文件里面写入代码:
packagecom.android.internal.telephony;
interfaceITelephony{
booleanendCall();
voidanswerRingingCall();
}
然后保存,eclipse会自动在gen文件夹下生成一个ITelephony.java的类。
主程序的代码如下:
packageling.Phonemanager;
importjava.lang.reflect.Method;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.RemoteException;
importandroid.telephony.PhoneStateListener;
importandroid.telephony.TelephonyManager;
importcom.android.internal.telephony.ITelephony;
publicclassPhonemanagerextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
privateITelephonyiTelephony;
privateTelephonyManagermanager;
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
phoner();
manager.listen(newPhoneStateListener(){
@Override
publicvoidonCallStateChanged(intstate,StringincomingNumber){
//TODOAuto-generatedmethodstub
super.onCallStateChanged(state,incomingNumber);
switch(state){
//判断是否有电话接入
case1:
try{
//当电话接入时,自动挂断。
iTelephony.endCall();
System.out.println("uncall");
}catch(RemoteExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
},PhoneStateListener.LISTEN_CALL_STATE);
}
publicvoidphoner(){
manager=(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
Class<TelephonyManager>c=TelephonyManager.class;
MethodgetITelephonyMethod=null;
try{
getITelephonyMethod=c.getDeclaredMethod("getITelephony",(Class[])null);
getITelephonyMethod.setAccessible(true);
iTelephony=(ITelephony)getITelephonyMethod.invoke(manager,(Object[])null);
}catch(IllegalArgumentExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
}
只要在电话接入时,再加上一个判断电话号码是否是黑名单的功能,就可以做成一个黑名单的程序了,获取电话号码的函数是:getLine1Number();
还需要在AndroidManifest.xlm里添加
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>权限
更多相关文章
- Android中读取电话本Contacts联系人的所有电话号信息
- Android的电话功能介绍
- android读取sim卡联系人
- [Android]电话拨号器
- Android(安卓)手机录音功能实现
- android访问电话号码和电子邮箱
- android 电话录音
- Android自动判定输入的是电话号码还是网址
- android 呼入电话的监听(来电监听)