PendingIntent未在Android 4.3中打开活动

在我的服务中,我打开一个正常运行的通知,使用此代码:

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),这不工作。点击通知时没有任何反应。

有什么改变了我们错过了这些组合在一起的方式吗?

在某些4.3设备上似乎有一个问题。它可以通过向requestCode参数提供非0值来解析。

例:

PendingIntent.getActivity(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
http://stackoverflow.com/questions/19031861/pendingintent-not-opening-activity-in-android-4-3

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:PendingIntent未在Android 4.3中打开活动