2013-03-11 3 views
1

Je suis très nouveau à android et j'ai un client de GCM et un serveur qui fonctionne très bien. Lorsque l'application est en cours d'exécution, j'obtiens la notification du serveur. Mais lorsque l'application n'est pas en cours d'exécution, je n'ai reçu aucune réponse.Le gestionnaire de notification ne montre aucune sorte de notification

Voici le code que j'utilise pour les notifications générant:

private void generateNotification(Context context, String message) { 
     int icon = 1; 
     long when = System.currentTimeMillis(); 

     NotificationManager notificationManager = (NotificationManager) 
       context.getSystemService(Context.NOTIFICATION_SERVICE); 
     Notification notification = new Notification(icon, message, when); 
     String title = context.getString(R.string.app_name); 
     Intent notificationIntent = new Intent(context, DemoActivity.class); 
     // set intent so it does not start a new activity 
     notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
       Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     PendingIntent intent = 
       PendingIntent.getActivity(context, 0, notificationIntent, 0); 
     notification.setLatestEventInfo(context, title, message, intent); 
     notification.flags |= Notification.FLAG_AUTO_CANCEL; 
     notificationManager.notify(0, notification); 
    } 

qui est appelé par:

@Override 
    protected void onMessage(Context context, Intent intent) { 
     generateNotification(context, "Tock Tock"); 
    } 

quand je vois le logcat je reçois une erreur comme ceci:

Unable to find resource: 1 
W/ImageView( 58): android.content.res.Resources$NotFoundException: Resource ID #0x1 
W/ImageView( 58):  at android.content.res.Resources.getValue(Resources.java:892) 
W/ImageView( 58):  at android.content.res.Resources.getDrawable(Resources.java:580) 
W/ImageView( 58):  at android.widget.ImageView.resolveUri(ImageView.java:489) 
W/ImageView( 58):  at android.widget.ImageView.onMeasure(ImageView.java:592) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
W/ImageView( 58):  at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:696) 
W/ImageView( 58):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:306) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
W/ImageView( 58):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
W/ImageView( 58):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
W/ImageView( 58):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
W/ImageView( 58):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
W/ImageView( 58):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
W/ImageView( 58):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
W/ImageView( 58):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
W/ImageView( 58):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:989) 
W/ImageView( 58):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
W/ImageView( 58):  at android.widget.ScrollView.onMeasure(ScrollView.java:286) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
W/ImageView( 58):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
W/ImageView( 58):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
W/ImageView( 58):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
W/ImageView( 58):  at android.view.View.measure(View.java:8171) 
W/ImageView( 58):  at android.view.ViewRoot.performTraversals(ViewRoot.java:801) 
W/ImageView( 58):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 
W/ImageView( 58):  at android.os.Handler.dispatchMessage(Handler.java:99) 
W/ImageView( 58):  at android.os.Looper.loop(Looper.java:123) 
W/ImageView( 58):  at com.android.server.ServerThread.run(SystemServer.java:506) 

Je ne sais pas où je fais l'erreur. Je suis l'exemple de tutoriel de here.

Merci d'avance.

Répondre

1

Le problème est avec int icon = 1;.

Vous devez y ajouter un identifiant de ressource réel, il sera donc affiché dans la barre de notification. Vous obtenez le Resources$NotFoundException car aucune ressource trouvée avec l'ID 1.

Par exemple, si vous mettez une image appelée xyz.png dans le dossier res/drawable, id de l'image sera R.drawable.xyz qui peut être appelé à partir du code comme:

int icon = R.drawable.xyz; 
Questions connexes