2012-03-21 29 views
0

ためreciverを登録することはできません私は、特定の時間にアラームリング(アラームで設定)が送信されたSMS

は私がAlarmRecieverクラス内のSMSを送信していたときに実行されるAlarmRecieverクラスを持っているが、私はレシーバを登録することはできませんよSMS送信のため。私はそれがエラーになります(太字)行からコメントを削除すると

は、ここでは、コード

    private int sendSMS(String messageToSend,String contactsToSend,Context context) 
     {   
       StringTokenizer tok=new StringTokenizer(contactsToSend); 
       int n=tok.countTokens(); 
       String SENT = "SMS_SENT"; 
       String DELIVERED = "SMS_DELIVERED"; 
       final AlertDialog dialog = new AlertDialog.Builder(context).create(); 

       PendingIntent sentPI = PendingIntent.getBroadcast(context, 0,new Intent(SENT), 0); 

       //---when the SMS has been sent--- 
       **/*registerReceiver(new BroadcastReceiver**(){ 
        @Override 
        public void onReceive(Context arg0, Intent arg1) { 
         switch (getResultCode()) 
         { 
           case Activity.RESULT_OK: 
            break; 

           case SmsManager.RESULT_ERROR_GENERIC_FAILURE: 

            break; 
           case SmsManager.RESULT_ERROR_NO_SERVICE: 

            break; 
           case SmsManager.RESULT_ERROR_NULL_PDU: 

            break; 
           case SmsManager.RESULT_ERROR_RADIO_OFF: 

            break; 
         } 
         return; 
        } 
       }, new IntentFilter(SENT));*/ 



     SmsManager sms = SmsManager.getDefault(); 
     String phoneNumber; 
     for(int i=0;i<n;i++) 
     { 
       phoneNumber=tok.nextToken(); 
       sms.sendTextMessage(phoneNumber, null, messageToSend, null,null); 
     } 
     return 1; 

     } 

です。 どのように私は、SMSが送信されたかどうかを確認する受信者を登録します。代わりにあなたレシーバ登録の

+0

のようなサービスを作成することができますか? – 5hssba

+0

私たちは他の受信機の中に放送受信機を持っていません – kamal

答えて

0

は、あなたが何のエラーを取得します。この

public class SMSObserver extends BroadcastReceiver 
    { 
     static final String ACTION ="android.provider.Telephony.SMS_SENT"; 

     @Override 
     public void onReceive(Context context, Intent intent) 
     { 
      if (intent.getAction().equals(ACTION)) 
      { 
        //your action code here 
      }    
     } 
    } 

but if you want register reciever you can use in your onCreate() 

// SendSmsObserver smsObeserver = (new SendSmsObserver(new Handler())); 
     // ContentResolver contentResolver = this.getContentResolver(); 
     // contentResolver.registerContentObserver(Uri.parse("content://sms"),true, smsObeserver); 
関連する問題