2015-08-31 4 views
8

Sto tentando di creare un PendingIntent in Android. Ecco il codiceErrore PendingIntent (deve essere uno o più dei seguenti: PendingIntent.FLAG_ONE_SHOT ... ..)

mNotificationIntent = new Intent(getApplicationContent(), MyAlarm.class); 
mContentIntent = PendingIntent.getActivity(getApplicationContext(), 
        0, mNotificationIntent, Intent.FLAG_ACTIVITY_NEW_TASK); 

e sto ottenendo il seguente errore:

Must be one or more of: PendingIntent.FLAG_ONE_shot,PendingIntent.FLAG_NO_CREATE, 
     PendingIntent.FLAG_UPDATE_CURRENT, 
     Intent.FILL_IN_ACTION, Intent.FILL_IN_DATA, Intent.FILL_IN_CATEGORIES…..) 

Perché è questo che mostra l'errore? Come risolvere questo? Per favore aiuto. Grazie.

+0

perché? hai letto 'PendingIntent # getActivity (Contesto contesto, int requestCode, Intent intent, int flags)' javadocs? – pskink

+1

@pskink Il PendingIntent # getActivity javadoc non è chiaro: ci sono due intenti coinvolti, ciascuno con i propri flag (?), E javadoc è un po 'ambiguo su quale intento è quello di avere il set Intent.FLAG_ACTIVITY_NEW_TASK. – pvbemmelen62

risposta

13

Si sta passando Intent.FLAG_ACTIVITY_NEW_TASK quando la chiamata al metodo prevede un flag PendingIntent. Se si desidera aggiungere alla vostra Intent.FLAG_ACTIVITY_NEW_TASKIntent, è necessario fare in questo modo:

mNotificationIntent = new Intent(getApplicationContent(), MyAlarm.class); 
mNotificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
mContentIntent = PendingIntent.getActivity(getApplicationContext(), 
       0, mNotificationIntent, 0);