Android: SMS TEL MAIL 使用集合

0
Android Java XML C/C++ Go 13773 次浏览
Android发送短信、打电话、发送邮件的程序集合。

短信发送模式包括:
1.使用SMSManager发送短信,发送的短信不存于“信息”中。
2.使用ContentResolver发送短信,短信存放于“信息”中。(网传的方法,实践中未成功)
3.使用Intent发送短信,调用系统的“信息”程序发送。

打电话模式包括:
1.调用空的Dial拔号。
2.调用Dial并传递号码。
3.直拔。

发送邮件包括:
1.发送普通邮件。
2.发送附件。
 package lab.sodino.stm;  
 import android.app.Activity;  
 import android.content.ContentResolver;  
 import android.content.ContentValues;  
 import android.content.Intent;  
 import android.net.Uri;  
 import android.os.Bundle;  
 import android.telephony.gsm.SmsManager;  
 import android.view.View;  
 import android.widget.Button;  
 import android.widget.Toast;  
 public class STMAct extends Activity {  
     /** Called when the activity is first created. */  
     @Override  
     public void onCreate(Bundle savedInstanceState) {  
         super.onCreate(savedInstanceState);  
         setContentView(R.layout.main);  
         ((Button) findViewById(R.id.btnSmsMag))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         sendSms1();  
                         Toast.makeText(STMAct.this, "已发送", Toast.LENGTH_SHORT)  
                                 .show();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnSmsInbox))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         sendSmsInbox();  
                         Toast.makeText(STMAct.this, "已发送", Toast.LENGTH_SHORT)  
                                 .show();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnSmsIntent))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         sendSmsIntent();  
                         Toast.makeText(STMAct.this, "已发送", Toast.LENGTH_SHORT)  
                                 .show();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnTelEmpty))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         telDialEmpty();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnTelPhone))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         telDialPhone();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnTelCall))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         telCall();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnMailSendto))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         mailSendto();  
                     }  
                 });  
         ((Button) findViewById(R.id.btnMailSend))  
                 .setOnClickListener(new Button.OnClickListener() {  
                     public void onClick(View v) {  
                         mailSend();  
                     }  
                 });  
     }  
     private void sendSms1() {  
         // 需要 android.permission.SEND_SMS  
         SmsManager smsManager = SmsManager.getDefault();  
         smsManager.sendTextMessage("10086", null, "1008611", null, null);  
     }  
     private void sendSmsInbox() {  
         // 需要 android.permission.READ_SMS与android.permission.WRITE_SMS,经测试发送失败
         ContentValues values = new ContentValues();  
         values.put("address", "10086");  
         values.put("body", "bylcx");  
         ContentResolver contentResolver = getContentResolver();  
         // 实验中两者都会在信息栏中保存所发的信息。  
         contentResolver.insert(Uri.parse("content://sms/sent"), values);  
         // contentResolver.insert(Uri.parse("content://sms/inbox"), values);  
     }  
     private void sendSmsIntent() {  
         // 不需要权限,跳转到"信息"中。  
         Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri  
                 .parse("sms://"));  
         sendIntent.putExtra("address", "10086");  
         sendIntent.putExtra("sms_body", "bylcs");  
         startActivity(sendIntent);  
     }  
     private void telDialEmpty() {  
         // 不需要权限,跳转到"拔号"中。  
         Intent callIntent = new Intent(Intent.ACTION_CALL_BUTTON);  
         startActivity(callIntent);  
     }  
     private void telDialPhone() {  
         // 不需要权限,跳转到"拔号"中。  
         Intent callIntent = new Intent(Intent.ACTION_DIAL, Uri  
                 .parse("tel:10086"));  
         startActivity(callIntent);  
     }  
     private void telCall() {  
         // 需要 android.permission.CALL_PHONE  
         Intent callIntent = new Intent(Intent.ACTION_CALL, Uri  
                 .parse("tel:10086"));  
         startActivity(callIntent);  
     }  
     private void mailSendto() {  
         // 需要 android.permission.SENDTO权限  
         Uri uri = Uri.parse("mailto:10086@qq.com");  
         Intent mailIntent = new Intent(Intent.ACTION_SENDTO, uri);  
         startActivity(mailIntent);  
     }  
     private void mailSend() {  
         // 需要 android.permission.SEND权限  
         Intent mailIntent = new Intent(Intent.ACTION_SEND);  
		 // 可以试下“plain/text”与“text/plain”的区别,嘿嘿
         mailIntent.setType("plain/text");  
         String[] arrReceiver = { "10086@qq.com", "10086@qq.com" };  
         String[] arrCc = { "10086@qq.com", "10086@qq.com" };  
         String[] arrBcc = { "10086@qq.com", "10086@qq.com" };  
         String mailSubject = "MailSubject";  
         String mailBody = "Mail Sodino Test";  
         String attachPath = "file:///sdcard/UCDownloads/ATest.apk";  
         mailIntent.putExtra(Intent.EXTRA_EMAIL, arrReceiver);  
         mailIntent.putExtra(Intent.EXTRA_CC, arrCc);  
         mailIntent.putExtra(Intent.EXTRA_BCC, arrBcc);  
         mailIntent.putExtra(Intent.EXTRA_SUBJECT, mailSubject);  
         mailIntent.putExtra(Intent.EXTRA_TEXT, mailBody);  
         mailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(attachPath));  
         mailIntent.setType("audio/mp3");  
         startActivity(Intent.createChooser(mailIntent, "Mail Sending..."));  
     }  
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
	android:text="SMS"
	android:textSize="30sp"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:gravity="center"
    />
<LinearLayout
	android:orientation="horizontal"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:gravity="center"
	android:background="#80808080">
	<Button
		android:text="SMSMag"
		android:id="@+id/btnSmsMag"
		android:gravity="center"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	></Button>
	<Button
		android:text="Inbox"
		android:id="@+id/btnSmsInbox"
		android:gravity="center"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	></Button>
	<Button
		android:text="Intent"
		android:id="@+id/btnSmsIntent"
		android:gravity="center"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	></Button>
</LinearLayout>
<TextView
	android:text="TEL"
	android:textSize="30sp"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:gravity="center"
></TextView>
<LinearLayout
	android:orientation="horizontal"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:gravity="center"
	android:background="#80808080">
	<Button
		android:text="EmptyDial"
		android:id="@+id/btnTelEmpty"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:gravity="center"
	></Button>
	<Button
		android:text="PhoneDial"
		android:id="@+id/btnTelPhone"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:gravity="center"
	></Button>
	<Button
		android:text="Call"
		android:id="@+id/btnTelCall"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:gravity="center"
	></Button>
</LinearLayout>
<TextView
	android:text="MAIL"
	android:textSize="30sp"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:gravity="center"
></TextView>
<LinearLayout
	android:orientation="horizontal"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:gravity="center"
	android:background="#80808080">
	<Button
		android:text="SendTo"
		android:id="@+id/btnMailSendto"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:gravity="center"
	></Button>
	<Button
		android:text="Send(Attach)"
		android:id="@+id/btnMailSend"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:gravity="center"
	></Button>
</LinearLayout>
</LinearLayout>
文章出处:http://blog.csdn.net/sodino/article/details/5810481
请尽量让自己的答案能够对别人有帮助

2个答案

默认排序 按投票排序