react-native-home-power-detection
v0.1.0
Published
React Native Home Power Action Detection
Downloads
3
Readme
React Native Home Power Detection
Installation
via npm
Run npm install react-native-home-power-detection --save
Linking
Automatic
react-native link react-native-home-power-detection
(or using rnpm
for versions of React Native < 0.27)
rnpm link react-native-home-power-detection
For iOS users using Pods
You still need to run pod install
after running the above link command inside your IOS
folder.
Manual
Add the following lines to your build targets in your Podfile
pod 'React', :path => '../node_modules/react-native'
# Explicitly include Yoga if you are using RN >= 0.42.0
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'RNHPListener', :path => '../node_modules/react-native-home-power-detection'
# React-Native is not great about React double-including from the Podfile
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end
# It removes React & Yoga from the Pods project, as it is already included in the main project.
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end
end
Then run pod install
optional in
android/build.gradle
:in
android/app/build.gradle
:
dependencies {
...
implementation "com.facebook.react:react-native:+" // From node_modules
+ implementation project(':react-native-home-power-detection')
}
- in
android/settings.gradle
:
...
include ':app'
+ include ':react-native-home-power-detection'
+ project(':react-native-home-power-detection').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-home-power-detection/android')
With React Native 0.29+
- in
MainApplication.java
:
+ import com.laku6.RNHPListener.RNHPListenerPackage;
public class MainApplication extends Application implements ReactApplication {
//......
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
+ new RNHPListenerPackage(),
new MainReactPackage()
);
}
......
}
With older versions of React Native:
- in
MainActivity.java
:
+ import com.laku6.RNHPListener.RNHPListenerPackage;
public class MainActivity extends ReactActivity {
......
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
+ new RNHPListenerPackage(),
new MainReactPackage()
);
}
}
Usage
Whenever you want to use it within React Native code now you can:
import RNHPEvent from 'react-native-home-power-detection';
componentDidMount() {
// if you want to react to keyHome
RNHPEvent.onKeyHomeListener(() => {
console.log(`onKeyHome detected`);
RNHPEvent.removeKeyHomeListener();
});
// if you want to react to keyPower
RNHPEvent.onKeyPowerListener(() => {
console.log(`onKeyPower detected`);
RNHPEvent.removeKeyPowerListener();
});
}
componentWillUnmount() {
if(Platform.OS === "android") RNHPEvent.stopListener();
}