Autore Topic: PendingIntent?  (Letto 2277 volte)

Offline Marcox

  • Utente junior
  • **
  • Post: 56
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
PendingIntent?
« il: 16 Agosto 2012, 09:39:04 CEST »
0
Ciao a tutti! parto subito con il dire che sono nuovo nel forum e nel mondo della programmazione...
ho iniziato seguendo qualche tutorial e adesso ho creato un applicazione per l invio di SMS... l applicazione funziona perfettamente ma non riesco a capire cosa sia e a cosa servi il PendingIntent... posto il codice java...


Codice (Java): [Seleziona]
import android.os.Bundle;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class ActivityIniziale extends Activity {
        Button bsend;
        EditText contact;
        EditText message;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_activity_iniziale);
        bsend = (Button) findViewById(R.id.bsend);
        contact = (EditText) findViewById(R.id.contact);
        message = (EditText) findViewById(R.id.message);
        bsend.setOnClickListener(new View.OnClickListener() {
                       
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                String phoneNumber = contact.getText().toString();
                                String messageText = message.getText().toString();
                                if (phoneNumber.length()>0 && messageText.length()>0)
                                                sendSMS(phoneNumber, messageText) ;
                        }
                });
    }

        protected void sendSMS(String phoneNumber, String messageText) {
                // TODO Auto-generated method stub
                PendingIntent pi = PendingIntent.getActivity(this, 0,
                    new Intent(this, ActivityIniziale.class), 0);                
                SmsManager sms = SmsManager.getDefault();
                sms.sendTextMessage(phoneNumber, null, messageText, pi, null);
        }

}

grazie in anticipo  ;-)

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
R: PendingIntent?
« Risposta #1 il: 16 Agosto 2012, 16:14:29 CEST »
0
Lo hai scoperto? Vorrei capirlo anche io.

Inviato dal mio Galaxy Nexus con Tapatalk 2

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:PendingIntent?
« Risposta #2 il: 16 Agosto 2012, 18:13:35 CEST »
0
Se il problema è il PendingIntent...

Codice (Java): [Seleziona]
                PendingIntent pi = PendingIntent.getActivity(this, 0,
                    new Intent(this, ActivityIniziale.class), 0);                
                SmsManager sms = SmsManager.getDefault();
                sms.sendTextMessage(phoneNumber, null, messageText, pi, null);

copio e incollo dirrettamente dalla documentazione della funzione:
SmsManager | Android Developers

Citazione
if not NULL this PendingIntent is broadcast when the message is sucessfully sent, or failed. The result code will be Activity.RESULT_OK for success, or one of these errors: RESULT_ERROR_GENERIC_FAILURE RESULT_ERROR_RADIO_OFF RESULT_ERROR_NULL_PDU.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Marcox

  • Utente junior
  • **
  • Post: 56
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
Re:PendingIntent?
« Risposta #3 il: 16 Agosto 2012, 18:55:55 CEST »
0
non è che ci abbia capito gran che di quello che hai scritto...  :-(

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:PendingIntent?
« Risposta #4 il: 16 Agosto 2012, 22:28:40 CEST »
0
non è che ci abbia capito gran che di quello che hai scritto...  :-(

Probabilmente gli Intent non ti sono molto familiari. Essenzialmente vuol dire che quando il sistema ha inviato il messaggio, avvisa la tua Activity con il PendingIntent che hai definito. Se leggi qualcosa sugli Intent dovrebbe risultarti tutto molto piú chiaro.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Marcox

  • Utente junior
  • **
  • Post: 56
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
Re:R: PendingIntent?
« Risposta #5 il: 17 Agosto 2012, 09:37:54 CEST »
0
Lo hai scoperto? Vorrei capirlo anche io.
allora in pratica se non ho capito male in questo caso il pending intent serve a far tornare l applicazione al suo stato originale dopo che il messaggio è stato inviato... correggetemi se sbaglio...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:R: PendingIntent?
« Risposta #6 il: 17 Agosto 2012, 10:12:55 CEST »
0
allora in pratica se non ho capito male in questo caso il pending intent serve a far tornare l applicazione al suo stato originale dopo che il messaggio è stato inviato... correggetemi se sbaglio...

No, serve a comunicare alle tua activity che l'operazione è stata conclusa, cioè che il messaggio è stato inviato.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline andexp

  • Utente junior
  • **
  • Post: 60
  • Respect: 0
    • Mostra profilo
R: PendingIntent?
« Risposta #7 il: 26 Agosto 2012, 16:31:06 CEST »
0
Non capisco gli argomenti di pendingintent in particolare quel this.

Inviato dal mio Galaxy Nexus con Tapatalk 2

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:PendingIntent?
« Risposta #8 il: 26 Agosto 2012, 17:13:12 CEST »
0
Non capisco gli argomenti di pendingintent in particolare quel this.

Inviato dal mio Galaxy Nexus con Tapatalk 2

In questi casi basta guardare la documentazione!

http://developer.android.com/reference/android/app/PendingIntent.html#getActivity(android.content.Context, int, android.content.Intent, int)