我有一个使用远程视图的
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但是没有解决问题.任何帮助将不胜感激.
解决方法
.setOnClickPendingIntent行为因您所经历的不同MFG和版本而异.
要完成所需操作并自动折叠通知窗口(不使用反射),您必须为通知视图设置“全局”待处理意图.您还需要在“catch all”意图视图中包含R.id.btnAppIcon.
“全局/默认”通知待处理意图的示例:
contentIntent = PendingIntent.getActivity(YourClass.this,notificationIntent,0); notification.contentIntent = contentIntent;
与PendingIntent.getActivity一起使用时,“常规”通知意图将关闭任何设备上的通知窗口(正如我所观察到的).