react-native实现设置系统音量(react-native-system-setting)。

3911678-b7c9b4b4698fa6a7.png
六一快乐

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

猜你喜欢

转载自blog.csdn.net/weixin_34377919/article/details/91096313