Skip to content

remobile/react-native-battery-status

Folders and files

NameName
Last commit message
Last commit date

Latest commit

06783df · Oct 16, 2017

History

7 Commits
Oct 16, 2017
Feb 22, 2017
Mar 30, 2017
Oct 17, 2016
Oct 17, 2016
Nov 12, 2015
Oct 17, 2016
Mar 30, 2017
Oct 16, 2017

Repository files navigation

React Native BatteryStatus (remobile)

A cordova battery status listener for react-native, support for ios and android

Installation

npm install @remobile/react-native-battery-status --save

Installation (iOS)

  • Drag RCTBatteryStatus.xcodeproj to your project on Xcode.
  • Click on your main project file (the one that represents the .xcodeproj) select Build Phases and drag libRCTBatteryStatus.a from the Products folder inside the RCTBatteryStatus.xcodeproj.
  • Look for Header Search Paths and make sure it contains both $(SRCROOT)/../../../react-native/React as recursive.

Installation (Android)

...
include ':react-native-battery-status'
project(':react-native-battery-status').projectDir = new File(settingsDir, '../node_modules/@remobile/react-native-battery-status/android')
  • In android/app/build.gradle
...
dependencies {
    ...
    compile project(':react-native-battery-status')
}
  • register module (in MainApplication.java)
......
import com.remobile.batteryStatus.RCTBatteryStatusPackage;  // <--- import

......

@Override
protected List<ReactPackage> getPackages() {
   ......
   new RCTBatteryStatusPackage(),            // <------ add here
   ......
}

Usage

Example

var React = require('react');
var ReactNative = require('react-native');
var {
    StyleSheet,
    View,
    Image
} = ReactNative;

var BatteryStatus = require('@remobile/react-native-battery-status');
var Button = require('@remobile/react-native-simple-button');

module.exports = React.createClass({
    getInitialState () {
        return {
            status: '',
        };
    },
    onBatteryStatus(info) {
        this.setState({status: JSON.stringify({onBatteryStatus: info})});
    },
    onBatteryLow(info) {
        this.setState({status: JSON.stringify({onBatteryLow: info})});
    },
    onBatteryCritical(info) {
        this.setState({status: JSON.stringify({onBatteryCritical: info})});
    },
    register() {
        BatteryStatus.register({
            onBatteryStatus: this.onBatteryStatus,
            onBatteryLow: this.onBatteryLow,
            onBatteryCritical: this.onBatteryCritical,
        });
    },
    unregister() {
        BatteryStatus.unregister();
    },
    render() {
        return (
            <View style={styles.container}>
                <Button onPress={this.register}>
                    register
                </Button>
                <Button onPress={this.unregister}>
                    unregister
                </Button>
                <Text>
                    {this.state.status}
                </Text>
            </View>
        );
    },
});


var styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'space-around',
        alignItems: 'center',
        backgroundColor: 'transparent',
    },
});

HELP

thanks

see detail use

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published