1

我已经有一个适用于 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。

有没有办法完全避免为状态通知设置意图?

4

2 回答 2

5

PendingIntent在那种情况下你不需要。只是设置它可能会null有所setContentIntent() 帮助。

另一种方法可以是

PendingIntent contentIntent = PendingIntent.getActivity(aContext(),0,new Intent(),PendingIntent.FLAG_CANCEL_CURRENT);

试试这个。

于 2013-03-31T19:17:00.697 回答
1

将其设置为 null 不适用于需要设置意图的 SDK 2.3 等早期版本,否则 android 将在接收器开始时阻塞,并出现异常:java.lang.RuntimeException: Unable to start receiver com.movistar.android.mimovistar.widgets.WidgetIntentReceiver: java.lang.IllegalArgumentException: contentIntent required 请参阅这篇文章

于 2016-02-12T09:35:08.317 回答