2014-05-23 13 views
6

io sono principiante in android.i creare un servizio per mostrare una notifica quando onCreat su mainActivity chiamatoCome mostrare una notifica anche applicazione non è in esecuzione

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Intent a = new Intent(this,myService.class); 
     startService(a); 
    } 

} 

qui è la mia classe di servizio

public class myService extends Service{ 
    private NotificationManager mManager; 

@Override 
    public void onCreate() { 

    mManager = (NotificationManager) this.getApplicationContext().getSystemService(this.getApplicationContext().NOTIFICATION_SERVICE); 
     Intent intent1 = new Intent(this.getApplicationContext(),MainActivity.class); 

     Notification notification = new Notification(R.drawable.ic_launcher,"This is a test message!", System.currentTimeMillis()); 
     intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_CLEAR_TOP); 

     PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this.getApplicationContext(),0, intent1,PendingIntent.FLAG_UPDATE_CURRENT); 
     notification.flags |= Notification.FLAG_AUTO_CANCEL; 
     notification.setLatestEventInfo(this.getApplicationContext(), "AlarmManagerDemo", "This is a test message!", pendingNotificationIntent); 

     mManager.notify(0, notification); 
} 

ma voglio se la mia app non è in esecuzione posso mostrare questo servizio per esempio se il mio tempo di telefono è più grande di 9 io mostro questa notifica solo una volta al giorno.anche idee? grazie in anticipo

risposta

1
  1. Non si vuole mostrare le notifiche mentre la vostra applicazione è in esecuzione. Questo è solo fastidioso e ha (di solito) nessun punto. Ci sono ovviamente delle eccezioni.

  2. Se si desidera visualizzare una notifica in un momento specifico, è necessario prendere in considerazione l'uso di AlarmManager.

  3. Se si desidera attivare la notifica da un server o altrove, utilizzare Google Cloud Messaging.

Problemi correlati