展会信息港展会大全

android调用系统邮件组件(intent匹配的流程)
来源:互联网   发布日期:2016-01-14 09:28:40   浏览:1358次  

导读:直接代码 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.OnClickListe...

直接代码

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则匹配成功(值越大,匹配越成功)。如果信息。如果intent.setCategory与中信息有,匹配成功,否则

* 匹配失败。NO_MATCH_CATEGORY

*

* 像之上NO_MATCH_CATEGORY这些返回的都是16进制的值,一般最高位为0表示成功。

* @author pangzf

*

*/

public class MainActivity extends Activity {

private View vClick;

@Override

protected 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() {

@Override

public 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);

}

@Override

public 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

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港