使用指定的Action,Category调用系统Activity

来源:互联网 发布:网络编码 维基百科 编辑:程序博客网 时间:2024/05/21 06:22

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;    @Override    protected 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()){ //获取联系人的Id  String 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;}}@Override    public 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;    }    @Override    public 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);    }}




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内眼角下有皱纹怎么办 gta5买了车以后怎么办 htc卡在开机画面怎么办 cf里名字占用了怎么办 烫伤起了大水泡怎么办 手干活磨起泡了怎么办 手上磨了个水泡怎么办 手指磨出水泡了怎么办 手上磨了个泡怎么办 脚上的水泡破了怎么办 脚上水泡破了怎么办 烫伤之后破皮了怎么办 皮肤被烫伤破皮怎么办 烫伤起泡皮掉了怎么办 被烫伤起大水泡怎么办 被烫伤起小水泡怎么办 脚走路磨起泡了怎么办 脚趾头磨了个泡怎么办 脚趾头起了大泡怎么办 脚上有脚气起水泡很痒怎么办 脚底有水泡很痒怎么办 脚底磨得起泡了怎么办 脚底有水泡很疼怎么办 脚底硬皮走路疼怎么办 上火鼻子上长脓包怎么办 鼻子上总是长脓包怎么办 孕妇脚上长水泡很痒怎么办 脚气有水泡很痒怎么办 脚又痒又脱皮怎么办 手指出水泡很痒怎么办 鼻子里上火长泡怎么办 鼻子又干又痒怎么办 眼皮长了小水泡怎么办 眼皮上长了个泡怎么办 眼皮上长了粉刺怎么办 上眼皮又肿又疼怎么办 眼皮长了个痘怎么办 手指上小水泡痒怎么办 阴茎长了一个泡怎么办 干活累的腰疼怎么办 手长白色的小泡怎么办