0.2.3 • Published 3 years ago

react-native-wifi-light v0.2.3

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

react-native-wifi-light

Wifi iteractive for react-native

Installation

npm i react-native-wifi-light --save

iOS

You need use enable Access WIFI Information, with correct profile. Hotspot Configuration is required in order to connect to networks.

iOS 13

You need put "Privacy - Location When In Use Usage Description" or "Privacy - Location Always and When In Use Usage Description" in Settings -> info

Android

ACCESS_FINE_LOCATION permission

Since Android 6, you must request the ACCESS_FINE_LOCATION permission at runtime to use the device's Wi-Fi scanning and managing capabilities. In order to accomplish this, you can use the PermissionsAndroid API or React Native Permissions.

Example:

import { PermissionsAndroid } from 'react-native';

const granted = await PermissionsAndroid.request(
	PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
	{
		title: 'Location permission is required for WiFi connections',
		message:
			'This app needs location permission as this is required  ' +
			'to scan for wifi networks.',
		buttonNegative: 'DENY',
		buttonPositive: 'ALLOW',
	},
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
	// You can now use react-native-wifi-reborn
} else {
	// Permission denied
}

Usage

import Wifi from "react-native-wifi-light";

componentDidMount(){
    PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
            title: 'Location permission is required for WiFi connections',
            message:
                'This app needs location permission as this is required  ' +
                'to scan for wifi networks.',
            buttonNegative: 'DENY',
            buttonPositive: 'ALLOW',
        },
    )
    .then((res) => {
        if (res === PermissionsAndroid.RESULTS.GRANTED) {
            Wifi.onScanResults = (mess) => {
                this.listWifi = JSON.parse(mess.data);
                console.log(this.listWifi);
                this.setState({
                    isUpdateView: !this.state.isUpdateView,
                });
            };
            Wifi.getWifiList();
        } else {
        }
    })
    .catch((err) => {});
}

Methods

The api documentation is in progress.

Android & iOS

The following methods work on both Android and iOS

getWifiList(): Promise<Array<Any>>

Returns a promise that resolves a list of available Wifi SSIDs.

startScan(): Promise<Array<Any>>

Similar to getWifiList but it forcefully starts a new WiFi scan and only passes the results when the scan is done.

Event

onScanResults: callback(data: any)

The event wil be executed when list wifi is ready

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

0.2.3

3 years ago

0.2.0

3 years ago

0.2.2

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago