2013年8月28日 星期三

[TQC+ Android]接收簡訊_304

Android 2.1 API 7 版本原始題目載點:http://db.tt/FV8IPpEf

僑光科技大學 蔡存孝老師 解說參考:http://rs2.ocu.edu.tw/~tsay/files/304.png

AndroidManifest.xml設定
Permissions裡 "add" (User Permissions) Name = android.permission.RECEIVE_SMS
Application裡 "add" (Receiver) Name = GDA03_SM_Receiver 再 "add" Intent Filter 再 "add" (Action) Name =  android.provider.Telephony.SMS_RECEIVED

GDD03_SM_Receiver - BroadcastReceiver

package COM.TQC.GDD03 ;

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;



public class GDD03_SM_Receiver extends BroadcastReceiver 
{ 
   
 
  
  @Override 
  public void onReceive(Context context, Intent intent) 
  { 
    // TODO Auto-generated method stub 
    
     String str="";
     Bundle bundle = intent.getExtras();
     Object[] pdus=(Object[])bundle.get("pdus");
     SmsMessage[] m = new SmsMessage[pdus.length];
     for(int i=0; i < pdus.length; ++i) {
      m[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
      str+="接收來電>\n";
      str+=m[i].getDisplayOriginatingAddress();
      str+="\n---簡訊內容---\n";
      str+=m[i].getMessageBody();
     }
     Toast.makeText(context, str, Toast.LENGTH_LONG).show();
     
     Intent intent2 = new Intent(context, GDD03.class);
     intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     context.startActivity(intent2);
   
   
   
   
   
   
  } 
}

沒有留言:

張貼留言