具有待处理意图的Android通知

时间:2011-11-11 18:28:25

标签: 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解决方案,它没有显示任何通知。我缺少什么?是因为班级不是活动或服务吗?” p>

1 个答案:

答案 0 :(得分:0)

您的Notification看起来对我而言。 我没有尝试在扩展Notification的类之外创建Activity,但我认为如果您可以访问NotificationManager,那么您应该可以执行此操作。

您指向PendingIntent的课程是否要延长Activity

您的Activity正在使用的PendingIntent中是否存在问题?

AndroidManifest.xml中是Activity吗?