android的android 仿qq未读消息息数怎么实现

1984人阅读
Android(7)
Android模仿QQ/微信未读消息显示,采用FrameLayout布局实现.是单独存在在Linerlayout里面的
csdn上有仿微信例子,使用TabHost实现底部tab,可以显示未读信息条数。但是不是我想的要的.我就拿过来改了改.
使用TabHost实现底部tab下载地址:http://download.csdn.net/download/yuanqihesheng/5196060
我做的下载地址:http://download.csdn.net/detail/u43275&& 效果图如下:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8881次
排名:千里之外后使用快捷导航没有帐号?
平板/笔记本
怎样让QQ或者微信在桌面图标右上角显示未读消息条数
&略有小成&
来自:浏览器
就是跟小米手机那样,右上角显示有几条未读的,求大神
width:100%">
&花粉特种部队&
来自:浏览器
emui3.1现已支持角标显示,可以升级到最新版本后使用(注意查看更新说明最低系统版本要求)
长按空白桌面--更多设置--图标角标(QQ、微信建议更新到较新版本)
如需要向部队反馈或提供后续信息,请在我的回贴下直接点击“回复”
花粉们的理解和支持是我们继续的最大动力
width:100%">
&渐入佳境&
来自:浏览器
同求,谢谢
width:100%">
&登堂入室&
来自:浏览器
只有升了4.4的包才行
width:100%">
&登堂入室&
来自:浏览器
看吧就这样,我的就是更新了才有的
%2Fstorage%2Fsdcard1%2FPictures%2FScreenshots%2FScreenshot_-10-00-47.png (77.98 KB, 下载次数: 2)
10:02 上传
width:100%">
&已臻大成&
来自:浏览器
楼主你好。长按桌面,然后点击桌面设置,然后选择图标角标,然后选择微信,然后就可以正常使用了。
width:100%">
&禁止发言&
来自:浏览器
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
width:100%">
&渐入佳境&
来自:浏览器
zhongwenpeng 发表于
看吧就这样,我的就是更新了才有的
更新了也没有,果断回退140
width:100%">
&自成一派&
来自:浏览器
emui3.1现已支持角标显示,可以升级到最新版本后使用(注意查看更新说明最低系统版本要求)
长按空白桌面-- ...
5.10.16版本角标显示设置无QQ应用(QQ已是最新版本
菜鸟一枚,但喜欢用实践去检验真理。
width:100%">
&花粉版主&
来自:浏览器
楼主你好。长按桌面,然后点击桌面设置,然后选择图标角标,然后选择微信,这样就可以了
width:100%">
1000万花粉
纪念花粉俱乐部注册花粉数超过1000万
好基友勋章
花粉好机友,注册时间大于99天
花粉特种部队荣耀勋章
大富翁勋章
达到1万花瓣后可申请获得大富翁勋章
关注华为花粉俱乐部微信公众平台——“华为花粉俱乐部”
在职斑竹的身份勋章,感谢斑竹的辛勤劳动
养老斑竹的身份勋章,感谢斑竹的辛勤劳动
【定格秋天】【克什克腾】【狗尾草的秋天】【娇颜绽放】【生活点滴】【城市风景】
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利08:43 提问
如何做到类似QQ上的未读消息提示
图标右上角带数字的那种
最近做项目要用到
根据推送过来的消息数目显示
没有找到相关资料
难度大吗???
按赞数排序
这个百度前两页就有demo
自己写组件吧;----------------------------
自己画,难度应该不大
查查bootstrap应该有相关组件。
自己动手丰衣足食,哈哈
推送机制有一个badge属性,根据初始值做累加就OK
19900关注|1719收录
其他相似问题Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒 - Hai_阔天空 - 博客园
信仰在飘扬,风景在路上。
摘要&Android系统 小米,三星,索尼手机发送桌面快键提醒数字图标,在Android系统中,众所周知不支持BadgeNumber,虽然第三方控件BadgeView可以实现应用内的数字提醒,但对于系统的图标,特别是app的logo图标很难实现数字标志,即使是绘图的方式不断修改,但这种方式天生弊端,实用性很差。
Android系统 小米,三星,索尼手机发送桌面快键提醒数字图标,在Android系统中,众所周知不支持BadgeNumber,虽然第三方控件BadgeView可以实现应用内的数字提醒,但对于系统的图标,特别是app的logo图标很难实现数字标志,即使是绘图的方式不断修改,但这种方式天生弊端,实用性很差。但幸运的是,某些ROM厂商提供了私有的API,但也带来了难度,API的不同意意味着代码量的增加和兼容性问题更加突出。
我们现在来实现桌面logo或者说icon右上角的图标,先来看2张图,第一张来自互联网,第二张来自个人实践!(由于实验条件有限,只能测试小米的(⊙o⊙)&,有兴趣的同学测试一下其他的吧)
好了,上代码
public&class&MainActivity&extends&Activity&{
&&&&&&private&final&static&String&lancherActivityClassName&=&Welcome.class.getName();
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(mon_listview_layout);
&&&&@Override
&&&&protected&void&onResume()&{
&&&&&&&&super.onResume();
&&&&&&&&sendBadgeNumber();
&&&&private&void&sendBadgeNumber()&{
&&&&&&&&String&number&=&"35";
&&&&&&&&if&(TextUtils.isEmpty(number))&{
&&&&&&&&&&&&number&=&"0";
&&&&&&&&}&else&{
&&&&&&&&&&&&int&numInt&=&Integer.valueOf(number);
&&&&&&&&&&&&number&=&String.valueOf(Math.max(0,&Math.min(numInt,&99)));
&&&&&&&&if&(Build.MANUFACTURER.equalsIgnoreCase("Xiaomi"))&{
&&&&&&&&&&&&sendToXiaoMi(number);
&&&&&&&&}&else&if&(Build.MANUFACTURER.equalsIgnoreCase("samsung"))&{
&&&&&&&&&&&&sendToSony(number);
&&&&&&&&}&else&if&(Build.MANUFACTURER.toLowerCase().contains("sony"))&{
&&&&&&&&&&&&sendToSamsumg(number);
&&&&&&&&}&else&{
&&&&&&&&&&&&Toast.makeText(this,&"Not&Support",&Toast.LENGTH_LONG).show();
&&&&private&void&sendToXiaoMi(String&number)&{
&&&&&&&&NotificationManager&nm&=&(NotificationManager)&getSystemService(Context.NOTIFICATION_SERVICE);
&&&&&&&&Notification&notification&=&null;
&&&&&&&&boolean&isMiUIV6&=&true;
&&&&&&&&try&{
&&&&&&&&&&&&NotificationCompat.Builder&builder&=&new&NotificationCompat.Builder(this);&
&&&&&&&&&&&&builder.setContentTitle("您有"+number+"未读消息");
&&&&&&&&&&&&builder.setTicker("您有"+number+"未读消息");
&&&&&&&&&&&&builder.setAutoCancel(true);
&&&&&&&&&&&&builder.setSmallIcon(mon_icon_lamp_light_red);
&&&&&&&&&&&&builder.setDefaults(Notification.DEFAULT_LIGHTS);
&&&&&&&&&&&&notification&=&builder.build();&
&&&&&&&&&&&&Class&miuiNotificationClass&=&Class.forName("android.app.MiuiNotification");
&&&&&&&&&&&&Object&miuiNotification&=&miuiNotificationClass.newInstance();
&&&&&&&&&&&&Field&field&=&miuiNotification.getClass().getDeclaredField("messageCount");
&&&&&&&&&&&&field.setAccessible(true);
&&&&&&&&&&&&field.set(miuiNotification,&number);
&&&&&&&&&&&&field&=&notification.getClass().getField("extraNotification");&
&&&&&&&&&&&&field.setAccessible(true);
&&&&&&&&field.set(notification,&miuiNotification);&&
&&&&&&&&Toast.makeText(this,&"Xiaomi=&isSendOk=&1",&Toast.LENGTH_LONG).show();
&&&&&&&&}catch&(Exception&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&
&&&&&&&&&&&&isMiUIV6&=&false;
&&&&&&&&&&&&&&&&Intent&localIntent&=&new&Intent("android.intent.action.APPLICATION_MESSAGE_UPDATE");
&&&&&&&&&&&&&&&&localIntent.putExtra("android.intent.extra.update_application_component_name",getPackageName()&+&"/"+&lancherActivityClassName&);
&&&&&&&&&&&&&&&&localIntent.putExtra("android.intent.extra.update_application_message_text",number);
&&&&&&&&&&&&&&&&sendBroadcast(localIntent);
&&&&&&&&finally
&&&&&&&&&&if(notification!=null&&&&isMiUIV6&)
&&&&&&&&&&&{
&&&&&&&&&&&&&&&
&&&&&&&&&&&&nm.notify(101010,&notification);&
&&&&&&&&&&&}
&&&&private&void&sendToSony(String&number)&{
&&&&&&&&boolean&isShow&=&true;
&&&&&&&&if&("0".equals(number))&{
&&&&&&&&&&&&isShow&=&false;
&&&&&&&&Intent&localIntent&=&new&Intent();
&&&&&&&&localIntent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE",isShow);
&&&&&&&&localIntent.setAction("com.sonyericsson.home.action.UPDATE_BADGE");
&&&&&&&&localIntent.putExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME",lancherActivityClassName&);
&&&&&&&&localIntent.putExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE",&number);
&&&&&&&&localIntent.putExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME",getPackageName());
&&&&&&&&sendBroadcast(localIntent);
&&&&&&&&Toast.makeText(this,&"Sony,"&+&"isSendOk",&Toast.LENGTH_LONG).show();
&&&&private&void&sendToSamsumg(String&number)&
&&&&&&&&Intent&localIntent&=&new&Intent("android.intent.action.BADGE_COUNT_UPDATE");
&&&&&&&&localIntent.putExtra("badge_count",&number);
&&&&&&&&localIntent.putExtra("badge_count_package_name",&getPackageName());
&&&&&&&&localIntent.putExtra("badge_count_class_name",lancherActivityClassName&);&
&&&&&&&&sendBroadcast(localIntent);
&&&&&&&&Toast.makeText(this,&"Samsumg,"&+&"isSendOk",&Toast.LENGTH_LONG).show();
注意lancherActivityClassName 必须被配置为 启动页 &&android.intent.category.LAUNCHER
&&activity
&&&&&&&&&&&&android:name="com.sample.activites.Welcome"
&&&&&&&&&&&&android:configChanges="locale|keyboard|screenSize"
&&&&&&&&&&&&android:label="@string/app_name"
&&&&&&&&&&&&android:screenOrientation="portrait"&&
&&&&&&&&&&&&&intent-filter&
&&&&&&&&&&&&&&&&&action&android:name="android.intent.action.MAIN"&/&
&&&&&&&&&&&&&&&&&category&android:name="android.intent.category.LAUNCHER"&/&
&&&&&&&&&&&&&/intent-filter&
&&&&&&&&&&&&&intent-filter&
&&&&&&&&&&&&&&&&&action&android:name="android.intent.action.CREATE_SHORTCUT"&/&
&&&&&&&&&&&&&/intent-filter&
&&&&&&&&&/activity&
try doing it
在启动的Activity中、发送未读消息数目广播 和 重置/清除未读消息数目广播 的调用如下:&// 发送未读消息数目广播:count为未读消息数目(int类型)
BadgeUtil.setBadgeCount(getApplicationContext(), count);
// 发送重置/清除未读消息数目广播:
BadgeUtil.resetBadgeCount(getApplicationContext());
资料参考:&&&/ekinlyw/android-badge&/articles/JV7vIr
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&如果文章内容对您有帮助, 可以帮 顶 一下,来支持一下哦!&如果您对文章内容有任何疑问或有更好的见解, 欢迎通过留言或发邮件的方式联系我:&&ice_
如需要转载,请注明出处,谢谢!!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
随笔 - 374软件标签: 
用途:恶搞利器,简单实用
编写程序:易语言编程(写了取qq头像的代码 容易报毒,但绝对是误报!)
强迫症头像逼死处女座和强迫症 消息永远未读让你忍不住想戳
最近看到微信两个朋友和我说话,点开毛没有,&未读信息&,怎么点也去不掉,逼疯我这强迫症。
后边发现原来是头像多了我们经常看到的来消息特有的红色圈圈加数字。
手痒痒编了这款软件,恶搞那就来吧!本来是打算找一下软件后边看大家都在ps什么什么的。所以嘛软件全网首发,得意
本帖长期更新最新版 请收藏下载!版权声明:本站提的序列号、注册码、注册机、破解补丁等均来自互联网,仅供学习交流之用,请在下载后24小时内删除。
(发现下载取消的或者不是破解版的,可以加群咨询)
高速下载器地址
其他下载地址
建议使用以上版本或、浏览器访问本站,获得更好的用户体验。 豫ICP备号-1}

我要回帖

更多关于 qq 未读消息实现原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信