【代码】Android: SMS TEL MAIL 发送短信、打电话、发送邮件使用集合

来源:互联网 发布:直男癌聚集地 知乎 编辑:程序博客网 时间:2024/06/06 16:42
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..."));       }  }     android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >android:text="SMS"android:textSize="30sp"    android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:gravity="center"    />android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:background="#80808080">android:text="SMSMag"android:id="@+id/btnSmsMag"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content">android:text="Inbox"android:id="@+id/btnSmsInbox"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content">android:text="Intent"android:id="@+id/btnSmsIntent"android:gravity="center"android:layout_width="wrap_content"android:layout_height="wrap_content"> android:text="TEL"android:textSize="30sp"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center">android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:background="#80808080">android:text="EmptyDial"android:id="@+id/btnTelEmpty"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center">android:text="PhoneDial"android:id="@+id/btnTelPhone"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center">android:text="Call"android:id="@+id/btnTelCall"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"> android:text="MAIL"android:textSize="30sp"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center">android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:background="#80808080">android:text="SendTo"android:id="@+id/btnMailSendto"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center">android:text="Send(Attach)"android:id="@+id/btnMailSend"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center">


原创粉丝点击