Autore Topic: Lanciare un Activity da una Notification  (Letto 986 volte)

Offline Nello

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Windows 7
Lanciare un Activity da una Notification
« il: 06 Novembre 2012, 11:02:13 CET »
0
Salve a tutti.
Vi spiego quello che vorrei fare. Nella mia app ho varie subActivity, una in particolare contiene una lista di oggetti che posso rimuovere e aggiungere dalle varie subActivity e dalla stessa. Ogni volta che creo un oggetto da inserire in questa lista mi compare una notifica. Cliccando sulla notifica mi dovrebbe apparire l'intera lista con tutti gli oggetti. Il problema è che quando clicco sulla notifica questa fa partire la subActivity, ma mi crea un nuovo oggetto che inserisce nella lista. Quello che vorrei io è che cliccando sulla notifica mi faccia vedere l'activity senza rilanciarla in modo che non mi crei altri oggetti.


Questo è il codice che ho provato a scrivere per fare in modo che l'Intent passato alla notifica mostrasse l'activity senza rilanciarla:
Codice (Java): [Seleziona]
Intent resumeDeviceList = new Intent(this, DeviceList.class);
resumeDeviceList.setAction(Intent.ACTION_MAIN);
resumeDeviceList.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent notifyIntent = PendingIntent.getActivity(this, 0, resumeDeviceList, 0);


Grazie in anticipo per eventuali consigli  :-)

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Lanciare un Activity da una Notification
« Risposta #1 il: 06 Novembre 2012, 11:31:01 CET »
0
hai due possibità, o fai in modo che l'activity lanciata dal pending intent sia singola (ma non credo ti vada bene)oppure aggiungi all'intent una variabile che verifichi nell'activity. se c'è ed ha un certo valore, non crei ma visualizzi solo
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nello

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Windows 7
Re:Lanciare un Activity da una Notification
« Risposta #2 il: 06 Novembre 2012, 11:42:45 CET »
0

aggiungi all'intent una variabile che verifichi nell'activity. se c'è ed ha un certo valore, non crei ma visualizzi solo

Scusa non riesco a capire in che modo visualizzarlo solamente. Comunque grazie mille per avermi risposto! Ci sono bloccato da un pò. Ho provato anche con il metodo
Codice (Java): [Seleziona]
Intent.setFlags() ma evidentemente lo uso in maniera errata

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Lanciare un Activity da una Notification
« Risposta #3 il: 06 Novembre 2012, 12:12:30 CET »
0
Scusa non riesco a capire in che modo visualizzarlo solamente. Comunque grazie mille per avermi risposto! Ci sono bloccato da un pò. Ho provato anche con il metodo
Codice (Java): [Seleziona]
Intent.setFlags() ma evidentemente lo uso in maniera errata
devi fare del codice custom! come hai del codice custom per creare oggetti ogni volta che si apre l'activity di nuovo!
all'intent ci aggiungi un extra: Intent | Android Developers
del tipo intent.putExtra("NOMEMIODELLAVARIABILE",true)
ora vado a "pseudocodice" per la tua subactivity:
Codice (Java): [Seleziona]
public void onCreate(){
//init
//crea nuovo elemento
//visualizza o crea le view con l'elemento nuovo

}

il codice deve diventare del tipo:
Codice (Java): [Seleziona]
public void onCreate(){
//init
boolean flag = intent.getBooleanExtra("NOMEMIODELLAVARIABILE",false)
if (flag) {
//crea il nuovo elemento e fai la notifica
}
else{
//visualizza e non creare il nuovo elemento
}
}

ci sono dei post nel forum sull'utilizzo di variabili negli intent!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nello

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Windows 7
Re:Lanciare un Activity da una Notification
« Risposta #4 il: 06 Novembre 2012, 12:22:06 CET »
0
Sisi! so come funzionano putExtra e getExtra. La cosa che non riesco a capire è cosa inserire nell' else. E' lì che sono bloccato

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Lanciare un Activity da una Notification
« Risposta #5 il: 06 Novembre 2012, 14:58:04 CET »
0
Sisi! so come funzionano putExtra e getExtra. La cosa che non riesco a capire è cosa inserire nell' else. E' lì che sono bloccato
li devi inserire la logica che visualizza i tuoi elementi (in una listview o in quello che vuoi!).
quella logica li, dipende da cosa vuoi mostrare! :D
ad esempio, se è una list view, li dentro ci va il popolamento dell'adapter per la listview!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nello

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S3
  • Sistema operativo:
    Windows 7
Re:Lanciare un Activity da una Notification
« Risposta #6 il: 06 Novembre 2012, 16:21:52 CET »
0
Ti chiedo un'altra cosa allora. Se nell' AndroidManifest.xml metto il tag android:launchMode="singleTask" in questo modo:
Codice (Java): [Seleziona]
<activity
                android:name=".DeviceList"
                android:launchMode="singleTask"
                android:label="@string/app_name"
                android:screenOrientation="portrait" />
non dovrebbe funzionare?

Grazie per la pazienza  :-)