【代碼】Android: SMS TEL MAIL 發送短信、打電話、發送郵件使用集合

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:[email protected]");  
         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 = { "[email protected]", "[email protected]" };  
         String[] arrCc = { "[email protected]", "[email protected]" };  
         String[] arrBcc = { "[email protected]", "[email protected]" };  
         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"
>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章