oksigenia_sms · Plugin de SMS para Flutter
Código abiertoMóvilSMS 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.
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
Para quién
- Apps de seguridad y emergencia
- Apps centradas en la privacidad
- Android endurecido y GrapheneOS
- Trabajo de campo e IoT
Qué hace
Solo SEND_SMS
El mensaje sale entero sin pedir READ_PHONE_STATE.
Troceado según la codificación
GSM-7 y UCS-2, sin cortar palabras.
Entrega confirmada
Un resultado por cada segmento del mensaje.
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