5

我有一个使用远程视图的 android 通知栏。我有 2 个按钮可以播放和暂停音频,还有一个图标可以返回应用程序。我希望能够单击图标(或除 2 个按钮之外的任何位置)并返回应用程序。这是我的代码

Intent returnIntent = new Intent(_context, SplashScreenActivity.class);
returnIntent.setAction(Intent.ACTION_MAIN);
returnIntent.addCategory(Intent.CATEGORY_LAUNCHER);

PendingIntent remoteViewPendingIntent = PendingIntent.getActivity(_context,1, returnIntent,0);
remoteView.setOnClickPendingIntent(R.id.btnAppIcon, remoteViewPendingIntent);

这一切都可以在 Android 4.1 上的模拟器中正常工作。按下通知中的图标时,它会成功返回到应用程序。然而,在三星 S3 上的 Android 4.0.3 上,活动在后台启动,但通知屏幕并未隐藏。我希望在选择图标后清除通知屏幕。我曾尝试在通知中使用 Notification.FLAG_AUTO_CANCEL,但这并没有解决问题。任何帮助将不胜感激。

4

1 回答 1

3

.setOnClickPendingIntent 行为因您所经历的不同 MFG 和版本而异。

要完成您想要的并自动折叠通知窗口(不使用反射),您必须为通知视图设置“全局”待处理意图。您还需要将您的 R.id.btnAppIcon 包含在该“捕获所有”意图视图中。

“全局/默认”通知待处理意图的示例:

contentIntent = PendingIntent.getActivity(YourClass.this, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;

与 PendingIntent.getActivity 一起使用时的“一般”通知意图将关闭任何设备上的通知窗口(正如我所观察到的)。

于 2012-12-04T02:23:49.377 回答