我有一个使用远程视图的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上的模拟器中运行良好。按下通知中的图标后,它会成功返回到应用程序。但是在Samsung S3上的Android 4.0.3上,Activity会在后台启动,但通知屏幕不会隐藏。我想要在选择图标后清除通知屏幕。我已经尝试在通知中使用Notification.FLAG_AUTO_CANCEL但是没有解决问题。任何帮助将不胜感激。
答案 0 :(得分:3)
.setOnClickPendingIntent行为因您所经历的不同MFG和版本而异。
要完成您想要的操作并自动折叠通知窗口(不使用反射),您必须为通知视图设置“全局”待处理意图。您还需要将R.id.btnAppIcon包含在“全部捕获”意图视图中。
“全局/默认”通知待处理意图的示例:
contentIntent = PendingIntent.getActivity(YourClass.this, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
与PendingIntent.getActivity一起使用时的“常规”通知意图将关闭任何设备上的通知窗口(正如我所观察到的那样)。