Android 使用自定义表情符号创建软键盘

Android 使用自定义表情符号创建软键盘,android,unicode,emoji,spannablestring,soft-keyboard,Android,Unicode,Emoji,Spannablestring,Soft Keyboard,我的任务是创建一个新的安卓第三方键盘,它支持来自资产的自定义表情(我自己的图标) 我想实现一个带有我自己表情符号图标的软键盘,而不使用UniCode或我的自定义UniCode。 问题: 如果我创建了一个自定义表情符号,其中包含一些无法映射到标准表情符号集的字符串,并使用自定义应用程序/键盘将此消息发送给朋友,他们的设备上会显示什么?常规ASCII字符字符串?或者是图像 我读过两种将图像添加到文本视图的方法 Html.ImageGetter Spannable Image(由Image组成的字符串

我的任务是创建一个新的安卓
第三方键盘
,它支持来自资产的自定义表情(我自己的图标)

我想实现一个带有我自己表情符号图标的软键盘,而不使用UniCode或我的自定义UniCode。

问题:

如果我创建了一个自定义表情符号,其中包含一些无法映射到标准表情符号集的字符串,并使用自定义应用程序/键盘将此消息发送给朋友,他们的设备上会显示什么?常规ASCII字符字符串?或者是图像

我读过两种将图像添加到文本视图的方法

  • Html.ImageGetter

  • Spannable Image(由Image组成的字符串)

  • 我应该选择哪种方式

    是否可以在不下载应用程序/键盘的情况下在收件人设备上显示(发送)自定义表情符号

    是否可以将带有图像的文字(表情符号)发送到其他应用程序,如facebook、skype和电子邮件

    需要建议。

    简单的单词

    我只想将我的自定义(表情图标)发送到其他应用程序,而不使用unicode或我的自定义unicode


    谢谢。

    回答问题的第一部分,根据定义,表情符号是编码字符-它们是unicode的一部分。请看这里:

    如果你看的话,有很多关于这个的参考文献。你还会发现,苹果和谷歌在很长一段时间内使用了两种不同的设置。他们现在合并了,但是安卓制造商和运营商已经添加了他们自己的表情符号“版本”

    将键盘更改为具有自定义图像不会更改传输到其他设备的数据。所以,要回答问题的下一部分:他们的设备上显示的是传输的ASCII或Unicode字符,而不是发送者“键入”的内容

    换句话说,要回答您问题的下一部分,一般来说,如果自定义字符没有您的应用程序,则无法将其发送到其他设备。键盘是不够的,因为应用程序可以显示文本/图像。因此,除非应用程序知道你是图像的内容提供者或来源,否则它将显示它知道要做的任何事情。因此,自定义键盘甚至不会在您自己的设备上显示自定义表情符号,除非您也在使用自己的应用程序

    我说“一般不可能”,因为这里是你的选择:

  • 您可以成为Unicode联盟()的一部分,并提交您的表情符号图像供批准,以进入未来的Unicode版本。仅供参考,未来的表情符号已经在设计中。顺便说一句,这可能需要几年时间,而且他们不太可能批准带有商业偏见的图片。然而,unicode具有处理数十亿个字符的能力,而且几乎没有接近满(unicode 16,而不是unicode 8-unicode 8已满)。即便如此,Android团队仍需要采用它,并将其纳入未来的版本中,如smileys和当前的表情符号集

  • 你用自己的表情符号构建自己的应用程序,让通信双方的人下载,就像其他人一样。依我看,这对任何人来说都不是理想的选择,除了应用程序的开发者。尽管如此,我还是为他们的工作和成功鼓掌。这个行业变化无常,很难真正进入

  • 我是sdmmllc.com的一部分,我们正试图开发一个完全适合您这种情况的消息“平台”。我们想让短信应用程序“发现”其他短信应用程序,结合自定义表情符号等功能,而不会让用户感到困惑或不得不下载大量应用程序。这类似于web浏览器中的插件。我们的开发者爱我们,我们的用户爱我们,但这是一个缓慢的过程

  • 开发一个竞争平台。(祝你好运——似乎没有人真正理解这个概念,除了我们仅有的几个开发者,以及每天下载我们的应用程序并热爱我们的想法和平台的数百名用户……但到目前为止还没有钱……)


  • 您只能使用受支持的uniCode。您不能添加自己的用于一般用途。但您可以在应用程序内和应用程序之间使用它。这是不可能的


    简而言之,不可能创建自己的Unicode。但你可以通过应用程序对应用程序进行操作。两端都必须将这些字符存储在数据库中。当他们得到的时候匹配他们。

    我认为可扩展的图像是更好的方式。Google Play商店链接不可能断开。您可以使用ImageSpanable并使其显示在您的设备上(在大多数应用程序中)。但是如果你发短信,图像就不会成为短信的一部分,收件人也不知道如何显示它。即使他们安装了你的键盘也不行。通过spannables插入非密钥仅适用于本地设备,并且仅适用于当前会话(如果将其保存到磁盘并重新打开,则可能无法重新发布图像)。MMS支持图像,而不支持SMS。当通过短信发送表情符号时,它是通过unicode值发送的,并且显示的图像基于收件人的表情符号图像库,而不是发件人的。是的,但是现在谁的短信不使用彩信?多部分短信与彩信不同。即使使用彩信,文本中的表情符号也基于收件人的图像库,因为它也是unicode。只有OTT消息应用程序具有通用的“表情符号”库,因为它们都嵌入在同一个应用程序中。这还包括iPhone iMessage消息-它们通常通过OTT发送,但表情符号都是unicode。WhatsApp呢?在我自己的应用程序中,我如何控制表情符号的显示?要使用
    imagespan
    或任何其他更简单的方法?我们可以将表情符号添加到免费提供的unicode中,并将其加载到根访问中(我已经尝试过了,这很好)。我们可以使用自定义Unicode并直接加载到应用程序中吗。。?