Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> androd—Intent操作ContentProvider獲取電話號碼

androd—Intent操作ContentProvider獲取電話號碼

編輯:關於Android編程

代碼如下:

import android.app.Activity;
import android.content.ContentUris;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.Toast;

public class MyIntentContentDemo extends Activity {
	private static final int PICK_CONTACT_SUBACTIVITY = 1;				// 定義操作標記
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		Uri uri = Uri.parse("content://contacts/people");				// 連接URI
		Intent intent = new Intent(Intent.ACTION_PICK, uri);			// 指定Intent
		super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY);// 調用Intent
	}
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		switch (requestCode) {
		case PICK_CONTACT_SUBACTIVITY:									// 接收返回的數據
			Uri ret = data.getData();									// 單個數據Uri
			String phoneSelection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID
						+ "=?"; 										// 設置查詢條件
			String[] phoneSelectionArgs = { String.valueOf(ContentUris
					.parseId(ret)) }; 									// 查詢參數
			Cursor c = super.managedQuery(
					ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
					phoneSelection, phoneSelectionArgs, null);			// 查詢全部手機號碼
			StringBuffer buf = new StringBuffer() ;					// 用於接收全部電話
			buf.append("電話號碼是:") ;
			for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 	// 循環取數據
				buf.append(c.getString(c.getColumnIndex(
						ContactsContract.CommonDataKinds.Phone.NUMBER)))
							.append("、");								// 取出電話號碼
			}
			Toast.makeText(this, buf, Toast.LENGTH_LONG).show();		// 顯示信息
		}
	}
}

所需權限:


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved