鄙人想开发一个来电来信闪光的软件。网上这两个广播事件讲的不清不楚的。请大神告诉我,还有相应的权限
Android中电话通信的简单流程
使用代码拨打电话
1>创建隐式意图
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:13555555555"));
2>启动Activity
context.startActivity(intent);
3>添加拨打电话的权限
android.permission.CALL_PHONE
如何监听呼入电话
1> 编写一个类,扩展自PhoneStateListener。
2>获取系统服务:TelephonyManager
3>调用manager.listen()方法开始监听电话状态。
4>添加权限:
android.permission.READ_PHONE_STATE
监听呼出电话:
1>创建广播接收器接收系统广播:
Intent.ACTION_NEW_OUTGING_CALL
2>在onReceive方法中处理广播
3>把广播接收器在清单文件中注册。
4>添加权限
拦截电话的呼入
Service绑定:
客户端:
conn=new ServiceConnection(){
serviceConnected(, IBinder binder){
MyBinder b=(....)binder;
}
serviceDisConnected(){}
};
bindService(intent, conn, flags);
Android中短信的收发机制与简单流程
代码发送短消息
1>获取发送短信的系统服务:
SmsManager manager=SmsManager.getDefault();
2>调用sendTextMessage方法发送短信
manager.sendTextMessage(
number, null, body, null, null);
3>添加权限
android.permission.SEND_SMS
manager.sendTextMessage(
number, null, body,
sentIntent, 当短信发送后执行该PendingIntent
deliveryIntent 对方是否成功接收PendingIntent
);
提示短信是否发送成功
sentIntent
提示短信对方成功接收
deliveryIntent
发送字数超过限制的短消息
ArrayList bodies=SmsManger.divideMessage(text);
for(int i=0; i String body=bodies.get(i);
sendTextMessage();
}
使用代码接收、拦截短消息
1>编写广播接收器接收系统广播:
android.provider.Telephony.SMS_RECEIVED
2>注册
3>添加拦截短信的系统权限