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