Saltar al contenido

oksigenia_sms · Plugin de SMS para Flutter

Código abiertoMóvil

SMS largos en Android, con un solo permiso

En Android 12 y posteriores, trocear un SMS largo con el método estándar exige leer el estado del teléfono. oksigenia_sms trocea el mensaje por su cuenta y lo envía solo con SEND_SMS; es el motor de SMS de Oksigenia SOS.

flutter run — oksigenia_sms

El uso mínimo: trocear un SMS largo y enviarlo como uno solo

cat lib/main.dart

// Emulator number (not a real phone). AVD 5554 sends to 5556.

const String to = '5556';

…

final r = await OksigeniaSms.send(to: to, message: msg);

Se ejecuta en un emulador Android, concediendo solo el permiso SEND_SMS

adb shell pm grant com.oksigenia.oksms_demo android.permission.SEND_SMS

flutter run -d emulator-5554

Launching lib/main.dart on sdk gphone64 x86 64 in debug mode...

Running Gradle task 'assembleDebug'... 56.7s

…

I/flutter ( 2973): to : 5556

I/flutter ( 2973): message : 167 chars

I/flutter ( 2973): result : OksigeniaSmsResult(sent, 2/2 parts)

Un SMS multiparte con solo el permiso SEND_SMS, sin tocar la identidad del teléfono

oksigenia_sms envía un SMS multiparte real en un emulador Android

Para quién

  • Apps de seguridad y emergencia
  • Apps centradas en la privacidad
  • Android endurecido y GrapheneOS
  • Trabajo de campo e IoT

Qué hace

  1. Solo SEND_SMS

    El mensaje sale entero sin pedir READ_PHONE_STATE.

  2. Troceado según la codificación

    GSM-7 y UCS-2, sin cortar palabras.

  3. Entrega confirmada

    Un resultado por cada segmento del mensaje.

  4. Android de serie y endurecido

    Probado en Android 12 a 17 y en GrapheneOS, sin Google Play Services.

  • 1

    permiso (SEND_SMS)

  • 2

    codificaciones (GSM-7 y UCS-2)

  • 12–17

    versiones de Android probadas

De serie

  • Permisos mínimos
  • Sin Google Play Services
  • Código abierto (Apache 2.0)

Precio

Gratis · código abierto

Licencia: Apache 2.0