Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 在Android中發送短信和彩信,監聽短信並顯示

在Android中發送短信和彩信,監聽短信並顯示

編輯:Android開發實例

發送短信:

  1. String body="this is sms demo";  
  2. Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null));  
  3. mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);  
  4. mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);  
  5. mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);  
  6. startActivity(mmsintent);   
  7.  

發送彩信:

  1. StringBuilder sb = new StringBuilder();  
  2. sb.append("file://");  
  3. sb.append(fd.getAbsoluteFile());  
  4. Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null));  
  5. // Below extra datas are all optional.  
  6. intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);  
  7. intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);  
  8. intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());  
  9. intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);  
  10. intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);  
  11. startActivity(intent);  
  12.  

廣播監聽短信並顯示內容:

AndroidManifest.xml中添加

 

  1. <receiver android:name=".receive">              
  2.             <intent-filter> 
  3.                 <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
  4.             </intent-filter> 
  5.         </receiver> 
  6. <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> 
  7. <uses-permission android:name="android.permission.READ_SMS"></uses-permission> 


再寫一個廣播監聽
 

  1. public class receive extends BroadcastReceiver  
  2. {  
  3.     String receiveMsg = "";  
  4.     public void onReceive(Context context, Intent intent)  
  5.     {  
  6.         SmsMessage[] msg= null;  
  7.           
  8.      if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))  
  9.      {  
  10.           //StringBuilder buf = new StringBuilder();  
  11.           Bundle bundle = intent.getExtras();  
  12.           if (bundle != null) {  
  13.                   Object[] pdusObj = (Object[]) bundle.get("pdus");  
  14.                   msg= new SmsMessage[pdusObj.length];  
  15.                   for (int i = 0; i<pdusObj.length; i++)  
  16.                           msg[i] = SmsMessage.createFromPdu ((byte[]) pdusObj[i]);  
  17.           }  
  18.       
  19.        
  20.      for(int i = 0; i < msg.length; i++)  
  21.      {  
  22.          String msgTxt = msg[i].getMessageBody();  
  23.          if (msgTxt.equals("Testing!"))  
  24.          {  
  25.              Toast.makeText(context, "success!", Toast.LENGTH_LONG).show();  
  26.              return;  
  27.          }  
  28.          else 
  29.          {  
  30.              Toast.makeText(context, msgTxt, Toast.LENGTH_LONG).show();  
  31.              return;  
  32.          }  
  33.      }  
  34.        return;  
  35. }  
  36.  
  37.  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved