使用指定的Action,Category调用系统Activity
生活随笔
收集整理的這篇文章主要介紹了
使用指定的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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Intent对象详解(二)
- 下一篇: 使用Action,Data属性启动系统A