react-native-wifi-light
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

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

Package Sidebar

Install

npm i react-native-wifi-light

Weekly Downloads

20

Version

0.2.3

License

MIT

Unpacked Size

997 kB

Total Files

138

Last publish

Collaborators

  • mtoan2111