Per avviare un servizio, utilizzo un AlarmManager
. Quando ho impostato il AlarmManager
io uso il PendingIntent
e utilizzare un codice di richiesta univoco che è uguale a una riga id nel mio database.PendingIntent get requestCode
PendingIntent pendingIntent = PendingIntent.getBroadcast(SettingsActivity.this,
lecture.getId(), myIntent, 0);
Come posso recuperare quell'ID nel mio servizio quando viene avviato? Fondamentalmente ho bisogno solo del parametro requestCode. Voglio usare quell'ID per recuperare i dati dal mio database e mostrarli in una notifica. Ho implementato tutte le cose, ho solo bisogno di quel requestCode. È possibile averlo?
Grazie
Ma ho bisogno di quell'ID anche quando l'app viene uccisa. Quando un'app viene uccisa, i dati aggiuntivi vengono eliminati. Come posso ottenere i dati necessari dal database sul servizio quando l'id negli extra sarà nullo? O mi sbaglio? – Aksiom
@Aksiom il 'PendingIntent' quando viene licenziato avrà l'extra, non ha nulla a che fare con il processo di essere ucciso,' PendingIntent' è una sorta di intent che funziona indipendentemente dall'app, anche se la tua app non è in esecuzione !! –
@Aksiom ma quando il dispositivo viene avviato (riavviato) 'PendingIntent' verrà rimosso così ** all'avvio ** devi registrare nuovamente il' PendingIntent' con 'AlarmManager' –