自定义通知栏中的按钮无法点击的解决方法

Posted on 2013-03-14 01:02  扔物线  阅读(638)  评论(2)    收藏  举报

解决方法很简单:建议或等待你的用户将手机更新到4.0或更高版本的Android系统。因为——Android 2.3及以下的系统并不支持为自定义通知布局中的组件添加点击监听器,通知栏的主布局总会拦截点击事件。这是从底层实现的,应用层没有任何办法。直到API 11(Android 3.0),Android才解决了这个问题。至于这是为什么,我也不知道。

好了,解决方法就这么简单!看起来很欠揍:这不根本没有解决问题么?!但实际上,各位开发者们,看了这篇文章之后,你知道这是一个不可能解决的问题,就不会再花时间去百度、去google、去stackoverflow怎样解决这个问题了,省心省时间不是也很好么?

但如果你真的很想解决这个问题的话,好吧,我给你一种替代的解决方法:发送通知时,首先判断系统版本,如果sdk版本号大于10(android 2.3),那么该干什么干什么吧,按钮会很听你的话;如果sdk版本号小于等于10,那么你就要把这个按钮从布局中去掉(没用的东西一定要隐藏,用户能看到却点不到是一种很差的用户体验),然后,为通知设置点击监听,令该通知被点击后弹出一个对话框(而不是你原先让他做的事),对话框中给出两个选择项,选项一是原先通知被点击后做的事(例如打开程序的主Activity),选项二是你原先希望点击按钮后执行的方法。这样,对于2.3级以下Android版本手机的用户,点击次数由一次变为两次,但功能也算是实现啦!大家看不懂的话,改天我写个demo代码贴上来。