0.1.18 • Published 5 years ago
react-native-battery v0.1.18
react-native-battery
A cross-platform React Native module that returns the battery level/status of a device. Supports iOS and Android.
Package Installation
npm install react-native-battery --save
iOS automatic setup
react-native link react-native-battery
Android setup
react-native link react-native-battery
may work, but it sometimes munges files. If automatic installation fails, use the following manual steps.- Add to
MainApplication.java
:
import com.rctbattery.BatteryManagerPackage;
// ...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new BatteryManagerPackage(),
// ...
);
}
- Add to
android/settings.gradle
:
include ':react-native-battery'
project(':react-native-battery').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-battery/android')
//...
- Add to
android/app/build.gradle
:
dependencies {
compile project(':react-native-battery')
//...
}
Example
'use strict';
var React = require('react-native');
var BatteryManager = require('NativeModules').BatteryManager;
var {
AppRegistry,
StyleSheet,
Text,
View,
DeviceEventEmitter,
} = React;
var RCTBattery = React.createClass({
getInitialState: function() {
return {batteryLevel: null, charging:false};
},
onBatteryStatus: function(info){
this.setState({batteryLevel: info.level});
this.setState({charging: info.isPlugged});
},
componentDidMount: function(){
BatteryManager.updateBatteryLevel(function(info){
this._subscription = DeviceEventEmitter.addListener('BatteryStatus', this.onBatteryStatus);
this.setState({batteryLevel: info.level});
this.setState({charging: info.isPlugged});
}.bind(this));
},
componentWillUnmount: function(){
this._subscription.remove();
},
render: function() {
var chargingText;
if(this.state.charging){
chargingText =<Text style={styles.instructions}>Charging </Text>;
} else {
chargingText =<Text style={styles.instructions}>Not Charging </Text>;
}
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Battery Level {this.state.batteryLevel}
</Text>
{chargingText}
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('RCTBattery', () => RCTBattery);
0.1.18
5 years ago
0.1.17
6 years ago
0.1.16
7 years ago
0.1.15
7 years ago
0.1.14
7 years ago
0.1.13
8 years ago
0.1.12
9 years ago
0.1.11
10 years ago
0.1.10
10 years ago
0.1.9
10 years ago
0.1.7
10 years ago
0.1.6
10 years ago
0.1.5
10 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago