Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
react-native-ringtone-manager-new
Advanced tools
Readme
Setting ringtones programatically is not available in iOS unfortunately. iTunes has it's own ringtone store available and there is no public API for setting ringtones. This library is for Android only.
With npm:
$ npm install react-native-ringtone-manager-new --save
Or with yarn:
$ yarn add react-native-ringtone-manager-new
$ react-native link react-native-ringtone-manager-new
android/app/src/main/java/[...]/MainActivity.java
import com.reactlibrary.RNRingtoneManagerPackage;
to the imports at the top of the filenew RNRingtoneManagerPackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-ringtone-manager-new'
project(':react-native-ringtone-manager-new').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-ringtone-manager-new/android')
android/app/build.gradle
:
compile project(':react-native-ringtone-manager-new')
import { Button } from 'react-native';
import RingtoneManager from 'react-native-ringtone-manager-new';
const App = () => {
async function setRingtone() {
try {
const granted = await RingtoneManager.requestPermissions();
if (granted) {
const options = {
title: 'Select Ringtone',
type: RingtoneManager.TYPE_ALL,
includeSilent: true,
stopPreviousRingtone: true,
};
const uri = await RingtoneManager.getRingtoneUri(options);
if (uri) {
RingtoneManager.setRingtone(
uri,
RingtoneManager.TYPE_ALL,
(value) => {
console.log(value);
},
(err) => {
console.log(err);
}
);
console.log('Ringtone set successfully.');
}
}
} catch (err) {
console.log('Error while setting ringtone:', err);
}
}
return (
<View style={styles.container}>
<Button title="Set Ringtone" onPress={() => setRingtone()} />
</View>
);
};
export default App;
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
});
The API is still under development.
RingtoneManager.getRingtones()
React.useEffect(() => {
RingtoneManager.getRingtones((value) => {
setResult(value);
});
}, []);
Returns a list of Ringtones
RingtoneManager.getRingsByType(RINGTONE_TYPE)
React.useEffect(() => {
RingtoneManager.getRingsByType(RingtoneManager.TYPE_NOTIFICATION, (value) => {
setResult(value);
});
}, []);
Returns a list of Ringtones
of the given type:
RingtoneManager.TYPE_ALL
RingtoneManager.TYPE_RINGTONE
RingtoneManager.TYPE_NOTIFICATION
RingtoneManager.TYPE_ALARM
RingtoneManager.createRingtone(settings)
Sets the system ringtone to the given ringtone. Settings options given below:
Param | Type | Description |
---|---|---|
uri | String | The full file path to the ringtone on the file system. |
title | String | The title of the ringtone. Will appear in the picker with this title. |
artist | String | The artist of the ringtone. |
size | Integer | The size of the ringtone file. |
mimeType | String | The mime type of the ringtone, for example: audio/mp3 |
duration | Integer | The duration of the ringtone in seconds. |
ringtoneType | RINGTONE_TYPE | The ringtone type: TYPE_ALL , TYPE_RINGTONE , TYPE_NOTIFICATION , TYPE_ALARM |
RingtoneManager.pickRingtone()
const pickRingtone = () => {
RingtoneManager.pickRingtone(
RingtoneManager.TYPE_NOTIFICATION,
(value: rederItemProps) => {
console.log(value);
},
(error: any) => {
console.log(error);
}
);
};
Opens the Android ringtone picker.
RingtoneManager.setRingtone()
const setRingtone = () => {
RingtoneManager.setRingtone(
uri,
RingtoneManager.TYPE_ALL,
(value) => {
console.log(value);
},
(err) => {
console.log(err);
}
);
};
set the Ringtone.
FAQs
Setting ringtones programatically is not available in iOS unfortunately. iTunes has it's own ringtone store available and there is no public API for setting ringtones. This library is for Android only.
The npm package react-native-ringtone-manager-new receives a total of 0 weekly downloads. As such, react-native-ringtone-manager-new popularity was classified as not popular.
We found that react-native-ringtone-manager-new demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.