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