Я реализовал службу, которая слушает команды, выданные через ADB. Пример команды, отправляемой через АБРЫ может выглядеть следующим образом:Проблемы с кодированием, использующие ADB для отправки сообщений
ADB оболочка утро StartService -a com.testandroid.SEND_SMS -e номер 123123123 -e сообщение "АОА"
Теперь, проблема вот что кодировка строки «åäö», кажется, испортит. Если я возьму эту строковую опцию и немедленно выведу ее в журнал, я получаю квадрат «[]», неизвестный символ. Если я отправлю это сообщение, я получаю китайские символы в приложении сообщений. Пока я придерживаюсь символов не-умлаута (ASCII, я думаю), все работает нормально.
Я использую Windows 7 и командную строку для этого. Я не коснулся кодировки командной строки, и я попытался обработать строку extras, получив байтовые символы, передав в UTF-8 как аргумент кодирования, а затем создав новую строку, проходящую в UTF-8, в качестве аргумента кодировки там также. Тем не менее, кубики.
Значения байтов, при использовании GetBytes() являются: -27, ä: -92, ö: -74
Как получить это играть хороший, так что я могу использовать, по меньшей мере, умлауты?
Все это отлично работает в Linux.
Ну, cmd.exe и PowerShell излагают проблему, когда речь идет о кодировании, особенно когда речь идет о переходе команды, такие как: «ADB оболочка утра StartService -a nu.app.DO_MESSAGE -e ints 123 -e сообщение 'åäöÅÄÖ' ", потому что никоим образом невозможно получить эту строку, чтобы выйти правильно. Я сузил его до где-то между cmd.exe, выписывая команду adb, которая, в свою очередь, передает команду оболочке на моем устройстве. Когда я передаю строки «вручную», набрав «adb shell», который открывает командную строку оболочки, а затем выдает команду «am launchervice ...», все работает. –
Вы протестировали, если он работает после перебора кодовой страницы в UTF-8? http://stackoverflow.com/questions/388490/unicode-characters-in-windows-command-line-how – Robert
Да, у меня есть. Я пробовал несколько разных кодовых страниц, чтобы понять, не имеет ли это никакого эффекта, увы, ничего. Он продолжает давать мне такие же нечитаемые персонажи.Когда я набираю «åäöÅÄÖ», похоже, что оболочка переводит некоторые из этих символов для управления кодами, потому что я получаю вывод «å¤¶Å» Ö € _ =/system/bin/app_process », который просто неверен. –