- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android实训案例(六)
Android实训案例(六)——四大组件之一BroadcastReceiver的基本使用,拨号,短信,SD卡,开机,应用安装卸载监听
1.IP拨号器
我们在拨打电话的时候,我们系统也会事先发送一个广播,所以我们可以用广播接收者来接收到这个广播拨打电话的时候在电话号码前面加上一些优惠的长途短号,其逻辑就是入门使用广播的一个小案例,那我们新建一个IPCall项目
我们拨打电话的时候系统发一个广播,我们接受到这个广播拿到号码修改之后再放回去,就达到了我们IP拨号的目的,我们需要新建一个Receiver
CallReceiver
package com.lgl.ipcall;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* 电话广播
* Created by lgl on 16/4/10.
*/
public class CallReceiver extends BroadcastReceiver {
//接收到广播时调用
@Override
public void onReceive(Context context, Intent intent) {
Log.i(CallReceiver, 打电话);
}
}
这个类暂时不需要做什么。最重要的还是注册,作为四大组建,他是需要在清单文件里注册的
!--注册广播--
receiver android:name=.CallReceiver
intent-filter
!--定义接收的广播--
action android:name=ent.action.NEW_OUTGOING_CALL /
/intent-filter
/receiver
别忘了,你监听了用户的隐私,是需要权限的
uses-permission android:name=android.permission.PROCESS_OUTGOING_CALLS /
我们先运行一下,打个电话
好的,广播我们已经抓住了,那我们可以首先获取打出去的号码
String iphone = getResultData();
Log.i(CallReceiver, 电话号码:+iphone);
这样我们就可以拿到String类型的电话号码了
我们现在可以修改号码重新设置IP段了
//添加IP段
String newPhone = +86 + iphone;
//把修改后的号码放回去
setResultData(newPhone);
这样我们每次打电话他都会自动帮我们添加一个字段了
完整代码
package com.lgl.ipcall;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* 电话广播
* Created by lgl on 16/4/10.
*/
public class CallReceiver extends BroadcastReceiver {
//接收到广播时调用
@Override
public void onReceive(Context context, Intent intent) {
Log.i(CallReceiver, 打电话);
String iphone = getResultData();
Log.i(CallReceiver, 电话号码: + iphone);
//添加IP段
String newPhone = +86 + iphone;
//把修改后的号码放回去
setResultData(newPhone);
}
}
2.短信拦截器
系统受到了一条短信后,也是会发一条广播的,所有我们可以在中间写一个广播接受者去进行我们的操作,这里,我们继续在IP拨号器这个项目中写吧,就不新建项目了,不然等下上传也麻烦
我们新建一个Class——SMSReceiver,
文档评论(0)