2011-07-27 16 views
8
package com.test.app; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 

public class runOnBoot extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 

      NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
    } 
} 

Cuando intento para construir el paquete, que dice¿No puede encontrar el símbolo NOTIFICATION_SERVICE?

compile: 
    [javac] Compiling 2 source files to /home/mrburns/Desktop/myapp/bin/classes 
    [javac] /home/mrburns/Desktop/myapp/src/com/test/app/runOnBoot.java:14: cannot find symbol 
    [javac] symbol : variable NOTIFICATION_SERVICE 
    [javac] location: class runOnBoot 
    [javac]   NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
    [javac]                       ^
    [javac] 1 error 

BUILD FAILED 

Respuesta

9

Ésta debe ser Context.NOTIFICATION_SERVICE:

NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 
-1

Usted debe tratar mejor esta

NotificationManager nm = (NotificationManager)getSystemService(getApplicationContext().NOTIFICATION_SERVICE); 
+0

NOTIFICATION_SERVICE es un "public static final String". No necesita ninguna instancia de 'Contexto' para usarlo. – Shlublu

+0

se puede acceder de ambas formas :) Si está mostrando la notificación en Cualquier servicio web que no esté en actividad, entonces no tiene el Contexto con usted :) – Shah

+0

No necesita ninguna instancia de Contexto. Usted lo llama estadísticamente desde la clase Contexto. – Shlublu

24

encontré llamando a este la forma funciona:

NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
0
NotificationManager mNotifyMgr = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
+0

Además de su código, agregue texto para explicar por qué funciona su respuesta o cómo es diferente de las respuestas anteriores. – buczek

Cuestiones relacionadas