2013-10-14 93 views
0

我正在開發應用程序,其中我需要實現新聞通知的功能。Android中的新聞通知

例如,NDTV新聞應用程序:它會在有新消息時發出通知。它是如何發生的?

任何人都可以提供一個解決方案的例子嗎?

任何幫助將不勝感激。

+0

您必須閱讀RSS提要,然後相應地顯示通知 –

+0

感謝答覆自動的Droid。在我的情況下,我需要從Web服務推送數據。通知將以固定的時間間隔進行。任何示例將不勝感激。 – Altavista

+0

在android中創建未決意圖,以特定間隔啓動服務,檢查是否有新消息並在您的通知中顯示 –

回答

0

使用此代碼:

private void generateNotification(Context context, String message) { 

    int icon = R.drawable.ic_launcher; 
    long when = System.currentTimeMillis(); 
    String appname = context.getResources().getString(R.string.app_name); 
    NotificationManager notificationManager = (NotificationManager) context 
      .getSystemService(Context.NOTIFICATION_SERVICE); 
    int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
    Notification notification; 
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
      new Intent(context, myactivity.class), 0); 

    // To support 2.3 os, we use "Notification" class and 3.0+ os will use 
    // "NotificationCompat.Builder" class. 
    if (currentapiVersion < android.os.Build.VERSION_CODES.HONEYCOMB) { 
     notification = new Notification(icon, message, 0); 
     notification.setLatestEventInfo(context, appname, message, 
       contentIntent); 
     notification.flags = Notification.FLAG_AUTO_CANCEL; 
     notificationManager.notify(0, notification); 

    } else { 
     NotificationCompat.Builder builder = new NotificationCompat.Builder(
       context); 
     notification = builder.setContentIntent(contentIntent) 
       .setSmallIcon(icon).setTicker(appname).setWhen(0) 
       .setAutoCancel(true).setContentTitle(appname) 
       .setContentText(message).build(); 

     notificationManager.notify((int) when , notification); 

    } 

}