2015-08-31 4 views
8

Ich versuche, ein PendingIntent in Android zu erstellen. Hier ist der CodePendingIntent Fehler (Eines oder mehrere von: PendingIntent.FLAG_ONE_SHOT ... ..)

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

und ich erhalte den folgenden Fehler:

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…..) 

Warum ist dieser Fehler angezeigt? Wie löst man das? Bitte helfen Sie. Vielen Dank.

+0

warum? Hast du 'PendingIntent # getActivity' gelesen (Kontext Kontext, int requestCode, Intent intent, int Flags) 'javadocs? – pskink

+1

@pskink Das PendingIntent # getActivity-Javadoc ist unklar: Es gibt zwei Absichten, die jeweils eigene Flags (?) Haben, und das Javadoc ist ein wenig mehrdeutig, über welche Absicht Intent.FLAG_ACTIVITY_NEW_TASK gesetzt werden soll. – pvbemmelen62

Antwort

13

Sie übergeben Intent.FLAG_ACTIVITY_NEW_TASK, wenn der Methodenaufruf einen PendingIntent Flag erwartet. Wenn Sie Intent.FLAG_ACTIVITY_NEW_TASK zu Ihrem Intent hinzufügen möchten, müssen Sie es wie dies zu tun:

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