CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

alarmManager sveglia per android.

Se questa discussione ti č stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    25

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    alarmManager sveglia per android.

    Ciao a tutti,
    ho fatto una sveglia in android e funziona molto bene. L'unica cosa č che se l'applicazione č in background la sveglia suona lo stesso, ma non comparendo la finestra dell'applicazione, non č possibile disattivarla. Quindi vorrei sapere come richiamare l'applicazione al momento in cui alarmManager finisce l'attesa.

    Il codice da me usato č questo:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.alarm_page);
    ...
    ...
    public void startAlert(View view) {
    ...
    ...
    Intent intent = new Intent(this, MyBroadcastReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(this.getApplicationCont ext(), 234324243, intent, 0);
    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ millisecondi,5000, pendingIntent);
    Toast.makeText(this, "La sveglia suonerą fra " + millisecondi/1000/60/60 + "h "+ (millisecondi/1000/60)%60 + "m " + (millisecondi/1000)%60 + "s",Toast.LENGTH_LONG).show();



    e la classe MyBroadcastReceiver:

    public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    Toast.makeText(context, "sveglia!!!", Toast.LENGTH_LONG).show();
    Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE) ;
    vibrator.vibrate(2000);
    }
    }


    Sapete cosa posso fare per far "svegliare" l'applicazione?

    grazie
    Mattia
    Ultima modifica di Matti111; 20-10-11 alle 19:36

  2.  
  3. #2
    Senior Droid L'avatar di dhalia


    Registrato dal
    Oct 2010
    Messaggi
    314

    Ringraziamenti
    3
    Ringraziato 27 volte in 26 Posts
    Predefinito

    Vedi quel context che hai li nel receiver?

    context.getActivity(....) e chiami l'activity che ti interessa
    My School Manager: per Genitori e Alunni
    Memory il gioco di quando eri bambino
    Yummes WallPaper un simpatico wallpaper

    My WebSite:
    AlchemiaAndroid

    My Blog:
    AlchemiaSoft

  4. #3
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    25

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    Grazie,
    si ho risolto inserendo 2 pendingIntent. Uno .getActivity che mi richiama l'activity e me la fa visualizzare sullo schermo.

    l'altro .getBroadcast che fa partire la vibrazione.



  5. #4
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    25

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    Ciao,
    vorrei sapere se posso implementare un BroadcastReceiver nella stessa activity da cui lo chiamo senza creare una nuova classe. Questo mi servirebbe perchč devo prendere dei dati e utilizzare delle funzioni che ho gią nell'activity.

    Mi sapreste dare un esempio di codice di come si dichiara e di cosa devo inserire nel manifest?

    Io ho inserito questo ma non ma AggiornamentoAutomatico non parte



    codice:
    public class PaginaFinale extends Activity{
            public class AggiornamentoAutomatico extends BroadcastReceiver  {
                            @Override
                            public void onReceive(Context context, Intent intent) {
                                    //eseguo quello che devo eseguire
                            }                                
            }
    protected void onCreate(Bundle savedInstanceState) {
                    ....
                    aggiornamento = new Intent(context, PaginaFinale.AggiornamentoAutomatico.class);
                    pendingIntent_aggiornamento_automatico = PendingIntent.getBroadcast(context, 234324243, aggiornamento, PendingIntent.FLAG_UPDATE_CURRENT);
                    alarmManager3 = (AlarmManager) getSystemService(ALARM_SERVICE);
                    alarmManager3.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ 5000, pendingIntent_aggiornamento_automatico);

    grazie
    Mattia
    Ultima modifica di Matti111; 01-11-11 alle 10:24

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy