react-native-sim-based-sms
v0.1.1
Published
A React Native library to send SMS from a specific SIM slot on Android.
Maintainers
Readme
react-native-sim-based-sms
A React Native library to send SMS from a specific SIM slot on Android.
Installation
npm install react-native-sim-based-smsUsage
Import and use the sendSms function in your component.
import * as React from 'react';
import { Button, Alert, PermissionsAndroid, View } from 'react-native';
import { sendSms } from 'react-native-sim-based-sms';
export default function MySmsComponent() {
const handleSendSms = async (simSlot: 0 | 1) => {
try {
const granted = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.SEND_SMS,
PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE,
]);
if (
granted['android.permission.SEND_SMS'] === 'granted' &&
granted['android.permission.READ_PHONE_STATE'] === 'granted'
) {
const phoneNumber = '+1234567890';
const message = 'Hello from React Native!';
const result = await sendSms(phoneNumber, message, simSlot);
Alert.alert('Success', result);
} else {
Alert.alert('Permissions Denied', 'Cannot send SMS without required permissions.');
}
} catch (error) {
if (error instanceof Error) {
Alert.alert('Error', error.message);
}
}
};
return (
<View>
<Button title="Send SMS from SIM 1" onPress={() => handleSendSms(0)} />
<Button title="Send SMS from SIM 2" onPress={() => handleSendSms(1)} />
</View>
);
}API
sendSms(phoneNumber, message, simSlot)
Sends an SMS message to a given phone number from a specific SIM slot. This function is only available on Android.
| Parameter | Type | Description |
| ------------- | ---------- | ----------------------------------------------------- |
| phoneNumber | string | The recipient's phone number. |
| message | string | The content of the SMS message. |
| simSlot | 0 or 1 | The SIM slot to send from (0 for SIM 1, 1 for SIM 2). |
Returns: A Promise<string> that resolves with a success message or rejects with an error.
getSimInfo()
Retrieves a list of active SIM cards and their information.
Returns: A Promise<SimInfo[]> promise that resolves with an array of SIM card info objects or rejects with an error.
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Made with create-react-native-library
