安卓远程视图通知

5

我有一个使用远程视图的 Android 通知栏。我在上面放了两个按钮来播放和暂停音频,还有一个图标可以返回到应用程序。我想要能够点击该图标(或任何地方,但不是在这两个按钮上)并返回到应用程序。以下是我的代码:

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);

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

1个回答

3

.setOnClickPendingIntent的行为在不同的制造商和版本中有所不同,正如您所经历的那样。

为了实现您想要的自动折叠通知窗口(而不使用反射),您需要为通知视图设置一个“全局”挂起意图。您还需要在该“全局”意图视图中包含您的R.id.btnAppIcon。

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

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

使用 PendingIntent.getActivity 时,“通用”通知意图将关闭任何设备的通知窗口(根据我的观察)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接