android自定义通知栏遇到的问题

自定义通知栏的布局时,为了复制了一个layout.xml文件,引用,但一直报错

android.app.RemoteServiceException: Bad notification posted from
 package com.example.notification: Couldn‘t expand RemoteViews
for: StatusBarNotification(pkg=com.example.notification id=2
tag=null score=0 notn=Notification(pri=0 contentView=com.example.notification/0x7f030001 vibrate=null
sound=null defaults=0x0 flags=0x10 kind=[null])
user=UserHandle{0})

         // 获得通知管理器
		NotificationManager nfManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

		Notification myNotification = new Notification();
		// 提醒快讯
		myNotification.tickerText = "android:你好";
		// 设置通知时间
		myNotification.when = System.currentTimeMillis();
		// 设置图标
		myNotification.icon = R.drawable.ic_launcher;
		// 设置通知点击的动作
		Intent intent = new Intent(this, MainActivity.class);
		// 一个未来(预先)的动作,,用于点击或清除通知时的动作,
		PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
				intent, 0);
		myNotification.contentIntent = pendingIntent;

		//设置远程视图
		RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.notification_layout);

		myNotification.contentView = remoteViews;
		myNotification.flags = Notification.FLAG_AUTO_CANCEL;
		nfManager.notify(2,myNotification);

找了很久发现原因是:设置远程布局时,布局文件里面的按钮设置了静态的点击事件

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="showNotify"
        android:text="通知"/>

删除这个android:onClick="showNotify" 就可以运行了。

时间: 2024-10-24 22:50:55

android自定义通知栏遇到的问题的相关文章

Android自定义通知栏的高度是多少?

http://androidren.com/index.php?qa=312&qa_1=android%E8%87%AA%E5%AE%9A%E4%B9%89%E9%80%9A%E7%9F%A5%E6%A0%8F%E7%9A%84%E9%AB%98%E5%BA%A6%E6%98%AF%E5%A4%9A%E5%B0%91%EF%BC%9F 普通的高度是64dp,扩展的最大是256dp. 原始文档如下: The height available for a custom notification la

Android种使用Notification实现通知管理以及自定义通知栏(示例四)

示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我们的通知栏仅仅是更改传来短信的数目,而不是对每条短信单独做一个通知栏用于提示. 修改通知 可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它.为了更新你之前发布的通知,你需要更新或者创建

Android无布局文件下自定义通知栏notification的 icon

在开发项目一个与通知栏有关的功能时,由于自己的项目是基于插件形式的所以无法引入系统可用的布局文件,这样无法自定义布局,造成无法自定义通知栏的icon. 在网上也有一种不用布局文件更换icon的方法,但是由于Android的开放性,某些手机厂商会修改通知的源码,不是使用系统原有的布局文件方法有一定的局限性.文章如下http://blog.csdn.net/z1074971432/article/details/10446715有兴趣的朋友可以看下. 为了适配大多数的机型这里衍生出一种比较曲线救国的

[android]JPush自定义通知栏

JPush嵌入工程 官网详解 自定义通知栏 先自定义Receiver <receiver android:name="Your Receiver" android:enabled="true"> <intent-filter> <action android:name="cn.jpush.android.intent.REGISTRATION" /> <action android:name="

Android N 通知栏和快捷通知栏带来的改变

Android N 通知栏和快捷通知栏带来的改变 Android N 引入了一些新的API,允许应用发布具有高度可见性和交互性的通知. Android N 扩展了现有 RemoteInput 通知 API,以支持手持式设备上的内联回复. 此功能允许用户从通知栏快速进行回复,无需访问应用. 此外,Android N 还允许捆绑类似的通知并将它们显示为一则通知. 为了实现此功能,Android N 使用现有的 NotificationCompat.Builder.setGroup() 方法.用户可以

Android 自定义Gallery浏览图片

之前写的<Android ImageSwitcher和Gallery的使用>一文中提到我在教室一下午为实现那个效果找各种资料.期间在网上找了一个个人觉得比较不错的效果,现在贴图上来: 其实这个效果使用的知识点就是图像的获取.创建.缩放.旋转.Matrix类.Canvas类等,另外就是自定义的Gallery控件. 相信大家都期待马上上代码了吧,嘻嘻.(注释比较多,相信大家都能看懂.) main.xml: <?xml version="1.0" encoding=&quo

Android自定义View探索(一)—生命周期

Activity代码: public class FiveActivity extends AppCompatActivity { private MyView myView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("log", "Activity生命周期:onCreate"); setConte

android自定义UI模板图文详解

不知道大家在实际开发中有没有自定义过UI模板?今天花时间研究了一下android中自定义UI模板,与大家分享一下. 每个设计良好的App都是自定义标题栏,在自定义标题栏的过程中大部分人可能都是自定义一个标题的xml文件,然后在需要的地方直接通过include来引用,这比起在每个布局文件中写标题栏已经进化很多了,但仍然不是最简单有效的方法,我们为什么不能自定义一个标题控件呢?今天就带大家自己做一个标题栏控件.效果图如下: 开始啦: 第一步:自定义xml属性 新建一个android项目,在value

Android自定义进度条样式

最近在做一个widget,上面需要一个progressbar,产品经理和设计师给出来的东西是要实现一个圆角的progress和自定义的颜色,研究一小下,分享出来给大家哦. 测试于:Android4.0+ 操作步骤: 1.创建你的layout文件引用progressbar如下,标红处引用你自定的样式: <ProgressBar android:id="@+id/progressDownload" style="?android:attr/progressBarStyleH