网上看到的解决办法:
如果用相同的通知id, 该怎么告诉处理通知的活动,每个通知的内容呢?
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
最后一个参数可以保证显示的是最新的那个通知
如果用不同的通知id, 为什么处理通知的活动得到的Intent总是第一个通知的Intent呢?
多个Intent是根据它们的Data属性来区分的,如果Data相同,将认为是同一个Intent
实践之后不是很好用,请教别人找到了解决办法。
.getActivity(
context,
int requestCode,
intent,
int flags)
requestCode 值如果一样,就会出现多个通知都指向一个intent。
只要requestCode不一样就可以解决问题了!
贴一段完整的代码:下载完成后通知栏出现提示通知
java代码:
-
-
-
-
-
-
public
static
void
notifyTaskFinishToStatusBar(Context context,String name)
-
{
-
String text;
-
if
(name!=
null
){
-
text=name+context.getString(R.string.has_download);
-
}else
{
-
text=context.getString(R.string.has_download);
-
}
-
-
NotificationManager nfm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
-
Notification notification = new
Notification(R.drawable.icon, text,System.currentTimeMillis());
-
notification.flags=Notification.FLAG_AUTO_CANCEL;
-
Intent openintent = new
Intent();
-
openintent.setClass(context, MainActivity.class
);
-
Bundle data=new
Bundle();
-
data.putInt(Constants.BOOT_INDEX_TAG, MainActivity.downloadPageLoadedState);
-
openintent.putExtras(data);
-
-
PendingIntent contentIntent = PendingIntent.getActivity(context, 1
, openintent,
0
);
-
-
notification.setLatestEventInfo(context, context.getString(R.string.qc_download_tip),text, contentIntent);
-
nfm.notify(Constants.QC_DOWNLOAD_NOTIFY, notification);
-
}
分享到:
相关推荐
总结一下,Android状态栏颜色的设置涉及多个API版本和不同类型的组件。理解并掌握这些技巧,可以帮助开发者更好地定制应用界面,提升整体设计感。通过在AndroidManifest.xml中设置主题颜色、使用`getWindow()....
在Android系统中,状态栏和导航栏是用户界面的重要组成部分,它们提供了系统信息显示和应用程序间的导航功能。在某些应用场景下,比如全屏游戏或沉浸式视频观看时,开发者可能需要动态地控制这些元素的显示与隐藏,...
首先,**ViewPager**是Android SDK提供的一种用于实现多页面滑动效果的组件,常用于实现类似TabLayout的效果或者在水平方向上浏览多个页面。使用ViewPager,开发者可以创建一个可滚动的视图容器,用户可以通过滑动来...
在Android系统中,实现沉浸式状态栏可以通过多种方式来完成,尤其是在Android 5.0 Lollipop及以上版本中,官方提供了更多的API来支持这一特性。 首先,我们要理解Android系统中关于状态栏的概念。状态栏位于屏幕...
首先,了解冲突的本质:ViewPager设计初衷是为了处理多个页面间的滑动切换,它会捕获滑动事件,以便平滑地切换页面。而ScrollView则期望能够自由滚动其内部的内容。当这两个组件在同一个层级上,ViewPager可能会拦截...
总的来说,实现Android沉浸式状态栏涉及多个步骤,包括设置透明状态栏、处理导航栏颜色、以及调整布局以适应系统窗口。开发者需要根据目标设备的Android版本选择合适的实现方法,以保证兼容性和视觉效果。通过上述...
需要注意的是,沉浸式状态栏虽然提升了视觉体验,但也可能带来一些问题,比如与状态栏图标颜色的适配,以及在显示某些需要固定顶部元素的应用中可能产生的冲突。因此,在应用中启用沉浸式状态栏时,开发者需要充分...
在Android开发中,ViewPager是一种非常常用的组件,常用于实现页面滑动切换的效果,例如在应用启动页、广告轮播或导航栏中。本教程将详细讲解如何使用ViewPager实现view的轮播效果,包括单个item分页样式和多个item...
在Android开发中,多任务下载是一项常见的需求,它允许用户同时下载多个文件,极大地提高了效率。而实时更新下载管理界面的进度条则是提供良好用户体验的关键。以下是对这一主题的详细阐述: 1. **多任务下载原理**...
在Android Studio中,遇到“Program type already present”错误通常是由于项目中存在多个版本或重复的依赖库导致的。在这个特定的案例中,错误提示“Program type already present: ...
`ViewPager`是Android Support Library中的一个控件,主要用于展示多个可以左右滑动的页面。它可以自动管理页面的生命周期,只加载当前页面和相邻的页面,这样可以节省内存。`ViewPager`通常与`PagerAdapter`一起...
首先,`ScrollView`是Android中的一个滚动容器,它可以包含一个或多个可滚动的视图,但通常不推荐在`ScrollView`中嵌套`ListView`或`RecyclerView`等滚动视图,因为这可能导致滚动行为冲突。然而,在某些场景下,...
- **依赖冲突**:当多个Library有相同的依赖时,可能产生冲突。使用Gradle的依赖解决机制(如`exclude`规则)来排除冲突。 - **测试**:为Library编写单元测试和集成测试,确保其功能正常,并在引入到其他项目时进行...
在Android开发过程中,有时会遇到一个视觉上的小问题:当应用程序启动时,系统栏会短暂地显示为蓝色,然后才变为预期的颜色。这个问题通常与应用的主题设置有关,尤其是在使用了自定义主题的情况下。本文将详细解释...
在Android开发中,软键盘弹出时遮挡输入框是一个常见的问题,特别是在手机应用中,用户需要在有限的屏幕空间内进行输入操作。为了解决这个问题,开发者通常需要对布局进行特殊处理,确保输入框始终保持可见。下面...
"Android-安卓架构支持敏捷开发和持续集成服务容器IOC沉浸式状态栏场景切换模拟http请求式导航"这一标题揭示了多个关键知识点,它们在现代Android应用开发中起着至关重要的作用。以下是对这些知识点的详细说明: 1....
工具栏是Android Studio中非常重要的一个组成部分,它包含了多个常用的操作按钮,比如运行、调试、构建项目等。此外,还有一些快速访问的功能,如版本控制系统的集成、代码搜索等。因此,当工具栏消失时,会极大程度...
例如,如果一个布局中有多个TextView或ImageView,它们的总高度超过了屏幕高度,那么可以将这些元素放入ScrollView中,使用户能够看到全部内容。 在"Android开发小知识_使用ScrollView实现滚动效果.doc"文档中,...
在Android平台上开发一款MP3播放器并集成卡拉OK字幕是一项技术挑战,涉及到多个关键知识点。这个"android实例源代码-Android MP3播放器,带卡拉OK字幕.zip"的压缩包显然提供了一个完整的实现案例,可以供学习者研究...
首先,`ViewPager`是Android SDK中的一个视图容器,主要用于展示多个页面,并且可以左右滑动切换页面。在仿微信6.0的底部菜单栏中,`ViewPager`通常用于承载各个主界面,当用户点击底部菜单时,`ViewPager`会根据...