Autore Topic: Notifica non parte  (Letto 1017 volte)

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Notifica non parte
« il: 12 Dicembre 2010, 16:23:08 CET »
0
Questo è il codice:
Codice (Java): [Seleziona]
Calendar c=new GregorianCalendar();
        if(c.get(Calendar.DAY_OF_WEEK)==7){
       
         String ns = Context.NOTIFICATION_SERVICE;
     mNotificationManager = (NotificationManager) getSystemService(ns);
     
     int icon = android.R.drawable.stat_notify_chat;
     CharSequence tickerText = "Questo è il tickerText";
     long when = System.currentTimeMillis();
     Notification notification = new Notification(icon, tickerText, when);
     
     Context context = getApplicationContext();
     CharSequence contentTitle = "Titolo notifica";
     CharSequence contentText = "Testo notifica";
     Intent notificationIntent = new Intent(this, AddMatch.class);
     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
     notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);


     mNotificationManager.notify(NOTIFICATION_ID, notification);
        }
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Notifica non parte
« Risposta #1 il: 13 Dicembre 2010, 20:36:09 CET »
0
ciao andorider, potresti postare anche l'AndroidManifest.xml

Potresti postare anche la classe AddMatch ed il file main.xml

Grazie
« Ultima modifica: 13 Dicembre 2010, 21:18:15 CET da davidelib »

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Notifica non parte
« Risposta #2 il: 13 Dicembre 2010, 21:30:22 CET »
0
oggi è lunedì

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Notifica non parte
« Risposta #3 il: 13 Dicembre 2010, 21:41:48 CET »
0
oggi è lunedì
l'ho provato ieri..
Ecco il manifest
Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.ananapp"
      android:versionCode="1"
      android:versionName="1.0" >
    <application android:icon="@drawable/iconacartellini" android:label="@string/app_name">
      <activity android:label="@string/app_name" android:name=".Home" >          
       
                        <intent-filter>
                                <action android:name="android.intent.action.MAIN" />
                                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            </activity>
        <activity android:name="AddMatch"></activity>
        <activity android:name="Stat"></activity>
        <activity android:name="AboutActivity"></activity>
        <activity android:name="Query"></activity>
        <activity android:name="Profile"></activity>
        <activity android:name="SingleMatch"></activity>
        <activity android:name="Preferences"></activity>
        <activity android:name="ListMatch"></activity>
        <activity android:name="LicenseCheck"></activity>
         
    </application>

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
</manifest>
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Notifica non parte
« Risposta #4 il: 13 Dicembre 2010, 22:48:52 CET »
0
Allora io ho risolto così:

Codice (Java): [Seleziona]
public class NomeClasse extends Activity {
        private static final int NOTIFICATION_ID = 1;
        NotificationManager mNotificationManager;
       
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);              
 
               Calendar c=new GregorianCalendar();
                if(c.get(Calendar.DAY_OF_WEEK)==2){
                invia(this);
                }
        }
        public void invia(NomeClasse tutorialNotification) {
               
                        String ns = Context.NOTIFICATION_SERVICE;
                        mNotificationManager = (NotificationManager) getSystemService(ns);
                       
                        int icon = android.R.drawable.stat_notify_chat;
                        CharSequence tickerText = "Questo è il tickerText";
                        long when = System.currentTimeMillis();
                        Notification notification = new Notification(icon, tickerText, when);
                       
                        Context context = getApplicationContext();
                        CharSequence contentTitle = "Titolo della mia notifica";
                        CharSequence contentText = "Testo della mia notifica";
                        Intent notificationIntent = new Intent(this, NomeClasse.class);
                        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
                        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
                     
                        mNotificationManager.notify(NOTIFICATION_ID, notification);

               }
}


questa riga

Codice (Java): [Seleziona]
 if(c.get(Calendar.DAY_OF_WEEK)==2)
indica che se è lunedì viene inviata la notifica.

3=martedì
4=mercoledì
e cosi via...


a me funziona...fammi sapere se vale anche per te...


Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Notifica non parte
« Risposta #5 il: 13 Dicembre 2010, 22:57:08 CET »
0
ah ecco praticamente adesso va anche sul mio codice, il problema è che la domenica non è il 7 come giorno, bensi il primo..
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Notifica non parte
« Risposta #6 il: 13 Dicembre 2010, 23:01:38 CET »
0
Visto che hai dimestichezza spiegami un ultima cosa..in questo modo la notifica parte ogni volta apro la classe AddMatch di domenica..se invece io volessi farla apparire una sola volta e senza il bisogno che sia aperta l'applicazione? Magari voglio che la notifica avvenga alle 15:00 di ogni domenica..su quali parametri devo lavorare?
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Notifica non parte
« Risposta #7 il: 13 Dicembre 2010, 23:25:12 CET »
0
Evitiamo doppi post. Se devi fare delle modifiche usa il tasto "modifica".

Comunque per fare quello che ti serve:

AlarmManager | Android Developers

Ci sono molti tutorial a riguardo, non dovresti avere problemi.

Ti consiglio di usare, per motivi di efficienza, il metodo setInexactRepeating
« Ultima modifica: 13 Dicembre 2010, 23:30:33 CET da Ricky` »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Notifica non parte
« Risposta #8 il: 13 Dicembre 2010, 23:27:38 CET »
0
Le cose si complicano: devi chiedere all'AlarmManager di inviarti un intent la domenica alle 15.00, e questo glielo devi dire ad ogni avvio del telefono. Naturalmente devi anche gestire la cattura di quell'intent e generare l'opportuna notifica.

C'hai da leggere un bel po' di documentazione :D

EDIT
Off-Topic:
Come al solito Ricky` mi anticipa di qualche minuto (mentre scrivo la risposta  >:()
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Notifica non parte
« Risposta #9 il: 13 Dicembre 2010, 23:47:22 CET »
0
Invece una soluzione del genere:
Codice (Java): [Seleziona]
Calendar c=new GregorianCalendar();
        if((c.get(Calendar.DAY_OF_WEEK)==1) && (c.get(Calendar.HOUR_OF_DAY)==17)){
       
        ...notifica...
        }

Mi da la notifica alle 5 di domenica. L'unica cosa da risolvere è che la notifica parte al lancio di una determinata activity mentre io vorrei che partisse indipendentemente dall'applicazione, anche se questa fosse in background.
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Notifica non parte
« Risposta #10 il: 13 Dicembre 2010, 23:49:23 CET »
0
Le cose si complicano: devi chiedere all'AlarmManager di inviarti un intent la domenica alle 15.00, e questo glielo devi dire ad ogni avvio del telefono. Naturalmente devi anche gestire la cattura di quell'intent e generare l'opportuna notifica.

C'hai da leggere un bel po' di documentazione :D
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Notifica non parte
« Risposta #11 il: 13 Dicembre 2010, 23:57:53 CET »
0
Credo proprio che mandare l'app in background sia da evitare, nessuno mai scaricherebbe un'applicazione che gira eternamente in background...aspettando la domenica. :-P

Come ti è stato consigliato da JD e Ricky devi lavorare sull'AlarmManager

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Notifica non parte
« Risposta #12 il: 14 Dicembre 2010, 00:03:42 CET »
0
ok grazie dell'aiuto, mi documenterò.
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

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:Notifica non parte
« Risposta #13 il: 14 Dicembre 2010, 10:11:40 CET »
+1
Ultimo consiglio: mai, e dico mai, ed intendo MAI usare manualmente i valori delle costanti.


Calendar (Java 2 Platform SE 5.0)


Calendar (Java 2 Platform SE 5.0)

ecc...