调用系统应用发送邮件。附:Intent启用系统应用

main函数:

package com.example.sendemail;

/**
 * Android中调用Email有三种类型的Intent:
 * Intent.ACTION_SENDTO 无附件的发送
 * Intent.ACTION_SEND 带附件的发送
 * Intent.ACTION_SEND_MULTIPLE 带有多附件的发送
 */
import java.util.ArrayList;

import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;

public class MainActivity extends Activity {
	private Button sendEmail_sendto;// sendto发送邮件点击按钮。
	private Button sendEmail_send;// send发送邮件点击按钮。
	private Button sendEmail_multiple;// multiple发送邮件点击按钮。

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		findVIewId();
		setClickListener();
	}

	/**
	 * 找到个控件的ID
	 */
	private void findVIewId() {
		sendEmail_sendto = (Button) findViewById(R.id.sendemail_sendto);
		sendEmail_send = (Button) findViewById(R.id.sendemail_send);
		sendEmail_multiple = (Button) findViewById(R.id.sendemail_multiple);
	}

	/**
	 * 设置监听
	 */
	private void setClickListener() {
		sendEmail_sendto.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View view) {
				sendEmail_SENTTO();
			}
		});
		sendEmail_send.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View view) {
				sendEmail_SENT();
			}
		});
		sendEmail_multiple.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View view) {
				sendEmail_MULTIPLE();
			}
		});
	}

	/**
	 * 使用SENTTO发送
	 */
	private void sendEmail_SENTTO() {
		Intent intent = new Intent(Intent.ACTION_SENDTO);
		intent.setData(Uri.parse("mailto:jk@126.com"));
		intent.putExtra(Intent.EXTRA_SUBJECT, "邮件标题");
		intent.putExtra(Intent.EXTRA_TEXT, "邮件内容");
		startActivity(intent);
	}

	/**
	 * 使用SEND发送
	 */
	private void sendEmail_SENT() {
		Intent intent = new Intent(Intent.ACTION_SEND);
		String[] to = { "jk@126.com" };
		String[] cc = { "jk1@126.com" };
		String[] bcc = { "jk2@126.com" };
		intent.putExtra(Intent.EXTRA_EMAIL, to);
		intent.putExtra(Intent.EXTRA_CC, cc);
		intent.putExtra(Intent.EXTRA_BCC, bcc);
		intent.putExtra(Intent.EXTRA_SUBJECT, "邮件标题");
		intent.putExtra(Intent.EXTRA_TEXT, "邮件内容");
		intent.putExtra(Intent.EXTRA_STREAM,
				Uri.parse("file:///mnt/sdcard/damai/cache_photo/damai_temp.jpg"));
		intent.setType("image/*");
		Intent.createChooser(intent, "选择应用");
		startActivity(intent);
	}

	/**
	 * 使用SEND_MULTIPLE发送
	 */
	private void sendEmail_MULTIPLE() {
		Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
		String[] to = { "jk11@126.com", "jk22@126.com" };
		String[] cc = { "jk3@126.com" };
		intent.putExtra(Intent.EXTRA_EMAIL, to);
		intent.putExtra(Intent.EXTRA_CC, cc);
		intent.putExtra(Intent.EXTRA_SUBJECT, "邮件标题");
		intent.putExtra(Intent.EXTRA_TEXT, "邮件内容");
		ArrayList<Uri> uris = new ArrayList<Uri>();
		uris.add(Uri.parse("file:///mnt/sdcard/damai/cache_photo/damai_temp.jpg"));
		uris.add(Uri.parse("file:///mnt/sdcard/jjj.png"));
		intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
		intent.setType("image/*");
		Intent.createChooser(intent, "选择应用");
		startActivity(intent);
	}
}

xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/sendemail_sendto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SENDTO" />

    <Button
        android:id="@+id/sendemail_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SEND" />

    <Button
        android:id="@+id/sendemail_multiple"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="MULTIPLE" />

</LinearLayout>

附:

一、打开一个网页,类别是Intent.ACTION_VIEW

Uri uri = Uri.parse(“http://yovae.com/”);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

二、打开地图并定位到一个点

Uri uri = Uri.parse(“geo:52.76,-115.0342″);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

三、打开拨号界面 ,类型是Intent.ACTION_DIAL

Uri uri = Uri.parse(“tel:10086″);

Intent intent = new Intent(Intent.ACTION_DIAL, uri);

四、直接拨打电话,与三不同的是,这个直接拨打电话,而不是打开拨号界面

Uri uri = Uri.parse(“tel:10086″);

Intent intent = new Intent(Intent.ACTION_CALL, uri);

五、卸载一个应用,Intent的类别是Intent.ACTION_DELETE

Uri uri = Uri.fromParts(“package”, “xxx”, null);

Intent intent = new Intent(Intent.ACTION_DELETE, uri);

六、安装应用程序 ,Intent的类别是Intent.ACTION_PACKAGE_ADDED

Uri uri = Uri.fromParts(“package”, “xxx”, null);

Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED, uri);

七、播放音频文件

Uri uri = Uri.parse(“file:///sdcard/download/everything.mp3″);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

intent.setType(“audio/mp3″);

八、打开发邮件界面

Uri uri= Uri.parse(“mailto:admin@yovae.com”);

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

九、发邮件,与八不同这里是将邮件发送出去

Intent intent = new Intent(Intent.ACTION_SEND);

String[] tos = { “admin@yovae.com ” };

String[] ccs = { webmaster@yovae.com ” };

intent.putExtra(Intent.EXTRA_EMAIL, tos);

intent.putExtra(Intent.EXTRA_CC, ccs);

intent.putExtra(Intent.EXTRA_TEXT, “I come from http://yovae.com ”);

intent.putExtra(Intent.EXTRA_SUBJECT, “http://yovae.com”);intent.setType(“message/rfc882″);

Intent.createChooser(intent, “Choose Email Client”);

//发送带附件的邮件

Intent intent = new Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_SUBJECT, “The email subject text”);

intent.putExtra(Intent.EXTRA_STREAM, “file:///sdcard/mysong.mp3″);

intent.setType(“audio/mp3″);

startActivity(Intent.createChooser(intent, “Choose Email Client”));

十、发短信

Uri uri= Uri.parse(“tel:10086″);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

intent.putExtra(“sms_body”, “I come from http://yovae.com ”);

intent.setType(“vnd.Android -dir/mms-sms”);

十一、直接发邮件

Uri uri= Uri.parse(“smsto://100861″);

Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

intent.putExtra(“sms_body”, “ android http://yovae.com ”);

十二、发彩信

Uri uri= Uri.parse(“content://media/external/images/media/23″);

Intent intent = new Intent(Intent.ACTION_SEND);

intent.putExtra(“sms_body”, “3g android http:/yovae.com ”);

intent.putExtra(Intent.EXTRA_STREAM, uri);

intent.setType(“image/png”);

十三、和应用Market 相关

1 、寻找某个应用

Uri uri = Uri.parse(“market://search?q=pname:pkg_name”);

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

//where pkg_name is the full package path for an application

2 、显示某个应用的相关信息

Uri uri = Uri.parse(“market://details?id=app_id”);

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

//where app_id is the application ID, find the ID

//by clicking on your application on Market home

//page, and notice the ID from the address bar



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值