Autore Topic: AlertDialog.  (Letto 790 volte)

Offline vincecarrino

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • vincecarrino
    • Mostra profilo
  • Dispositivo Android:
    Galasy SII
AlertDialog.
« il: 01 Febbraio 2014, 23:23:27 CET »
0
Salve a tutti sono all'inizio della realizzazione di un progetto che quando avvio una chiamata mi deve comparire un messaggio che mi chiede se inserire un prefisso o no.
Io ho scopiazzato di qua e di la il codice qui di seguito riportato:

import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
public class OutgoingCallReceiver extends BroadcastReceiver {
   
    public static final String ABORT_PHONE_NUMBER = "1231231234";
    private static final String OUTGOING_CALL_ACTION = "android.intent.action.NEW_OUTGOING_CALL";
    private static final String INTENT_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER";
   
   
    @Override
    public void onReceive(final Context context, final Intent intent) {

       Log.v(Constants.LOGTAG, "OutgoingCallReceiver onReceive");
        if (intent.getAction().equals(OutgoingCallReceiver.OUTGOING_CALL_ACTION)) {
            Log.v(Constants.LOGTAG, "OutgoingCallReceiver NEW_OUTGOING_CALL received");

            // get phone number from bundle
            String phoneNumber = intent.getExtras().getString(OutgoingCallReceiver.INTENT_PHONE_NUMBER);
            if ((phoneNumber != null) && phoneNumber.equals(OutgoingCallReceiver.ABORT_PHONE_NUMBER)) {
                       
                         
               
               
                         Toast.makeText(context, "NEW_OUTGOING_CALL intercepted to number 123-123-1234 - aborting call",
                    Toast.LENGTH_LONG).show();
                      abortBroadcast();
            }
        }
    }

   protected Context getApplicationContext() {
      // TODO Auto-generated method stub
      return null;
   }
}

   

Io al posto del "toast" vorrei inserire un alertdialog con due tasti.
Qualcuno mi saprebbe dare una mano?

grazie
by vincecarrino

Offline MasterChief

  • Utente junior
  • **
  • Post: 83
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    OnePlus X
  • Sistema operativo:
    windows 10
Re:AlertDialog.
« Risposta #1 il: 02 Febbraio 2014, 09:15:43 CET »
0
un esempio base di alert dialog può essere questo
Codice (Java): [Seleziona]
new AlertDialog.Builder(this)
    .setTitle("MyAlertDialog") //cambialo come vuoi
    .setMessage("MyMessage") //cambia in base a ciò che vuoi mostrare
    .setPositiveButton("Nome_Bottone_1", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // cosa deve fare se clicca bottone1
        }
     })
    .setNegativeButton("Nome_bottone_2", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // Cosa fare se clicca bottone2
        }
     })
     .show();

Offline vincecarrino

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • vincecarrino
    • Mostra profilo
  • Dispositivo Android:
    Galasy SII
Re:AlertDialog.
« Risposta #2 il: 02 Febbraio 2014, 10:37:41 CET »
0
mi da un problema sul "this", non va:
new AlertDialog.Builder(this)
by vincecarrino

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:AlertDialog.
« Risposta #3 il: 02 Febbraio 2014, 10:49:18 CET »
0
mi da un problema sul "this", non va:
new AlertDialog.Builder(this)

Probabilmente perchè non sei dentro la activity, ma nel receiver. Quello che puoi fare è usare le notifiche oppure lanciare una activity. Non credo si possa creare una alertdialog solitaria senza activity padre.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline vincecarrino

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • vincecarrino
    • Mostra profilo
  • Dispositivo Android:
    Galasy SII
Re:AlertDialog.
« Risposta #4 il: 02 Febbraio 2014, 10:53:11 CET »
0
Immaginavo che fosse questo...
Avevo pensato ad una seconda activity....
Ora studio...
by vincecarrino

Offline vincecarrino

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • vincecarrino
    • Mostra profilo
  • Dispositivo Android:
    Galasy SII
Re:AlertDialog.
« Risposta #5 il: 03 Febbraio 2014, 22:29:36 CET »
0
Nel  public class OutgoingCallReceiver extends BroadcastReceiver {.......
 
ho provato ad inserire queste righe di codice per aprire l'activity "diretto"

Intent in = new Intent(context,diretto.class);
context.startActivity(in);

però mi va in crash.

Mi sapete dare una mano per risolvere il problema?
by vincecarrino

iClaude

  • Visitatore
Re:AlertDialog.
« Risposta #6 il: 04 Febbraio 2014, 15:41:54 CET »
0
Prova a sostituire
Intent in = new Intent(context,diretto.class);

Con
Intent in = new Intent(context.getApplicationContext(),diretto.class);

Offline vincecarrino

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • vincecarrino
    • Mostra profilo
  • Dispositivo Android:
    Galasy SII
Re:AlertDialog.
« Risposta #7 il: 04 Febbraio 2014, 22:47:27 CET »
0
Non va ci ho provato, mi continua ad andare in crash
by vincecarrino