2011-11-11 42 views
0

根據某些邏輯,我正在發送通知。具有待處理意圖的Android通知

public class DbAdapter_Assignment extends DbAdapter { 

public DbAdapter_Assignment(Context context) { 
    super(context); 
} 

public void deleteUnassignedTask(Assignment[] assignments) 
{ 
    //some logic 
    sendNotification(String a. String b); 
} 

private void triggerNotification(String s, String id)  
{   
    CharSequence title = "TASK UNASSIGNED";   
    CharSequence message = s;  
    NotificationManager notificationManager; 
    notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);   
    Notification notification = new Notification(R.drawable.checkno, s, System.currentTimeMillis()); 

    notification.flags = Notification.FLAG_AUTO_CANCEL; 
    notification.defaults |= Notification.DEFAULT_SOUND; 
    notification.defaults |= Notification.DEFAULT_VIBRATE; 

    // No. 1 solution 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, Integer.parseInt(id), null, PendingIntent.FLAG_UPDATE_CURRENT); 
    // ----------- 

    // No. 2 solution 
    Intent notificationIntent = new Intent(context, MyTask.class); 
    notificationIntent.putExtra("EmpID", Functions.getLoginEmpID(context)); 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 
      Integer.parseInt(id), notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
    // ---------------- 

    notification.setLatestEventInfo(context, title, message, pendingIntent); 
    notificationManager.notify(Integer.parseInt(id), notification);  
} 

}

1號溶液正在工作。我想添加的東西是,如果點擊該通知,請轉到MyTask類。所以我嘗試了2號解決方案,IT「對我不起作用,如果沒有2號解決方案,它不會顯示任何通知,我錯過了什麼?是因爲該課程不是活動或服務?

+0

我想我們需要看MyTask來回答這個問題。 – jsmith

回答

0

Notification看起來我的權利。 我還沒有嘗試創建一個Notification外擴展Activity一類的,但我會假設,如果你可以訪問NotificationManager,那麼你應該能夠做到這一點。

您指定PendingIntent的課程是否延伸到Activity

可能在中存在問題210你的PendingIntent正在使用?

是在AndroidManifest.xml中的Activity

相關問題