1. 安装 react-native-system-setting
npm i -S react-native-system-setting
或者 yarn add -S react-native-system-setting
都可以啦。
2. 配置一大堆东西,这里只说安卓的。
2.1 自动配置
run 下这个 react-native link to link react-native-system-setting
就可以自动配置好了,不过我建议手动好点,安全。
2.2 手动配置
2.2.1 在Android文件夹下的 android/settings.gradle
下添加 如下代码
include ':react-native-system-setting'
project(':react-native-system-setting').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-system-setting/android')
2.2.2 在Android文件夹下的 android/app/build.gradle
下添加 如下代码
dependencies {
...
compile project(':react-native-system-setting')
}
2.2.3 在Android文件夹下的 android/app/src/main/java/..packageName../MainApplication.java
下添加 如下代码
import com.ninty.system.setting.SystemSettingPackage;
@Override
protected List<ReactPackage> getPackages() {
return Arrays.asList(
new MainReactPackage(),
new SystemSettingPackage() /** 添加这个 */
);
}
这里提醒下,上面配置完成后,记得用 Android Studio 来重新打包安装下,可能效果更佳。
3. 用法
import SystemSetting from 'react-native-system-setting'
// 获取当前系统音量
SystemSetting.getVolume().then((volume)=>{
console.log('Current volume is ' + volume);
});
// 改变当前系统音量
SystemSetting.setVolume(0.5);
// 监听系统音量的变化
const volumeListener = SystemSetting.addVolumeListener((data) => {
const volume = data.value;
console.log(volume);
});
// 移除监听系统音量
SystemSetting.removeVolumeListener(volumeListener)
亲测有效,大家可以试试,
官网还提供了获得亮度,Wifi开关,位置,蓝牙状态
的方法,自行解决啦。
转载于:https://www.jianshu.com/p/5e3fab1426f6