2013-03-05 127 views
0

在Android中,我實現了Google Cloud Notification,該通知在任何消息到達時通知,但即使消息存在,通知欄中也會顯示圖標,安裝應用程序後立即顯示圖標,有沒有隻有當消息到達時才顯示通知並在用戶點擊它時隱藏它?只有當消息到達時才顯示Android通知

這裏是我的代碼:

private static void generateNotification(Context context, String message) { 
    int icon = R.drawable.ic_launcher; 
    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, MainActivity.class);   //Open Activity 
    // set intent so it does not start a new activity 

    Intent notificationIntent = new Intent(Intent.ACTION_VIEW); 

    notificationIntent.setData(Uri.parse("http://www.google.com"));     //Open Link 

    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; 

    // Play default notification sound 
    notification.defaults |= Notification.DEFAULT_SOUND; 

    //notification.sound = Uri.parse("android.resource://" + context.getPackageName() + "your_sound_file_name.mp3"); 

    // Vibrate if vibrate is enabled 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 
    notificationManager.notify(0, notification);  

} 
+0

是的,但沒有你的任何代碼,很難說你在哪裏有問題。 – 2013-03-05 14:59:38

+0

對不起,Tanis.7x - 剛更新了我的代碼 – user1223035 2013-03-05 15:02:41

回答

1

沒有看到你在哪裏接收消息和要產生和取消的通知,這是非常難以辨別,你需要做的,實現這個東西,但我會給它一個鏡頭。

如果您加載Android Connected App Engine project的示例項目(通過GCM),您會注意到在GCMBaseIntentService中收到了GCM數據。 這個類有一個可以覆蓋的方法,稱爲onMessage(),只要您收到GCM消息,該方法就會被調用。如果您使用此方法創建通知,則您的應用程序只會在收到GCM消息時生成通知。

至於取消通知 - 您可以通過調用NotificationManager的cancel()方法,傳遞要取消的通知的ID來完成。假設您有某種活動向用戶顯示消息,並且這將是一個取消任何與特定消息有關的未完成通知的好地方。

+0

這非常有幫助。感謝Tanis.7x會嘗試相同的 – user1223035 2013-03-05 15:34:36

相關問題