我已经有Android的工作状态栏通知,但要创建它,我必须设置一个Activity才能打开它。我不希望任何活动打开;但是,这个小项目根本不需要接口。
mNotificationManager = (NotificationManager) aContext
.getApplicationContext().getSystemService(
Context.NOTIFICATION_SERVICE);
// Create the pending intent, which is basically NOW.
PendingIntent contentIntent = PendingIntent
.getActivity(aContext, 1, new Intent(aContext, BlankActivity.class),
PendingIntent.FLAG_CANCEL_CURRENT);
// Create notification
notificationBuilder = new NotificationCompat.Builder(aContext)
.setContentIntent(contentIntent)
.setSmallIcon(R.drawable.ic_launcher) // required for launch
.setTicker("Downloading video...") // required for launch
.setWhen(System.currentTimeMillis()) // should be set for now.
.setContent(remoteView);
BlankActivity
听起来像是一个没有内容的活动,在被打开时关闭。但它仍然显示在最近打开的窗口列表中。我无法将其设置为null。
有没有办法可以避免设置状态通知的意图?
答案 0 :(得分:5)
在这种情况下,您不需要PendingIntent
。只需在null
中设置setContentIntent()
即可。
另一种方式可以是
PendingIntent contentIntent = PendingIntent.getActivity(aContext(),0,new Intent(),PendingIntent.FLAG_CANCEL_CURRENT);
试试这个。
答案 1 :(得分:1)
将它设置为null对于像SDK 2.3这样需要设置意图的早期版本不起作用,否则android会在接收者的阻止下阻塞异常:java.lang.RuntimeException: Unable to start receiver com.movistar.android.mimovistar.widgets.WidgetIntentReceiver: java.lang.IllegalArgumentException: contentIntent required
see this post