Nano Hash - криптовалюты, майнинг, программирование

Android передает несколько номеров в намерение SMS

Я получаю разные номера из контактов и передаю их в приложение 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 это работает, если я разделяю числа запятыми ','. Итак, как решить эту проблему?


Ответы:


1

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

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

  String separator = "; ";
  if(android.os.Build.MANUFACTURER.contains("Samsung")){
    separator = ", ";
  }
  // set the numbers string with the use of 'separator'
15.03.2012
  • К сожалению, это решение устранило проблему только со встроенными приложениями. 28.11.2012
  • обратите внимание, что приведенный выше код работает лучше всего, если вы сделаете сравнение нечувствительным к регистру — некоторые устройства возвращают samsung, для которого приведенный выше код не будет соответствовать 13.06.2013

  • 2

    Обратите внимание, что предоставленное решение (с использованием строки os.Build.MANUFACTURER) работает не во всех ситуациях! У меня есть несколько пользователей, которые используют устройство Samsung, на котором установлена ​​версия Android Cyanogenmod. В этой ситуации строка ПРОИЗВОДИТЕЛЬ содержит «Samsung», но разделителем должен быть «;». вместо ",". Я пока не нашел решения этой проблемы...

    18.02.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..