Android передает несколько номеров с целью SMS - PullRequest
3 голосов
/ 15 марта 2012

Я получаю разные номера из Контактов и передаю их в приложение SMS. Я использую следующее:

Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:"+numbers) );    //numbers separated with ;
   intent.putExtra( "sms_body", body );
  startActivity( intent );

Проблема в том, что я разделяю числа с помощью '; ', он не работает на Galaxy S, но работает на других, таких как HTC, Samsung Gio и т. д. На Galaxy S он работает, если я разделяю числа запятыми', '. Так как решить эту проблему?

Ответы [ 2 ]

7 голосов
/ 15 марта 2012

Обычно использование точки с запятой (';') является правильным выбором для разделения телефонных номеров. Так что вы должны использовать это. Это может быть связано с конкретными настройками или пользовательскими приложениями, что он не работает, например, в Galaxy S.

Я бы предложил использовать точку с запятой везде, кроме устройств Samsung. К сожалению, вы должны принять это уродливое решение для конкретного поставщика в своем исходном коде.

  String separator = "; ";
  if(android.os.Build.MANUFACTURER.contains("Samsung")){
    separator = ", ";
  }
  // set the numbers string with the use of 'separator'
0 голосов
/ 18 февраля 2013

Обратите внимание, что предоставленное решение (с использованием строки os.Build.MANUFACTURER) работает не во всех ситуациях! У меня есть несколько пользователей, которые используют устройство Samsung, которое работает под управлением CyanogenMod версии Android. В этой ситуации строка MANUFACTURER содержит «Samsung», но разделитель должен быть «;» вместо ",". Я не нашел решения этой проблемы еще ...

...