react-native-screenshotcatch
Version:
A ReactNative Tool for catch Screen Shot Event
81 lines (62 loc) • 1.86 kB
Markdown
# react-native-screenshotcatch
## Getting started
`$ npm install react-native-screenshotcatch --save`
### Installation
#### iOS
RN version >= 0.60
autolink
RN Version < 0.60
```
pod 'RNScreenshotcatch', :path => '../node_modules/react-native-screenshotcatch'
```
#### Android
1. Open up `android/app/src/main/java/[...]/MainActivity.java`
- Add `import com.dreamser.screenshotcatch.RNScreenshotcatchPackage;` to the imports at the top of the file
- Add `new RNScreenshotcatchPackage()` to the list returned by the `getPackages()` method
2. Append the following lines to `android/settings.gradle`:
```
include ':react-native-screenshotcatch'
project(':react-native-screenshotcatch').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screenshotcatch/android')
```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
```
compile project(':react-native-screenshotcatch')
```
## Config
#### Android
```
// MainActivity.java
import com.dreamser.screenshotcatch.RNScreenshotcatchModule;
public class MainActivity extends ReactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScreenShotShareModule.initScreenShotShareSDK(this); // here
}
// ...other code
}
```
add
## Usage
```javascript
import RNScreenshotcatchUtil from 'react-native-screenshotcatch';
export default class Root extends React.Component{
componentWillMount(){
ScreenShotShareUtil.startListener(res => {
if(res && res.code === 200){
// success
}else{
// fail
}
})
}
componentWillUnmount(){
ScreenShotShareUtil.stopListener()
}
}
```
## Other API
Judge Android phone has NavigationBar
```
const hasBar = await ScreenShotShareUtil.hasNavigationBar()
```