internet_permission 1.0.5 copy "internet_permission: ^1.0.5" to clipboard
internet_permission: ^1.0.5 copied to clipboard

A Flutter plugin for managing internet permissions and checking network connectivity. Check if device is connected to internet, get connection type (WiFi, Mobile, Ethernet, VPN).

Internet Permission #

pub package

Flutter loyihalari uchun internet ruxsatlarini boshqarish va tarmoq ulanishini tekshirish package'i.

Xususiyatlar #

✅ Internet ulanishini tekshirish
✅ Ulanish turini aniqlash (WiFi, Mobile, Ethernet, VPN)
✅ Internet ruxsatlarini tekshirish
✅ Platform versiyasini olish
Avtomatik setup script

O'rnatish #

1. pubspec.yaml ga qo'shing: #

dependencies:
  internet_permission: ^1.0.5

Yoki:

flutter pub add internet_permission

2. Ruxsatlarni avtomatik qo'shing: #

dart run internet_permission:setup_permissions

Bu buyruq avtomatik ravishda:

  • ✅ Android AndroidManifest.xml ga INTERNET va ACCESS_NETWORK_STATE qo'shadi
  • ✅ iOS Info.plist ga NSAppTransportSecurity qo'shadi

3. Pub get qiling: #

flutter pub get

Foydalanish #

import 'package:flutter/material.dart';
import 'package:internet_permission/internet_permission.dart';

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _permission = InternetPermission();
  String _status = 'Tekshirilmoqda...';

  @override
  void initState() {
    super.initState();
    _checkInternet();
  }

  Future<void> _checkInternet() async {
    // Internet bormi?
    final isConnected = await _permission.isConnected();
    
    // Ulanish turi
    final type = await _permission.getConnectionType();
    // 'wifi', 'mobile', 'ethernet', 'vpn', 'none'
    
    // Ruxsat bormi?
    final hasPermission = await _permission.hasInternetPermission();
    
    setState(() {
      _status = '''
Internet: ${isConnected ? '✅ Ulangan' : '❌ Yo\'q'}
Turi: $type
Ruxsat: ${hasPermission ? '✅ Bor' : '❌ Yo\'q'}
      ''';
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Internet Test')),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text(_status, textAlign: TextAlign.center),
              SizedBox(height: 20),
              ElevatedButton(
                onPressed: _checkInternet,
                child: Text('Qayta tekshirish'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

API #

isConnected()Future<bool> #

Internet ulanishini tekshiradi.

final connected = await InternetPermission().isConnected();

getConnectionType()Future<String> #

Ulanish turini qaytaradi: 'wifi', 'mobile', 'ethernet', 'vpn', 'none'

final type = await InternetPermission().getConnectionType();
if (type == 'wifi') {
  print('WiFi orqali ulangan');
}

hasInternetPermission()Future<bool> #

Internet ruxsati borligini tekshiradi.

final hasPermission = await InternetPermission().hasInternetPermission();

getPlatformVersion()Future<String?> #

Platform versiyasini qaytaradi.

final version = await InternetPermission().getPlatformVersion();
print(version); // "Android 13" yoki "iOS 16.0"

Qo'lda sozlash #

Agar avtomatik script ishlamasa, qo'lda qo'shing:

Android #

android/app/src/main/AndroidManifest.xml ga qo'shing:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
    <application>
        <!-- ... -->
    </application>
</manifest>

iOS #

ios/Runner/Info.plist ga qo'shing (</dict></plist> dan oldin):

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

⚠️ Production uchun: Faqat HTTPS ishlatish tavsiya etiladi.

Xatoliklarni hal qilish #

Script ishlamasa #

# 1. Tozalash
flutter clean

# 2. Qayta setup
dart run internet_permission:setup_permissions

# 3. Pub get
flutter pub get

Android build xatosi #

cd android
gradlew clean
cd ..
flutter clean
flutter pub get

iOS build xatosi #

cd ios
pod deintegrate
pod install
cd ..
flutter clean
flutter pub get

Misol #

To'liq ishlaydigan misol uchun example papkasiga qarang:

cd example
flutter run

Hissa qo'shish #

Pull request'lar xush kelibsiz! Katta o'zgarishlar uchun avval issue oching.

Litsenziya #

MIT License - batafsil LICENSE faylida.

Muallif #

AbubakrFlutter

Changelog #

1.0.2 #

  • ✨ Avtomatik setup script qo'shildi
  • 📝 README yangilandi
  • 🐛 Bug fix'lar

1.0.1 #

  • 📱 Android va iOS qo'llab-quvvatlash
  • ✅ Internet holat tekshirish
  • 🔌 Ulanish turi aniqlash

1.0.0 #

  • 🎉 Birinchi release
4
likes
150
points
378
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for managing internet permissions and checking network connectivity. Check if device is connected to internet, get connection type (WiFi, Mobile, Ethernet, VPN).

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on internet_permission

Packages that implement internet_permission