2014-12-18 11 views
5

Mi chiedevo se qualcuno ha qualche esperienza con questo tipo di notifica.NotificationCompat e setFullScreenIntent()

Nel mio caso di utilizzo voglio attivare una notifica dal mio servizio e che dovrebbe aprire un video a schermo intero. Il metodo setFullScreenIntent sembra la cosa giusta per questo problema perché nella documentazione scrive:

Un intento di avvio invece di inviare la notifica alla barra di stato. Solo per l'uso con notifiche ad altissima priorità che richiedono l'attenzione immediata dell'utente, ad esempio una chiamata in arrivo o una sveglia che l'utente ha impostato in modo esplicito su un orario particolare.

Quindi dice che funziona come una telefonata in arrivo. Ciò significa che anche se il mio telefono è addormentato dovrei vedere la notifica a schermo intero.

Ma nel mio caso ottengo solo la notifica di testa a testa e se clicco su di essa si apre l'attività. Anche pensato nei documenti che menzionano qualcosa su questo comportamento ...

Su alcune piattaforme, il sistema di interfaccia utente può scegliere di visualizzare una notifica heads-up, invece di lanciare questo intento, mentre l'utente sta utilizzando il dispositivo .

... Voglio sapere come aprire automaticamente l'attività quando viene attivata la notifica. Proprio come la schermata della chiamata in arrivo.

Questo è il mio codice dal servizio:

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 


    Intent notificationIntent = new Intent("android.intent.category.LAUNCHER"); 
    intent.setClassName("com.example.test", 
      "com.example.test.VideoActivity"); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, notificationIntent, 0); 

    NotificationCompat.Builder mBuilder = 
       new NotificationCompat.Builder(this) 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setContentIntent(contentIntent) 
       .setContentTitle("Video") 
       .setContentText("Play video") 
       .setFullScreenIntent(contentIntent, true); 

    NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); 



    mNotificationManager.notify(0, mBuilder.build()); 

    return Service.START_STICKY; 
} 
+1

Hai mai trovare una soluzione a questo problema? – splangi

risposta

0

Provare a rimuovere

.setContentIntent(contentIntent) 
Problemi correlati