Wydaje mi się że coś źle rozumiem, albo robię, tworzę aplikacje do wysyłania SMS-ów z telefonu android, stworzyłem funkcje:
private void sendSMS(final String phoneNumber, String message)
{
final String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
final Intent sent = new Intent(SENT);
int smsID = 0;
sent.putExtra("number", phoneNumber);
PendingIntent sentPI = PendingIntent.getBroadcast(this, smsID++, sent, PendingIntent.FLAG_UPDATE_CURRENT);
int smsID2 = 0;
Intent delivery = new Intent(DELIVERED);
delivery.putExtra("number", phoneNumber);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, smsID2++, delivery, PendingIntent.FLAG_UPDATE_CURRENT);
final String DEBUG_TAG = "junior";
//---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();
Log.d(DEBUG_TAG, "SMS Wysłany "+sent.getStringExtra("number"));
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();
Log.d(DEBUG_TAG, "SMS Dostarczony "+phoneNumber);
break;
}
}
}, new IntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
Funkcje wywołuje tak:
sendSMS("+48|||||||||", "SMS");
I nie wiedzieć czemu, przy wysłaniu jednego sms'a, Log.d działa jak należy, czyli (screen z LogCat):
jednak w momencie wywołania 3 razy numeru, czyli:
sendSMS("+48numer1", "message");
sendSMS("+48numer2","testowy sms");
sendSMS("+48numer3", "testowy");
(zamiast numer1, 2 i 3 są oczywiście istniejące numery telefonu)
pojawia się:
Kto mi odpowie skąd te powtórki i jak zaradzić, żeby się tylko raz pojawiało odnośnie jednego wysłania, bo mam wrażenie ze to przy każdym sms-ie wykonuje wszystkie numery. Stąd 3 razy powtórka wszystkiego. Ale co z tym zrobić?
Dodam, ze sms wysyła jeden na każdy numer...
Z góry dziękuje za pomoc i zainteresowanie tematem
Edit:
3ci screen na życzenie z komentarzy, czyli naciśniecie 3 razy przycisku wyślij przy jednym numerze:
- dziala3.png (36 KB) - ściągnięć: 308
- dziala.png (4 KB) - ściągnięć: 281
- dziala2.png (34 KB) - ściągnięć: 622