flutter_inappwebview 6.0.0-beta.2 copy "flutter_inappwebview: ^6.0.0-beta.2" to clipboard
flutter_inappwebview: ^6.0.0-beta.2 copied to clipboard

A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.

example/lib/main.dart

import 'dart:async';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

import 'package:flutter_inappwebview_example/chrome_safari_browser_example.screen.dart';
import 'package:flutter_inappwebview_example/headless_in_app_webview.screen.dart';
import 'package:flutter_inappwebview_example/in_app_webiew_example.screen.dart';
import 'package:flutter_inappwebview_example/in_app_browser_example.screen.dart';
import 'package:flutter_inappwebview_example/web_authentication_session_example.screen.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
// import 'package:path_provider/path_provider.dart';
// import 'package:permission_handler/permission_handler.dart';

InAppLocalhostServer localhostServer = new InAppLocalhostServer(documentRoot: 'assets');

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // await Permission.camera.request();
  // await Permission.microphone.request();
  // await Permission.storage.request();

  if (defaultTargetPlatform == TargetPlatform.android) {
    await InAppWebViewController.setWebContentsDebuggingEnabled(true);
  }

  if (!kIsWeb) {
    await localhostServer.start();
  }

  runApp(MyApp());
}

PointerInterceptor myDrawer({required BuildContext context}) {
  return PointerInterceptor(
    child: Drawer(
      child: ListView(
        padding: EdgeInsets.zero,
        children: <Widget>[
          DrawerHeader(
            child: Text('flutter_inappwebview example'),
            decoration: BoxDecoration(
              color: Colors.blue,
            ),
          ),
          ListTile(
            title: Text('InAppBrowser'),
            onTap: () {
              Navigator.pushReplacementNamed(context, '/InAppBrowser');
            },
          ),
          ListTile(
            title: Text('ChromeSafariBrowser'),
            onTap: () {
              Navigator.pushReplacementNamed(context, '/ChromeSafariBrowser');
            },
          ),
          ListTile(
            title: Text('WebAuthenticationSession'),
            onTap: () {
              Navigator.pushReplacementNamed(context, '/WebAuthenticationSession');
            },
          ),
          ListTile(
            title: Text('InAppWebView'),
            onTap: () {
              Navigator.pushReplacementNamed(context, '/');
            },
          ),
          ListTile(
            title: Text('HeadlessInAppWebView'),
            onTap: () {
              Navigator.pushReplacementNamed(context, '/HeadlessInAppWebView');
            },
          ),
        ],
      ),
    ),
  );
}

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

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(initialRoute: '/', routes: {
      '/': (context) => InAppWebViewExampleScreen(),
      '/InAppBrowser': (context) => InAppBrowserExampleScreen(),
      '/ChromeSafariBrowser': (context) => ChromeSafariBrowserExampleScreen(),
      '/HeadlessInAppWebView': (context) => HeadlessInAppWebViewExampleScreen(),
      '/WebAuthenticationSession': (context) => WebAuthenticationSessionExampleScreen(),
    });
  }
}
2220
likes
0
pub points
100%
popularity

Publisher

verified publisherinappwebview.dev

A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, flutter_inappwebview_internal_annotations, flutter_web_plugins, js

More

Packages that depend on flutter_inappwebview