Autore Topic: AlarmManager e riavvio telefono  (Letto 1133 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
AlarmManager e riavvio telefono
« il: 22 Febbraio 2011, 12:08:43 CET »
0
Ciao a tutti. Se non ho capito male, quando imposto un AlarmManager e riavvio il telefono questo viene cancellato Per ovviare a questo inconveniente dovrei utilizzare se non un Service quando meno un BrodcastRecevier che controlli il BOOT_COMPLETED (ditemi se sbaglio). La domanda, per quanto possa sembrare banale, è : ma per avviare il BrodcastReceiver devo prima avviare l'applicazione oppure no ? Perchè se l'utente riavvia il telefono ma non avvia la mia applicazione come cavolo faccio a far ripartire gli allarmi tramite il BrodcastReceiver ?? la domande è legittima oppure non ho capito un ciufolo di come funziona il Brodcast ?  :D

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:AlarmManager e riavvio telefono
« Risposta #1 il: 22 Febbraio 2011, 12:17:34 CET »
0
Se tu registri il tuo BR nel manifest viene chiamato anche se l'app non è attiva ;)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:AlarmManager e riavvio telefono
« Risposta #2 il: 22 Febbraio 2011, 12:32:19 CET »
0
davvero ? azz! e come fa ??? all'atto dell'installazione si memorizza quelle che usano un brodcastreceiver ? ingegnoso!!! :)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:AlarmManager e riavvio telefono
« Risposta #3 il: 22 Febbraio 2011, 12:35:29 CET »
0

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:AlarmManager e riavvio telefono
« Risposta #4 il: 22 Febbraio 2011, 12:38:14 CET »
0
Tecnicamente quello che fa all'atto dell'installazione è banalmente leggersi tutti gli intent-filter che hai messo nel manifest e registrarli.

Secondo te perchè vedi la tua applicazione nella Home del telefono? Ti ricorda nulla il:
Codice (XML): [Seleziona]
            <intent-filter . . . >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:AlarmManager e riavvio telefono
« Risposta #5 il: 22 Febbraio 2011, 12:50:35 CET »
0
Bhe ragazzi, ogni tanto anche android allora fa qualcosa di buono :D

Grazie ;)

PS: Ah!! ieri ho terminato l'about della mia applicazione e vi ho inserito nei ringraziamenti, spero vi faccia piacere ;)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:AlarmManager e riavvio telefono
« Risposta #6 il: 22 Febbraio 2011, 14:42:11 CET »
0
Scusate c'è qualcosa che non va...ecco il codice che ho usato :
Codice (Java): [Seleziona]
public class startNewAlarm extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
                if((intent.getAction()).equals(Intent.ACTION_BOOT_COMPLETED)){
                        ReadDB db = new ReadDB(context);
                        db.OpenDB();
                        Cursor cursor_boot = null;
                        initNewAlarm(db,cursor_boot,context);
                        initNewAlarm_SMS(db,cursor_boot,context);
                }
        }

e questo è il Manifest :
Codice (Java): [Seleziona]
 <receiver android:name="startNewAlarm">
        <intent-filter><action android:name="android.intent.action.BOOT_COMPLETED"></action></intent-filter>
    </receiver>

riavvio l'emulatore ma nono mi inizializza gli allarmi...pecccchè ? :(

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:AlarmManager e riavvio telefono
« Risposta #7 il: 22 Febbraio 2011, 15:01:15 CET »
0
Ne sei sicuro? Il codice è corretto.

P.S.: non ti aspettare che si fermi in debug eh, ancora non è partito il debugger di eclipse!

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:AlarmManager e riavvio telefono
« Risposta #8 il: 22 Febbraio 2011, 15:07:41 CET »
0
Certo Marco, salvo che io non sbagli a riavviare l'emulatore (per riavviare chiudo la finesta e lo rilancio credo vada bene no?) ma questo brodcastreceiver lo devo devo per caso richiamare in qualche modo oltre che nel Manifest ? o va luni in automatico ??

EDIT : Ho risolto, mi sono fatto visualizzare un Toast per il Debug e funziona quindi non entra in un IF che si trova nel metodo  initNewAlarm per questo non inizializza l'alarm :)