㈠ 请问 如何 判断 android 电话去电是否已经接通
你还是去源码的 \packages\apps\Phone 这个路径下面 研究下android原生的对与电话事件的处理吧,具体在incallscrean这个类里面,
㈡ 安卓防火墙怎么用
如下图,你可以通过点击软件右上角菜单栏,启用防火墙功能,或者对软件进行相应设置。
《安卓防火墙AndroidFirewall》是DroidWall的衍生版本,解决部分4.x系统DroidWall无效的问题。付费版和免费版没有区别,仅代表对作者工作的肯定。
Android的防火墙有所有的droidwall能力。它支持Android2.2+。如果你安装了Android的防火墙和发现软件工作不正常,请安装BusyBox和终端模拟器。
这两个应用程序都可以在游戏商店找到的。
㈢ android开发怎么监控来电并监听
实现如下广播,并且在AndroidManifest中进行注册
public class PhoneReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("action"+intent.getAction());
//如果是去电
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
String phoneNumber = intent
.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.d(TAG, "call OUT:" + phoneNumber);
}else{
//查了下android文档,貌似没有专门用于接收来电的action,所以,非去电即来电.
//如果我们想要监听电话的拨打状况,需要这么几步 :
* 第一:获取电话服务管理器TelephonyManager manager = this.getSystemService(TELEPHONY_SERVICE);
* 第二:通过TelephonyManager注册我们要监听的电话状态改变事件。manager.listen(new MyPhoneStateListener(),
* PhoneStateListener.LISTEN_CALL_STATE);这里的PhoneStateListener.LISTEN_CALL_STATE就是我们想要
* 监听的状态改变事件,初次之外,还有很多其他事件哦。
* 第三步:通过extends PhoneStateListener来定制自己的规则。将其对象传递给第二步作为参数。
* 第四步:这一步很重要,那就是给应用添加权限。android.permission.READ_PHONE_STATE
TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
//设置一个监听器
}
}
PhoneStateListener listener=new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, String incomingNumber) {
//注意,方法必须写在super方法后面,否则incomingNumber无法获取到值。
super.onCallStateChanged(state, incomingNumber);
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
System.out.println("挂断");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("接听");
break;
case TelephonyManager.CALL_STATE_RINGING:
System.out.println("响铃:来电号码"+incomingNumber);
//输出来电号码
break;
}
}
㈣ android判断通话状态问题
java">caseTelephonyManager.CALL_STATE_RINGING://响铃
break;
caseTelephonyManager.CALL_STATE_OFFHOOK://摘机
break;
caseTelephonyManager.CALL_STATE_IDLE://空闲
break;