Android邮件发送和调用联系人(4)

安卓也有发送邮件功能,同样是调取gmail程序进行发送邮件功能

跟之前的跳转程序差不多,代码大概也是类似:

Intent emailIntent = new Intent(Intent.ACTION_SEND) ;
			emailIntent.setType("plain/text") ;	// 设置类型
			String address[] = new String[] {"[email protected]"} ;	// 邮件地址
			String subject = "我要交作业" ;//邮件主题
			String content = "第一次数据库作业" ;//邮件内容
			emailIntent.putExtra(Intent.EXTRA_EMAIL, address) ;//邮件地址
			emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject) ;
			emailIntent.putExtra(Intent.EXTRA_TEXT, content) ;
			MyIntentCaseDemo.this.startActivity(emailIntent) ;	// 执行跳转

 需要注意的是很多人手机root掉以后,发送邮件的app都被刷掉了,因此可能无法运行此程序。

接下来我们读取通讯录,与之前不同的是不同listview读取了,直接调用联系人。

代码如下:

public class MainActivity extends Activity {

	private static final int  PICK_CONTACT_SUBACTIVITY=1;//定义标识位
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Uri uri=Uri.parse("content://contacts/people");
		Intent intent=new Intent(Intent.ACTION_PICK,uri);
		super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY);
		
		
	}

	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, 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)) }; // 返回的ID
			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() ;
		}
	}



}

 实现效果就是调用你的联系人一样的效果 

猜你喜欢

转载自429899791.iteye.com/blog/2206569