Как отправить смайлик с намерением в WhatsApp?

Я знаю, что мы можем отправить простой текст в WhatsApp с помощью намерения, например:

 Intent sendIntent = new Intent();
 sendIntent.setAction(Intent.ACTION_SEND);
 sendIntent.putExtra(Intent.EXTRA_TEXT,"Text to be sent on whatsapp");
 sendIntent.setType("text/plain");
 sendIntent.setPackage("com.whatsapp");
 startActivity(sendIntent);

Но я хочу иметь возможность отправлять смайлики (смайлики) в WhatsApp через намерение.
Как это возможно? У нас есть специальные коды для смайликов?


person Gautam Jain    schedule 05.10.2016    source источник
comment
Вы можете проверить здесь. как это сделать...   -  person heart hacker    schedule 05.10.2016
comment
Я хочу иметь возможность отправлять смайлики в WhatsApp через намерение. Эта ссылка, которой вы поделились, не помогает.   -  person Gautam Jain    schedule 05.10.2016


Ответы (2)


Я использовал StringBuilder для этого, например:

int unicode = 0x1F600
StringBuilder s = new StringBuilder();
s.append("YOUR MESSAGE HERE");
s.append(Character.toChars(unicode));

Результирующая строка будет примерно такой

ВАШЕ СООБЩЕНИЕ ЗДЕСЬ????

Скопируйте юникод из здесь, но не забудьте изменить код, который вы скопируйте с этой веб-страницы с U-1F600 на 0x1F600.

U-1F600 - это юникод, но андроид его не распознает. 0x1F600 — это шестнадцатеричный код для Android.

person shivanshPurple    schedule 10.09.2020

Используйте это вместо использования StringBuilder.

 // send message with emojis
       int waveEmojiUnicode = 0x1F44B,
           clapEmojiUnicode = 0x1F44F,
           faceTongueEmojiUnicode = 0x1F60B;
        
            char[] waveEmojiChars = Character.toChars(waveEmojiUnicode);
            char[] clapEmojiChars = Character.toChars(clapEmojiUnicode);
            char[] faceTongueEmojiChars = Character.toChars(faceTongueEmojiUnicode);
        
            String s1 = "Hi Noah ", s2 = ", TimeLY is a nice app ", s3 = ". However, I would like" + " to report a bug [ ... ]. My name is [ ... ] by the way.";
        
            String message = s1 + String.valueOf(waveEmojiChars) + s2 + String.valueOf(clapEmojiChars) + s3 + String.valueOf(faceTongueEmojiChars);

     Intent sendIntent = new Intent();
     sendIntent.setAction(Intent.ACTION_SEND);
     sendIntent.putExtra(Intent.EXTRA_TEXT, message);
     sendIntent.setType("text/plain");
     sendIntent.setPackage("com.whatsapp");
     startActivity(sendIntent);
person Ebenmelu Noah    schedule 13.06.2021