由于安卓系统显示的emoji表情不那么好看,所以在项目的聊天里面使用了自己的图片代替了系统的emoji显示,但是问题来了,在收到消息通知的时候,通知栏并没有显示自定义的emoji显示,而是显示了系统的emoji表情,没办法,只好上网查一下解决方法,最终成功将emoji表情转化为“[表情]”。

关键方法如下:

/**

* 判别是否包含Emoji表情

*

* @param str

* @return

*/

private static boolean containsEmoji(String str)

{

int len = str.length();

for (int i = 0; i < len; i++)

{

if (isEmojiCharacter(str.charAt(i)))

{

return true;

}

}

return false;

}

/**

* 是否是emoji字符

*

* @param codePoint

* @return

*/

private static boolean isEmojiCharacter(char codePoint)

{

return !((codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA)

|| (codePoint == 0xD)

|| ((codePoint >= 0x20) && (codePoint <= 0xD7FF))

|| ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))

|| ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)));

}

/**

* 将含有EMOJI表情的文字转换

* @param source

* @return

*/

public static String filterEmoji(String source)

{

if (!containsEmoji(source))

{

//不包含emoji就返回原字符串

return source;

}

StringBuilder buf = null;

//获取字符串的长度

int len = source.length();

//逐个检查字符,如果是emoji字符就替换为[表情]

for (int i = 0; i < len; i++)

{

char codePoint = source.charAt(i);

if (!isEmojiCharacter(codePoint))

{

if (buf == null)

{

buf = new StringBuilder(source.length());

}

buf.append(codePoint);

}

else

{

if (buf == null)

{

buf = new StringBuilder(source.length());

}

buf.append("[表情]");

}

}

if (buf == null)

{

return "";

}

else

{

if (buf.length() == len)

{

buf = null;

return source;

}

else

{

return buf.toString();

}

}

}

android emoji转换成字符串,安卓的emoji表情转换为文字相关推荐

  1. android 日期 转换成字符串,android JAVA字符串转日期或日期转字符串(转)

    用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的 ...

  2. php 把数组转换成字符串_php怎么将数组转换为字符串

    php将数组转换为字符串的方法:可以使用implode()函数分割数组,该函数会返回由数组元素组成的字符串.还可以利用循环遍历数组元素并将其拼接成字符串. php将数组转换为字符串的方法 方法1:利用 ...

  3. php数组转字符串 join,jQuery中将数组转换成字符串join()和push()使用

    1.push()将元素依次添加至数组: 2.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] $(document).on('click','.sure',function(){ va ...

  4. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  5. testInt转换成字符串

    testInt转换成字符串 var i:int = 10;            trace(i.toString());            trace(i.toString().length); ...

  6. C语言基础:时间转换成字符串 strftime的代码

    将内容过程中经常用的一些内容段做个记录,下边内容段是关于C语言基础:时间转换成字符串 strftime的内容,希望能对大伙有一些用处. #include <stdio.h> #includ ...

  7. python 如何将字符串列表合并后转换成字符串? ''.join(List(str))函数

    参考文章:python 怎么将列表转换成字符串 temp_list = ['h', 'e', 'l', 'l', 'o'] result = ''.join(temp_list) print(resu ...

  8. python 如何将字符串数字列表转换成数字列表,如何将数字列表转换成字符串数字列表?map(eval,list(str))

    字符串数字列表转换成数字列表 # -*- encoding: utf-8 -*- """ @File : test.py @Time : 2019/10/28 23:37 ...

  9. 属性拼接转换成字符串_使用一些可选的将字符串配置属性转换为其他类型

    属性拼接转换成字符串 有一天,您遇到一些代码,并认为这很漂亮,为什么我没有想到呢? 因此,我的长期同事Mark Warner在使用方法引用处理从String进行转换的标准名称/值存储模式方面有一个不错 ...

最新文章

  1. oracle 11所选安装,在red hat enterprise linux 5.4上安装oracle11g
  2. 上一局APP玩边画边猜,第1次见人使用道具,我的游戏体验上升了
  3. Jzoj4348 打击目标
  4. 隐藏画质代码_优秀的模糊测试代码是如何炼成的?
  5. TortoiseGit 自动登录
  6. 万能指针 和 指针大小与指针步长的区别
  7. inDesign 教程,如何复制文本格式?
  8. KMS激活工具原地址
  9. 如何安装Junit4
  10. 解读“统一价格分评审方法”
  11. SDN概述,SDN是什么?
  12. 芯片的原理应用与分类
  13. 于娟的忠告----生命只有一次,活着才是王道啊!!!
  14. 微信是点对点通信吗还是有中间服务器,为什么不建议通过微信、QQ等社交软件进行视频会议?...
  15. excel =rand() 随机生成数字或区间数字的函数使用
  16. 单片机小精灵(延时、定时计算软件)
  17. linux的veth导致网络不通,使用veth-pair和bridge搭建的本地网络环境网络不通
  18. 6种品牌打印机介绍及打印机旗舰店推荐
  19. idw matlab 程序_IDW 算法MATLAB 实现
  20. SQUID工作原理是什么

热门文章

  1. 用photoshop如何制作背景透明的图片
  2. 破晓博客-自定义标签的开发
  3. python计算整数区间[m、n所有整数之和_Python:就区间正整数内所有素数之和
  4. matplotlib 画双轴子图无法显示 x-轴 坐标轴标签
  5. 解决源码编译Python3后缺少ssl tkinter,bz2等库的问题
  6. linux同步两台mysql数据,Mysql入门MySQL 数据库两台主机同步实战(linux)
  7. 只要不上网,pc机就不会感染计算机病毒,计算机考试试题训练
  8. 思科 计算机网络 第5章测试考试 答案
  9. 文本分类:4、工程经验
  10. MW6MaxiCode ACX溢出