android应用icon右上角未读消息数字提示

1.此功能是指应用图标展示的数字,例如未读短信,邮件,类似iOS应用icon

原生Android系统并不支持此功能

定制的Samsung,sony支持此功能,有各自对应不同的实现方式,以三星为例

1.在AndroidManifest.xml中加上两个权限:

<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />

<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />

2.查看你的APP是否已经注册在BadgeProvider中:

Uri uri = Uri.parse("content://com.sec.badge/apps");

Cursor c = getContentResolver().query(uri, null, null, null, null);
if (c == null) {
    return;
}

try {
    if (!c.moveToFirst()) {
        return;
    }

    c.moveToPosition(-1);
    while (c.moveToNext()) {
        String pkg = c.getString(1);
        String clazz = c.getString(2);
        int badgeCount = c.getInt(3);
        Log.d("BadgeTest", "package: " + pkg + ", class: " + clazz + ", count: " + String.valueOf(cnt));
    }
} finally {
    c.close();
}

3.如果没有注册就注册上去:
ContentValues cv = new ContentValues();
cv.put("package", getPackageName());
// Name of your activity declared in the manifest as android.intent.action.MAIN.
// Must be fully qualified name as shown below
cv.put("class", "com.example.badge.activity.Test");
cv.put("badgecount", 1); // integer count you want to display

// Execute insert
getContentResolver().insert(Uri.parse("content://com.sec.badge/apps"), cv);

4.如果已经注册了就用下面方法更新角标:

ContentValues cv = new ContentValues();
cv.put("badgecount", 0);
getContentResolver().update(Uri.parse("content://com.sec.badge/apps"), cv, "package=?", new String[] {getPackageName()});

附:BadgeProvider https://github.com/shafty023/SamsungBadger

参考http://blog.csdn.net/qq549631030/article/details/38512207

2.对于应用view级别的数字提醒展示可以使用开源控件

https://github.com/jgilfelt/android-viewbadger

时间: 2024-08-28 02:57:10

android应用icon右上角未读消息数字提示的相关文章

iOS 未读消息角标 仿QQ拖拽 简单灵活 支持xib(源码)

一.效果 二.简单用法 超级简单,2行代码集成:xib可0代码集成,只需拖一个view关联LFBadge类即可 支持pod导入pod 'LFKit/LFBadge' //一般view上加角标 _badge1 = [[LFBadge alloc] init]; [_badge1 addToTabBarItem:_view1]; //BarButtonItem上加角标 _badge2 = [[LFBadge alloc] init]; [_badge2 addToBarButtonItem:self

Socket,长连接,消息推送,消息提醒,未读消息提醒,消息通知,未读消息通知

今天公司要搞个类似QQ空间的未读消息通知,于是想到用WebSocket长连接,搜索一些资料后,调试好久,还以为不行,结果发现是IIS版本的原因,我本地用的Win7的系统,是IIS6的,本地测试一直不行,后来查资料发现用这个WebSocket要IIS8,我直接放服务器上,测试就OK了,废话不多说,直接上代码.我用的MVC+EF的框架. 1.新建一个Controller,继承APIController [Description("消息")] public class MessageCont

Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒

摘要 Android系统 小米,三星,索尼手机发送桌面快键提醒数字图标,在Android系统中,众所周知不支持BadgeNumber,虽然第三方控件BadgeView可以实现应用内的数字提醒,但对于系统的图标,特别是app的logo图标很难实现数字标志,即使是绘图的方式不断修改,但这种方式天生弊端,实用性很差. BadgeNumber ShortCutNumber miui samsung sony sendBadgeNumber logo/icon数字提醒 Android系统 小米,三星,索尼

Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示

参考: http://dev.xiaomi.com/doc/p=3904/index.html http://my.oschina.net/ososchina/blog/352286?p=1#comments https://github.com/leolin310148/ShortcutBadger http://www.voidcn.com/blog/kongbaidepao/article/p-62251.html http://www.eoeandroid.com/thread-5572

Android自定义控件:类QQ未读消息拖拽效果

QQ的未读消息,算是一个比较好玩的效果,趁着最近时间比较多,参考了网上的一些资料之后,本次实现一个仿照QQ未读消息的拖拽小红点,最终完成效果如下: 首先我们从最基本的原理开始分析,看一张图: 这个图该怎么绘制呢?实际上我们这里是先绘制两个圆,然后将两个圆的切点通过贝塞尔曲线连接起来就达到这个效果了.至于贝塞尔曲线的概念,这里就不多做解释了,百度一下就知道了. 切点怎么算呢,这里我们稍微复习一些初中的数学知识.看了这个图之后,求出四个切点应该是轻而易举了. 现在思路已经很清晰了,按照我们的思路,开

桌面图标未读消息(小米,sony,三星手机)

新消息来了,在桌面的Laucher图标上显示新消息数 /** * 应用桌面图标未读消息显示工具类 * 只支持 小米,三星和索尼 */ public class BadgeUtil { final static String LAUNCHER_ACTIVITY_NAME = "com.wenki.example.activity.SplashActivity"; public static void setBadgeCount(Context context, int count) {

【Python学习笔记】-APP图标显示未读消息数目

以小米手机系统为例,当安装的某个APP有未读消息时,就会在该APP图标的右上角显示未读消息的数目.本文主要解说怎样用Python语言实现图标显示未读消息的数目.首先,还是要用到Python中PIL库,关于Linux下怎样安装PIL库,请大家參考这篇博客:http://blog.csdn.net/kevin_zhai/article/details/47720721,里面有具体的安装过程.实现的原理非常easy,直接用Image读取原始图标.然后将未读消息的数目插入到图标的右上角就可以. 脚本代码

Android Viewbadger 实现消息数字提示

开源组件viewbadger实现消息数字提示,项目地址:https://github.com/jgilfelt/android-viewbadger  (可获得源码)! Author: Jeff Gilfelt The code in this project is licensed under the Apache Software License 2.0. Copyright (c) 2011 readyState Software Ltd. 当然,这里直接是一个jar包,导入就可使用:an

使用clipChildren实现仿微信的未读消息列表显式布局

做IM项目是遇到了一个问题就是让那个个未读消息显示在他的父类外面,类似微信的未读消息数显式布局,弄了好久都不知道怎么搞,用其它方法因为要达到适配的原因所以放弃了最后老大告诉我加一个: 代码如下: <span style="color:#4b4b4b;"><LinearLayout android:id="@+id/msg_item_layout" android:layout_width="fill_parent" androi