我根据某些逻辑发送通知。
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>
答案 0 :(得分:0)
您的Notification
看起来对我而言。
我没有尝试在扩展Notification
的类之外创建Activity
,但我认为如果您可以访问NotificationManager
,那么您应该可以执行此操作。
您指向PendingIntent
的课程是否要延长Activity
?
您的Activity
正在使用的PendingIntent
中是否存在问题?
AndroidManifest.xml中是Activity
吗?