react-native-caller
v0.1.2
Published
React Native module for Android that lets your app request default dialer role, initiate phone calls, and integrate with the native call system.
Maintainers
Readme
📞 react-native-caller
A React Native Android module that integrates with the native telecom APIs.
It allows your app to:
- 📱 Request default dialer role
- 📞 Make and manage calls
- 🔁 Enable call forwarding
- 💬 Manage quick replies
- 👥 Access and modify contacts
- 🚫 Manage blocked numbers
🚀 Installation
npm install react-native-caller
# or
yarn add react-native-caller⚙️ Android Setup
If you want your app to request becoming the default dialer:
<intent-filter>
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>📖 Usage
import Caller from "react-native-caller";
// Request default dialer role
await Caller.requestRole();
// Make a call
await Caller.makeCall("+15551234567");
// Get contacts
const contacts = await Caller.getAllContacts();
// Block a number
await Caller.addBlockedNumber("+15551234567");📚 API
📱 Default Dialer
requestRole(): Promise<string>→ Request your app to become default dialer
📞 Call Handling
makeCall(phoneNumber: string): Promise<string>→ Start a calltoggleVibration(value: boolean): Promise<string>→ Enable/disable vibrationgetVibrationStatus(): Promise<boolean>→ Get vibration status
🔁 Call Forwarding
forwardAllCalls(cfi: boolean, phoneNumber: string): Promise<string>
💬 Replies
getReplies(): Promise<string[]>saveReplies(replies: string): Promise<void>
👥 Contacts
getAllContacts(): Promise<SimpleContact[]>createNewContact(contact: Contact): Promise<string>updateContact(contact: Contact, photoStatus: number): Promise<string>deleteContact(contact: Contact): Promise<string>
🚫 Blocked Numbers
getBlockedNumbers(): Promise<string[]>addBlockedNumber(phoneNumber: string): Promise<string>removeBlockedNumber(phoneNumber: string): Promise<string>
🔒 Permissions
Request runtime permissions in your app:
import { PermissionsAndroid } from "react-native";
await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.CALL_PHONE,
PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
PermissionsAndroid.PERMISSIONS.WRITE_CONTACTS,
]);🧑💻 Contributing
We welcome contributions! Please check out the following before submitting a PR:
📄 License
MIT © 2025 [sumit7577]
Made with create-react-native-library
