Hi Ehsan,

Answer is here :

package com.android.Sms;

import android.app.Activity;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.gsm.*;
import android.telephony.cdma.*;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class TSms extends Activity{
     Button btnSendSMS;
     EditText txtPhoneNo;
     EditText txtMessage;
     public ProgressDialog pd;

     private void sendSMS(String phoneNumber, String message)
     {
         String SENT = "SMS_SENT";
         String DELIVERED = "SMS_DELIVERED";

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

         PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
             new Intent(DELIVERED), 0);

         //---when the SMS has been sent---
         registerReceiver(new BroadcastReceiver(){
             @Override
             public void onReceive(Context arg0, Intent arg1) {
                 switch (getResultCode())
                 {
                 case Activity.RESULT_OK:
                     Toast.makeText(getBaseContext(), "SMS sent",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                     Toast.makeText(getBaseContext(), "Generic failure",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_NO_SERVICE:
                     Toast.makeText(getBaseContext(), "No service",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_NULL_PDU:
                     Toast.makeText(getBaseContext(), "Null PDU",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_RADIO_OFF:
                     Toast.makeText(getBaseContext(), "Radio off",
                             Toast.LENGTH_SHORT).show();
                     break;
             }
         }
     }, new IntentFilter(SENT));
       //---when the SMS has been delivered---
         registerReceiver(new BroadcastReceiver(){
             @Override
             public void onReceive(Context arg0, Intent arg1) {
                 switch (getResultCode())
                 {
                     case Activity.RESULT_OK:
                         Toast.makeText(getBaseContext(), "SMS delivered",
                                 Toast.LENGTH_SHORT).show();
                         break;
                     case Activity.RESULT_CANCELED:
                         Toast.makeText(getBaseContext(), "SMS not
delivered",
                                 Toast.LENGTH_SHORT).show();
                         break;
                 }
             }
         }, new IntentFilter(DELIVERED));


         SmsManager sms = SmsManager.getDefault();
         sms.sendTextMessage(phoneNumber, null, message, sentPI,
deliveredPI);
     }


  public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.tabviewsms);

     pd = new ProgressDialog(this);
     pd.setMessage("Continiue...");
     pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
     pd.setMax(100);
     pd.setIndeterminate(false);
     btnSendSMS = (Button)   findViewById(R.id.btnSendSMS);
        txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);
        txtMessage = (EditText) findViewById(R.id.txtMessage);

        btnSendSMS.setOnClickListener(new View.OnClickListener()
        {
     public void onClick(View v)
     {
     String phoneNo =  txtPhoneNo.getText().toString();
     String message =  txtMessage.getText().toString();


     if(phoneNo.length()>0 && message.length()>0)
     {
       sendSMS(phoneNo, message);
     }
    else
      Toast.makeText(getBaseContext(), "Error !!!",
Toast.LENGTH_SHORT).show();
    }
  });
     }
  }
<uses-permission android:name=*"android.permission.SEND_SMS"></
uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></
uses-permission>*
Best Regards
Fahrettin ATES


2012/8/1 Ehsan Sadeghi <[email protected]>

> How can I receive from certain numbers and only for them my app is started
> and how doesn't messages that app receive appear in the messaging built in?
>
> در دوشنبه 30 ژوئیهٔ 2012، ساعت 18:44:03 (UTC)، Ehsan Sadeghi نوشته:
>>
>> I write this code in manifest file :
>> <uses-sdk
>>         android:minSdkVersion="8"
>>         android:targetSdkVersion="15" />
>>
>>     <application
>>         android:icon="@drawable/ic_**launcher"
>>         android:label="@string/app_**name"
>>         android:theme="@style/**AppTheme" >
>>         <activity
>>             android:name=".MainActivity"
>>             android:label="@string/title_**activity_main" >
>>             <intent-filter>
>>                 <action android:name="android.intent.**action.MAIN" />
>>                 <category android:name="android.intent.**category.LAUNCHER"
>> />
>>             </intent-filter>
>>         </activity>
>>         <activity
>>             android:name=".Realstate"
>>             android:exported="false"
>>                        android:label="@string/title_**activity_main" >
>>             <intent-filter>
>>                 <action android:name="ir.smspeik.sms.**realstate" />
>>                 <category android:name="android.intent.**category.DEFAULT"
>> />
>>             </intent-filter>
>>         </activity>        <receiver android:name=".ReceiveSms"
>> android:exported="false">
>>             <intent-filter>
>>                 <action android:name="android.**provider.Telephony.SMS_**
>> RECEIVED"></action>
>>             </intent-filter>
>>         </receiver>
>>        </application>
>> <uses-permission android:name="android.**permission.SEND_SMS" />
>> <uses-permission  android:name="android.**permission.RECEIVE_SMS" />
>>
>> and this code in ReceiveSms :
>> *
>>
>> package
>> *
>>
>>  ir.smspeik.sms;
>>
>>  **
>> *
>>
>> 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* ReceiveSms *extends* BroadcastReceiver{
>>
>> @Override
>>
>> *public* *void* onReceive(Context context, Intent intent)
>>
>> {
>>
>> //---get the SMS message passed in---
>>
>> Bundle bundle = intent.getExtras();
>>
>> SmsMessage[] msgs =
>>
>> *null*;
>>
>> String str =
>>
>> "";
>>
>> *if* (bundle != *null*)
>>
>> {
>>
>> //---retrieve the SMS message received---
>>
>> Object[] pdus = (Object[]) bundle.get(
>>
>> "pdus");
>>
>> msgs =
>>
>> *new* SmsMessage[pdus.length];
>>
>> *for* (*int* i=0; i<msgs.length; i++){
>>
>> msgs[i] = SmsMessage.*createFromPdu*((
>>
>> *byte*[])pdus[i]);
>>
>> str +=
>>
>> "SMS from " + msgs[i].getOriginatingAddress(**);
>>
>> str +=
>>
>> " :";
>>
>> str += msgs[i].getMessageBody().**toString();
>>
>> str +=
>>
>> "\n";
>>
>> }
>>
>> //---display the new SMS message---
>>
>> Toast.*makeText*(context, str, Toast.
>>
>> *LENGTH_LONG*).show();
>>
>> }
>>
>> }
>>
>> }
>>
>> but when I send sms to emulator the application doesn't receive it and
>> builtin messaging get sms.
>>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to