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相关推荐

  1. Android多媒体功能开发(4)——调用系统Activity拍照、选择图片、查看图片、裁剪图片

    一.拍照 拍照界面就是调用系统照相机,动作为MediaStore.ACTION_IMAGE_CAPTURE.生成的照片有三种返回方式: 在调用拍照应用的Intent中通过EXTRA_OUTPUT属性设 ...

  2. Android 调用系统发短信界面,给指定号码发短信,并带短信内容

    工具类如下ContentUtil.java: package com.zhoucj.messagedemo.util; import android.content.Context; import a ...

  3. Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享

    Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享 标签: Android系统分享QQ分享朋友圈图文分享 2016-09-27 22:54 279人阅读 评论(0) 收藏 举报 ...

  4. 调用系统相机和相册出现闪退报错No Activity found to handle Intent

    调用系统相机和相册出现闪退报错No Activity found to handle Intent : 在开发安卓项目的时候遇到了一个问题,当手机调用系统相机和相册的时候会出现闪退的现象,根据报错常常 ...

  5. android调用系统相册将图片复制到指定目录下并显示复制进度

    最近在做一个类似文件管理器,app是采用本地数据库模拟目录的方式,管理与其手机储存对应的存储文件.那么需求来了,需要在app中添加一张从本地相册中选出来的照片,并将照片复制到自己app指定的目录下.这 ...

  6. [Android多媒体二]调用系统录音机录音并存储到指定位置,适配安卓 7.0

    接上一篇文章,[Android多媒体一]调用系统相机拍照并存储到指定位置,适配安卓 7.0 本文讲述如何调用系统录音机,完成录音后,对录音进行指定位置的保存. 一.开始编写 首先,还是理清一下思路,在 ...

  7. python运行系统找不到指定文件_“系统无法找到指定的文件”当调用Python中的subprocess.Popen...

    我试图使用svnmerge.py来合并一些文件.底下它使用python,当我使用它时,我得到一个错误 - "系统找不到指定的文件".工作中的同事正在运行相同版本的svnmerge. ...

  8. 安卓 通过intent调用系统文件管理器打开指定路径目录

    安卓 通过intent调用系统文件管理器打开指定路径目录   转  https://blog.csdn.net/qq_34161388/article/details/78586247 当我们知道一个 ...

  9. android 根据时间获取周几_android 调用系统 calendars 如何获取一个指定日期的所有日程 event。...

    android 调用系统 (CalendarContract)calendars 如何获取一个指定日期的所有日程(包含周期事件) ? 难点在于,很多event存的时候是有rrule的,也就是周期. 以 ...

最新文章

  1. 【Ubuntu】解决ubuntu系统root用户下Chrome无法启动问题
  2. 刚发现Source Insight发布新版本了
  3. Aix oracle 自动启动,AIX如何自动启动和关闭软件的运行
  4. linux-epoll研究
  5. django2 快速安装指南
  6. php异步处理,执行系统命令
  7. 多项目开发下的dll文件管理
  8. 我对STL的一些看法(五)初识关联容器
  9. 计算机考试演示文稿模板,2018职称计算机考试PowerPoint习题10
  10. java scri p t_深入浅析JavaScript中数据共享和数据传递_javascri
  11. JS全局函数里面的一些区别
  12. Redis精进:List的使用和应用场景
  13. pom.xml中排除quartz包
  14. CCF NOI1098 森林
  15. 【CCCC】L2-030 冰岛人 (25分) 模拟题,二叉树链式存储,从底部向上
  16. 深信服(SCSA)认证学习—基础知识点二
  17. 简单了解HttpServer的使用
  18. iphone6s读写速度测试软件,iPhone6S/7/8运行iOS13速度测试:结果有点失望
  19. 业务持续计划(BCP,Business Continuity Plan)
  20. 绝地求生缺少xinput1_3.dll怎么办?

热门文章

  1. 制作 ramdisk.img,使用cpio 和 gzip
  2. EOS 核心功能 (2) nodeos
  3. 密码技术--椭圆曲线算法EDCSA数字签名及Go语言应用
  4. 关于LookupError: No installed app with label ‘admin‘.报错的解决
  5. 算法—详细讲解单向循环链表的实现(python)
  6. 02-Linux Kernel(armv8-aarch64)的原子操作的底层实现
  7. 2022-03-31 一些后续
  8. 根据窗口名获取进程句柄和PID
  9. linux 添加虚拟网卡
  10. delphi程序crackme分析1