直接代碼
package com.example.demoemail;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;/** * 調用郵件組件,主要是用到了intent的相關知識 * 1.首先需要在資訊清單檔的Activity中配置action標籤(動作,此處指明是調用系統的郵件組件android.intent.action.SENDTO) * 需要設定data標籤,此處是對應的uri資料。 的一般格式是scheme://host:post/path.具體代表含義請自己上網查詢。 * 繼續添加標籤,此標籤是設定種類資訊,像我們平常啟動一個activity一般用startActivity(),如果調用了它,系統會預設的給Intent添加 , * 所以我們開發的時候不會出錯。如果需要其他的種類,就必須要在資訊清單檔中配置。否則會配皮失敗,NO_MATCH_CATEGORY. * 2.在Activity中調用郵箱組件,使用Intent來設定action,data,category等。當你調用startActivity(),它會與資訊清單檔你配置的中資訊配皮, * 如果匹配成功就調用郵件組件。 * * 總結一下。intent組件的匹配流程。 * intent首先會與的action相匹配,如果為空白,會匹配失敗。NO_MATCH_ACTION.不繼續進行 * 如果中有,再判斷intent.setAction()是否為空白,如果不是空,就與中相配皮,如果為空白和前面匹配成功,就繼續讓Intent.setData和type與中 * 相比較。如果匹配度>0則匹配成功(值越大,匹配越成功)。如果<0,則表示匹配失敗。NO_MATCH_DATA.NO_MATCH_TYPE。最後比較資訊。如果intent.setCategory與中資訊有,匹配成功,否則 * 匹配失敗。NO_MATCH_CATEGORY * * 像之上NO_MATCH_CATEGORY這些返回的都是16進位的值,一般最高位為0表示成功。 * @author pangzf * */public class MainActivity extends Activity {private View vClick;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();setClickListener();}private void initView() {vClick = findViewById(R.id.tv_clcik);}private void setClickListener() {vClick.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {sendMail();};});}protected void sendMail() {Intent intent=new Intent();intent.setAction(Intent.ACTION_SENDTO);intent.setData(Uri.parse("mailto:pzfpang451@163.com"));startActivity(intent);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}
demo地址:http://download.csdn.net/detail/pangzaifei/6989527