app_luanch_handler 0.0.4 copy "app_luanch_handler: ^0.0.4" to clipboard
app_luanch_handler: ^0.0.4 copied to clipboard

App Luanch Handler that help user easy handle call back via app scheme

app_luanch_handler #

AppLuanchHandler help you easily to handle result from other apps, that result get back via onNewIntent

Getting Started #

To use this plugin, add app_luanch_handler as a dependency in your pubspec.yaml file.

Usage #

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

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final ValueNotifier<String>_result = ValueNotifier("Unknow");

  late AppLuanchHandler applauncher;

  @override
  void initState() {
    super.initState();
    // Register handler
    applauncher = AppLuanchHandler(
      onResult: (result) {
        _result.value = result;
      },
      applyStatusFilter: false, // NOTE!!! If this true, it will return only status code. If your url does not have status code, it will throw an error. Default is false. Please read the doc for more detail.
    );
  }

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

  // Launch app that using deeplink.
  void launchApp() {
    applauncher.launch("https://example.com/somethinggggg");
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ValueListenableBuilder<String>(
                valueListenable: _result,
                builder: (context, value, child) {
                  return Text(value);
                },
              ),
              ElevatedButton(
                onPressed: () {
                  launchApp();
                },
                child: const Text("Luanch"),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Handle scheme #

If your app need to be hancle result back from external app, don't forget to add your scheme to AndroidManifest.xml and Info.plist.

Android #

Inside your AndroidManifest.xml add this: in your <activity> tag:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="your_scheme" />
</intent-filter>

iOS #

Inside your Info.plist add this:

<key>CFBundleURLTypes</key>
 <array>
  <dict>
   <key>CFBundleURLSchemes</key>
   <array>
    <string>your_scheme</string>
   </array>
  </dict>
 </array>

License #

This plugin is released under the MIT license.

2
likes
160
points
29
downloads

Publisher

verified publishersophoun.com

Weekly Downloads

App Luanch Handler that help user easy handle call back via app scheme

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface, url_launcher

More

Packages that depend on app_luanch_handler