使用指定的Action,Category调用系统Activity
Android提供了大量的标准Action,Category:
例子,查看并获取联系人电话
用户点击按钮值会显示系统的联系人列表,当用户单击联系人之后,程序将会显示该联系人的名字和电话
MainActivity.java
package com.hust.getcontacts;import android.app.Activity;
import android.content.CursorLoader;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class MainActivity extends Activity {final int PICK_CONTACT=0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn=(Button) findViewById(R.id.button1);btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//创建intentIntent intent=new Intent();//设置Intent的Action属性intent.setAction(Intent.ACTION_GET_CONTENT);//设置Intent的Type属性intent.setType("vnd.android.cursor.item/phone");//启动Activity,并希望获取该Activity的结果startActivityForResult(intent,PICK_CONTACT);} }); }//重写该方法,处理返回的联系人数据在参数Intent data中@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);switch(requestCode){case (PICK_CONTACT):if(resultCode==Activity.RESULT_OK){//Activity.RESULT_OK标准Activity结果 -1//获取返回的联系人数据Uri contactdata=data.getData();CursorLoader cursorloader=new CursorLoader(this, contactdata, null, null, null, null);//查询联系人信息表Cursor cursor=cursorloader.loadInBackground();//如果查询到指定的联系人if(cursor.moveToFirst()){//获取联系人的IdString contactId=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));//获取联系人的名字String name=cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));String phoneNumber="此联系人暂未输入电话号码";//根据联系人查询该联系人的详细信息Cursor phones=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId, null, null);//if(phones.moveToFirst()){//取出电话号码phoneNumber=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));}phones.close();EditText show=(EditText) findViewById(R.id.editText1);show.setText(name);EditText phone=(EditText) findViewById(R.id.editText2);phone.setText(phoneNumber);}cursor.close();}break;}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}
使用指定的Action,Category调用系统Activity相关推荐
- Android多媒体功能开发(4)——调用系统Activity拍照、选择图片、查看图片、裁剪图片
一.拍照 拍照界面就是调用系统照相机,动作为MediaStore.ACTION_IMAGE_CAPTURE.生成的照片有三种返回方式: 在调用拍照应用的Intent中通过EXTRA_OUTPUT属性设 ...
- Android 调用系统发短信界面,给指定号码发短信,并带短信内容
工具类如下ContentUtil.java: package com.zhoucj.messagedemo.util; import android.content.Context; import a ...
- Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享 标签: Android系统分享QQ分享朋友圈图文分享 2016-09-27 22:54 279人阅读 评论(0) 收藏 举报 ...
- 调用系统相机和相册出现闪退报错No Activity found to handle Intent
调用系统相机和相册出现闪退报错No Activity found to handle Intent : 在开发安卓项目的时候遇到了一个问题,当手机调用系统相机和相册的时候会出现闪退的现象,根据报错常常 ...
- android调用系统相册将图片复制到指定目录下并显示复制进度
最近在做一个类似文件管理器,app是采用本地数据库模拟目录的方式,管理与其手机储存对应的存储文件.那么需求来了,需要在app中添加一张从本地相册中选出来的照片,并将照片复制到自己app指定的目录下.这 ...
- [Android多媒体二]调用系统录音机录音并存储到指定位置,适配安卓 7.0
接上一篇文章,[Android多媒体一]调用系统相机拍照并存储到指定位置,适配安卓 7.0 本文讲述如何调用系统录音机,完成录音后,对录音进行指定位置的保存. 一.开始编写 首先,还是理清一下思路,在 ...
- python运行系统找不到指定文件_“系统无法找到指定的文件”当调用Python中的subprocess.Popen...
我试图使用svnmerge.py来合并一些文件.底下它使用python,当我使用它时,我得到一个错误 - "系统找不到指定的文件".工作中的同事正在运行相同版本的svnmerge. ...
- 安卓 通过intent调用系统文件管理器打开指定路径目录
安卓 通过intent调用系统文件管理器打开指定路径目录 转 https://blog.csdn.net/qq_34161388/article/details/78586247 当我们知道一个 ...
- android 根据时间获取周几_android 调用系统 calendars 如何获取一个指定日期的所有日程 event。...
android 调用系统 (CalendarContract)calendars 如何获取一个指定日期的所有日程(包含周期事件) ? 难点在于,很多event存的时候是有rrule的,也就是周期. 以 ...
最新文章
- 【Ubuntu】解决ubuntu系统root用户下Chrome无法启动问题
- 刚发现Source Insight发布新版本了
- Aix oracle 自动启动,AIX如何自动启动和关闭软件的运行
- linux-epoll研究
- django2 快速安装指南
- php异步处理,执行系统命令
- 多项目开发下的dll文件管理
- 我对STL的一些看法(五)初识关联容器
- 计算机考试演示文稿模板,2018职称计算机考试PowerPoint习题10
- java scri p t_深入浅析JavaScript中数据共享和数据传递_javascri
- JS全局函数里面的一些区别
- Redis精进:List的使用和应用场景
- pom.xml中排除quartz包
- CCF NOI1098 森林
- 【CCCC】L2-030 冰岛人 (25分) 模拟题,二叉树链式存储,从底部向上
- 深信服(SCSA)认证学习—基础知识点二
- 简单了解HttpServer的使用
- iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望
- 业务持续计划(BCP,Business Continuity Plan)
- 绝地求生缺少xinput1_3.dll怎么办?
热门文章
- 制作 ramdisk.img,使用cpio 和 gzip
- EOS 核心功能 (2) nodeos
- 密码技术--椭圆曲线算法EDCSA数字签名及Go语言应用
- 关于LookupError: No installed app with label ‘admin‘.报错的解决
- 算法—详细讲解单向循环链表的实现(python)
- 02-Linux Kernel(armv8-aarch64)的原子操作的底层实现
- 2022-03-31 一些后续
- 根据窗口名获取进程句柄和PID
- linux 添加虚拟网卡
- delphi程序crackme分析1