从RN应用程序共享时,无法在Android上显示%符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从RN应用程序共享时,无法在Android上显示%符号相关的知识,希望对你有一定的参考价值。

我的React Native应用程序允许人们通过消息与朋友分享折扣。该消息在应用程序中是硬编码的:

const message = 'Get 10% off!'
Linking.openURL(`sms:? &body=$message`)

android上,%符号未正确解释,如下所示:

% o变成了这个奇怪的问号。

我尝试用各种Unicode替换%,逃避它\%%,或将其设置为大写,没有任何效果。

我应该如何编码%,以便在Android上按预期呈现?

答案

您可以尝试使用符号%的html代码:

<Text>
    &#10140;
<Text>

这应该有效,但要小心:

<Text>
    '&#10140;'
<Text>

那样不行

另一答案

对要通过链接发送的每个参数使用encodeURIComponent(),以正确编码任何特殊字符。

const message = encodeURIComponent('Get 10% off!')
Linking.openURL(`sms:? &body=$message`)

以上是关于从RN应用程序共享时,无法在Android上显示%符号的主要内容,如果未能解决你的问题,请参考以下文章

针对RN在Android上加载HTML显示问题

Android无法在通信过程中从相机切换到屏幕共享webrtc

如何在Android studio上运行从github上下载的RN项目

无法找到最新的可用模拟器运行时 - 在 iOS 上构建 RN 应用程序时出现 Image.xcassets

安卓怎么从数据库调取数据在界面上显示出来?有几种方法啊?

RN问题集合记录