flutter_simple_webview 0.0.1 copy "flutter_simple_webview: ^0.0.1" to clipboard
flutter_simple_webview: ^0.0.1 copied to clipboard

A Flutter package to easily display web content from a given URL with built-in internet connectivity checks and error handling.


flutter_simple_webview #

A lightweight Flutter WebView widget with built-in internet connectivity checks, error handling, and support for launching native apps (e.g., phone calls, email, maps, YouTube, etc.). Supports custom loading indicators, progress bar, retry logic, and customizable AppBar.

✨ Features #

  • 🌐 WebView with JavaScript enabled
  • 🔌 Internet connectivity check using connectivity_plus
  • 📶 Auto retry on network restored
  • 🧭 External link handling (e.g., tel:, mailto:, geo:, etc.)
  • 📊 Linear & circular progress indicators
  • ❌ Fallback error screen for no internet
  • 🔙 AppBar with back and refresh actions
  • ☁️ Custom callbacks for page events

🚀 Installation #

Add to your pubspec.yaml:

dependencies:
  flutter_simple_webview: ^1.0.0

🧑‍💻 Usage #

import 'package:flutter_simple_webview/flutter_simple_webview.dart';

FlutterSimpleWebView(
  url: "https://rahulreza.com",
  appBarTitle: "Rahul Reza",
  showAppBar: true,
  progressColor: Colors.blueAccent,
  onPageStarted: (url) => print("Started: $url"),
  onPageFinished: (url) => print("Finished: $url"),
  onWebResourceError: (error) => print("Error: ${error.description}"),
)

✅ Android Permissions #

Android (in example/android/app/src/main/AndroidManifest.xml) #

Inside the <manifest> tag:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>

<queries>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="tel" />
    </intent>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="mailto" />
    </intent>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <data android:scheme="geo" />
    </intent>
    <intent>
        <action android:name="android.intent.action.PROCESS_TEXT"/>
        <data android:mimeType="text/plain"/>
    </intent>
</queries>

✅ iOS Permissions #

iOS (in example/ios/Runner/Info.plist) #

<key>NSCameraUsageDescription</key>
<string>This app needs camera access to enable camera functionalities in the web view.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app needs microphone access to enable audio recording in the web view.</string>


4
likes
160
points
35
downloads

Publisher

verified publisherrahulreza.com

Weekly Downloads

A Flutter package to easily display web content from a given URL with built-in internet connectivity checks and error handling.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

connectivity_plus, flutter, fluttertoast, url_launcher, webview_flutter

More

Packages that depend on flutter_simple_webview