flutter_sms_reader
Flutter plugin to read SMS inbox, conversations, and messages on Android with typed models.
Features
- Read all SMS messages as typed
SmsMessagemodels - List conversation threads as
SmsConversation - Fetch messages in a conversation as
SmsConversationMessage - Filter messages by address/number
- Safe parsing of platform data to strongly typed models
Getting started
- Add dependency in your
pubspec.yaml:dependencies: flutter_sms_reader: ^0.0.1 - On Android, ensure you declare and request SMS permissions (e.g.,
READ_SMS) at runtime. - This package currently supports Android. iOS is not implemented yet.
Usage
import 'package:flutter_sms_reader/flutter_sms_reader.dart';
Future<void> demo() async {
// Get all SMS
final messages = await FlutterSmsReader.getAllSms();
// Get conversations
final conversations = await FlutterSmsReader.getConversations(limit: 10);
// Get messages for a conversation
final convoMessages = await FlutterSmsReader.getConversationMessages('123');
// Get messages by address/number
final fromAlice = await FlutterSmsReader.getMessagesByAddress('+123456789');
}
See the full runnable example in the example/ app.
API
FlutterSmsReader.getAllSms()→Future<List<SmsMessage>>FlutterSmsReader.getConversations({int limit = 0, int offset = 0})→Future<List<SmsConversation>>FlutterSmsReader.getConversationMessages(String threadId)→Future<List<SmsConversationMessage>>FlutterSmsReader.getMessagesByAddress(String address)→Future<List<SmsMessage>>
Permissions (Android)
You must declare and request SMS permissions. Consider using permission_handler to request runtime permissions.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Changelog
See CHANGELOG.md.