没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
3页
Intent的使用 趁着工作之余,看了一下intent,发现好多知识都已经忘记了,然后自己有重新复习了一遍,在这里做一下笔记,以下为自己总结的几点: intent是一个好东西 他可以启动Activity还可以回调数据 调用各种数据,联系人等等 进程之间可以接收同一个intent 三大组件的桥梁 解释一下为什么是三大组件吧,都知道四大组件分别是Activity,Service,BroadCastReceiver,ContentProvider。Intent是Activity,Service,BroadCastReceiver这三大组件之间的桥梁,而ContentProvide
资源详情
资源评论
资源推荐
Android使用使用Intent获取联系人信息获取联系人信息
Intent的使用的使用
趁着工作之余,看了一下intent,发现好多知识都已经忘记了,然后自己有重新复习了一遍,在这里做一下笔记,以下为自己
总结的几点:
intent是一个好东西
他可以启动Activity还可以回调数据
调用各种数据,联系人等等
进程之间可以接收同一个intent
三大组件的桥梁
解释一下为什么是三大组件吧,都知道四大组件分别是Activity,Service,BroadCastReceiver,ContentProvider。Intent是
Activity,Service,BroadCastReceiver这三大组件之间的桥梁,而ContentProvider是通过ContentResolver来通信的,所以说
是三大组件的桥梁。
Intent使用的时候需要定义一个action和data,action就是他要执行的动作,data就是他所执行动作的数据。
比如说我们要拨打电话
Uri number = Uri.parse("tel:10086");
Intent callIntent = new Intent(Intent.ACTION_CALL, number);
startActivity(callIntent);
当然不要忘记加权限
<uses-permission android:name="android.permission.CALL_PHONE"/>
查看网页
Uri webpage = Uri.parse("http://www.baidu.com");
Intent webIntent = new Intent(Intent.ACTION_VIEW, webpage);
发送一个带附件的发送一个带附件的email
查看地图等等都可以实现,但是不要忘记加上权限。
忘记说了,尽管Android系统会确保每一个确定的intent会被系统内置的app接收,但是我们还是应该在触发一个intent之前做验
证是否有App接受这个intent的步骤。(如果触发了一个intent,而且没有任何一个app会去接收这个intent,则app会crash。)
为了验证是否有合适的activity会响应这个intent,需要执行queryIntentActivities() 来获取到能够接收这个intent的所有activity的
list。若返回的List非空,那么我们才可以安全的使用这个intent。例如:
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
下面就说些比较实用的吧,在开发中我们经常会遇到读取手机联系人信息的时候把,分成两部分说一下读取联系人吧
读取单个联系人读取单个联系人
注意了,因为联系人内容是敏感权限,6.0以上的要动态授权,并自Manifest文件中添加读取手机联系人的权限。
<uses-permission android:name="android.permission.READ_CONTACTS"/>
读取单个联系人是通过startActivityForResult来获取的,返回你需要的某个联系人信息,当然,如果你需要全部联系人信息,
也请不要着急,下面也会有介绍。
public static final int PICK_CONTACT_REQUEST = 1;
//这是拉起手机联系人列表
private void pickContact() {
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}
通过startActivityForResult拉起联系人列表之后,我们需要重新onActivityResult方法,第二个activity指定的result code。如果
weixin_38723753
- 粉丝: 2
- 资源: 907
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0