您的位置:首页 > 移动开发 > Android开发

Android电话设置黑名单,来电自动挂断

2017-07-15 21:27 573 查看
首先导入两个外包
public class PhoneActivity extends BroadcastReceiver {private TelephonyManager tm;@Overridepublic void onReceive(Context context, Intent intent) {//判断是否为手机行为状态if("android.intent.action.PHONE_STATE".equals(intent.getAction())){//获取电脑管理者tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);int state=tm.getCallState();//获取电话号码String phone=intent.getStringExtra("incoming_number");switch (state){case TelephonyManager.CALL_STATE_RINGING:Log.i("test",phone+"来电");//得到电话管理者类对象Class<TelephonyManager> clazz=TelephonyManager.class;//得到方法try {Method method=clazz.getDeclaredMethod("getITelephony",null);//设置可访问method.setAccessible(true);//执行方法try {ITelephony iTelephony= (ITelephony) method.invoke(tm,null);//判断if("18873870231".equals(phone)){try {iTelephony.endCall();} catch (RemoteException e) {e.printStackTrace();}}} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}} catch (NoSuchMethodException e) {e.printStackTrace();}break;
    <!--读取电话状态的权限--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission><!--打定话的权限--><uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: