【发布时间】:2013-09-26 15:04:08
【问题描述】:
在我的Service 中,我使用以下代码在正常运行时打开通知:
private final static NOTIFICATION_ID = 412434;
private void startNotification() {
NotificationCompat.Builder builder = new NotificationCompat.Builder(
this);
builder.setSmallIcon(R.drawable.notification);
builder.setContentTitle("Running");
final Intent intent = new Intent(this, MainActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
final PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);
builder.setOngoing(true);
builder.setAutoCancel(false);
notification = builder.build();
startForeground(NOTIFICATION_ID, notification);
}
PendingIntent 是在点击通知时打开MainActivity。这在我使用 Android 2.3.3、2.3.5 和 Android 4.1 的所有测试设备上运行良好。
它不起作用,但是在我的 Nexus 7 (Android 4.3) 上,这根本不起作用。当我点击通知时没有任何反应。
这些内容的组合方式是否发生了一些我错过的变化?
【问题讨论】:
-
看起来不错。
MainActivity有什么不寻常的地方吗? -
@CommonsWare:据我所知,它实现了
onNewIntent,但它只查找通知未使用的操作。 -
我最近遇到了类似的问题。我通过为
PendingIntent.getActivityrequestCode 参数提供一个非 0 值来解决它。 -
@markushi_ 你能回答我这样的问题吗?
-
Android 4.4 上同样的问题
标签: android android-intent android-notifications