notificaion-自定义的通知布局不能在Android 2.3或更低的版本上运行

问题描述

自定义的通知布局不能在Android 2.3或更低的版本上运行
我使用NotificationCompat.Builder 来显示通知,并且给这个通知自定义了布局。
这个自定义布局在Android 3 或更高版本上可以运行 (API 11),但是不能在API 10 或比这低的版本上运行,我在模拟器中的 2.3 和 2.2 版本上测试。如何解决这个问题?

 Builder builder = new NotificationCompat.Builder(getApplicationContext());    RemoteViews contentView = new RemoteViews(getPackageName() R.layout.notification_layout);    contentView.setImageViewResource(R.id.notImage R.drawable.stat_icon);    contentView.setTextViewText(R.id.notTitle getResources().getString(R.string.streamPlaying));    contentView.setTextViewText(R.id.notText StartActivity.streamName + "" "" + getResources().getString(R.string.playing));    builder            .setContentTitle(getResources().getString(R.string.streamPlaying))            .setContentText(StartActivity.streamName + "" "" + getResources().getString(R.string.playing))            .setSmallIcon(R.drawable.stat_icon)            .setContentIntent(pendingIntent)            .setOngoing(true)            .setWhen(0)            .setTicker(StartActivity.streamName + "" "" + getResources().getString(R.string.playing))            .setContent(contentView);    not = builder.build();

解决方案

这是NotificationCompat的bug,加上两句
if(android.os.Build.Version.sdk_int<14)
notification.contentView = remoteViews

时间: 2024-08-31 03:13:33

notificaion-自定义的通知布局不能在Android 2.3或更低的版本上运行的相关文章

Shared Preferences KEY_FIRST_RUN 不能在 android 1.6上运行

问题描述 Shared Preferences KEY_FIRST_RUN 不能在 android 1.6上运行 我使用下面的代码来检查应用程序是否是第一次运行: SharedPreferences pref = getPreferences(MODE_PRIVATE); if (!pref.contains(KEY_FIRST_RUN)) { Some operation } pref.edit().putBoolean(KEY_FIRST_RUN, false).commit(); 除了 a

android 4 0-关于JNI,为什么在android 4.4运行正常的程序,在4.0上运行就报错了

问题描述 关于JNI,为什么在android 4.4运行正常的程序,在4.0上运行就报错了 事情是这样的: 本身项目是基于android 4.4.2.JDK1.7 编译的,然后公司要求最低版本. 然后我将项目改成了android 2.3.3.JDK1.6编译,修改一些内容后,编译通过,在android 4.4.2的手机上运行正常. 但是现在市场部反应,在低于4.1.X的版本上运行还是有问题,因此我找来一台android 4.0.4内核的手机调试,确实报错了,在JNI模块. 报:Unsatisfi

Android自定义状态栏通知(Status Notification)的正确实现

在Android应用开发中,经常会使用到状态栏通知(Status Notification),例如新浪微博.网易新闻等提供的推送消息,软件后台更新时进度的显示等等,如下图所示: 看了网上很多关于Notification的博客文章,发现几乎没有一个能将自定义状态栏通知完全实现正确的,因此,本文就来说说实现自定义状态栏通知经常被忽略的一些知识点. 1) 使用Notification最常见的场景 运行在后台的Service当需要和用户交互时,由于它不能直接启动一个Activity,因此,Service

组合-android自定义view怎样指定自定义view的布局

问题描述 android自定义view怎样指定自定义view的布局 我有现成的布局xml文件,现在想定义一个组合的自定义view,怎样把这个view的布局指定为一个xml文件 解决方案 LayoutInflater.from(mActivity).inflate(R.layout.mainscreen_title, this, true);这样就行了,this是当前的View,而后面这两个参数是将R.layout.mainscreen_title attachToRoot 也就是以当前这个Vie

Android简单实现自定义流式布局的方法_Android

本文实例讲述了Android简单实现自定义流式布局的方法.分享给大家供大家参考,具体如下: 首先来看一下 手淘HD - 商品详情 - 选择商品属性 页面的UI 商品有很多尺码,而且展现每个尺码所需要的View的大小也不同(主要是宽度),所以在从服务器端拉到数据之前,展现所有尺码所需要的行数和每一行的个数都无法确定,因此不能直接使用GridView或ListView. 如果使用LinearLayout呢? 一个LinearLayout只能显示一行,如果要展示多行,则每一行都要new一个Linear

Android简单实现自定义流式布局的方法

本文实例讲述了Android简单实现自定义流式布局的方法.分享给大家供大家参考,具体如下: 首先来看一下 手淘HD - 商品详情 - 选择商品属性 页面的UI 商品有很多尺码,而且展现每个尺码所需要的View的大小也不同(主要是宽度),所以在从服务器端拉到数据之前,展现所有尺码所需要的行数和每一行的个数都无法确定,因此不能直接使用GridView或ListView. 如果使用LinearLayout呢? 一个LinearLayout只能显示一行,如果要展示多行,则每一行都要new一个Linear

【Win10应用开发】自定义磁贴通知的排版

原文:[Win10应用开发]自定义磁贴通知的排版 前面老周用了两篇烂文,向大家介绍了Adaptive磁贴的模板使用.那些XML模板已经很强大了,不过,如果你觉得那些排版还不足以满足需求,不妨试试自己来定义磁贴的内容. 其实,Runtime App支持在后台任务中生成XAML呈现,只要你编写的后台任务类从XamlRenderingBackgroundTask(位于Windows.UI.Xaml.Media.Imaging命名空间)类派生即可.利用这一特性,我们可以在后台生成XAML布局,然后通过R

使用有趣的自定义标记来布局页面

页面 今天我们来学习,如何使用有趣的自定义标记来布局页面.有的朋友可能有这样的疑问,自己随便定义的标记浏览器怎么能正确的认识呢? 这里我们就要用到文档的命名空间,那么命名空间又是指什么? 大家知道XML有一个很大的特点就是他的可扩展性.你可以创建你自己的标记或使用别人创建的标记,这里就存在了一个问题,即你所定义的标 记和别人定义的标识有可能相同,但他们各自所表示的意义却不同. 打一个形象的比喻,比如有两个人名字都叫蓝色,一个人在经典,一个人在天涯,如果你要找他们就可以这样说明,天涯:蓝色.经典:

浅析Android 4.0的通知系统(附Android 4.0设计指南全文翻译)

通过手机的通知系统,可以将应用程序的一些重要消息告知给用户.流畅.舒适.友好的应用程序离不开精心设计的消息提醒机制.但是并不是所有的通知都是用户想看的,否则只会给用户造成骚扰,所以要谨慎使用通知. 在对<Android Design>进行翻译时发现:Android 系统已经提出了一些关于通知消息的设计建议,故在此分享给大家. 一.何时使用通知? 通知主要用于对时间敏感(Time Sensitive)的事件,尤其是涉及他人(Involve another person)的同步事件.例如下面的 G