Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.5.1

launch_at_startup

Este plugin permite que aplicativos desktop do Flutter sejam executados automaticamente ao iniciar ou fazer login.

macOSWindowsLinux
Downloads em 30 dias
46,8 mil
Curtidas
151
Pontos Pub
125

Instalar pacote

flutter pub add launch_at_startup

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote launch_at_startup permite que aplicativos desktop do Flutter se iniciem automaticamente quando o usuário fizer login no macOS, Windows ou Linux. Ele fornece uma API simples para verificar, habilitar ou desabilitar o comportamento de inicialização automática em várias plataformas. Isso é particularmente útil para aplicativos que precisam rodar continuamente em segundo plano, como monitores de sistema, ferramentas de notificação ou utilitários de produtividade. O plugin se integra perfeitamente ao suporte do Flutter para desktop e não exige alterações em código nativo. Ele utiliza mecanismos específicos da plataforma para gerenciar com confiabilidade as entradas de inicialização.

Casos de uso

  • Aplicativos de monitoramento em segundo plano
  • Ferramentas de utilidade do sistema
  • Serviços de notificação
  • Iniciando automaticamente aplicativos de produtividade
  • Aplicações de desktop persistentes

Principais recursos

  • Controle de inicialização multiplataforma
  • API de ativação/desativação simples
  • Implementação específica da plataforma
  • Nenhum código nativo necessário
  • Suporta macOS, Windows e Linux

Indicado para

  • Aplicativos de desktop que precisam de inicialização automática
  • Utilitários de nível do sistema
  • Aplicativos que exigem presença contínua
  • Desenvolvedores direcionados a múltiplos sistemas operacionais de desktop
  • Ferramentas que funcionam sem intervenção manual do usuário

Considerações

  • Requer permissão do usuário em alguns sistemas
  • Pode entrar em conflito com outros aplicativos de inicialização automática
  • O comportamento varia levemente por sistema operacional
  • Não adequado para aplicativos móveis
  • O usuário pode precisar habilitar manualmente nas configurações do sistema

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

🚀 Ship Your App Faster: Try Fastforge - The simplest way to build, package and distribute your Flutter apps.

launch_at_startup

pub version

This plugin allows Flutter desktop apps to Auto launch on startup / login.


English | 简体中文


Platform Support

Linux macOS* Windows
✔️ ✔️ ✔️

*Required macOS support installation instructions below

Quick Start

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  launch_at_startup: ^0.5.1

Or

dependencies:
  launch_at_startup:
    git:
      url: https://github.com/leanflutter/launch_at_startup.git
      ref: main
Usage
import 'dart:io';

import 'package:launch_at_startup/launch_at_startup.dart';
import 'package:package_info_plus/package_info_plus.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  PackageInfo packageInfo = await PackageInfo.fromPlatform();

  launchAtStartup.setup(
    appName: packageInfo.appName,
    appPath: Platform.resolvedExecutable,
    // Set packageName parameter to support MSIX.
    packageName: 'dev.leanflutter.examples.launchatstartupexample',
  );

  await launchAtStartup.enable();
  await launchAtStartup.disable();
  bool isEnabled = await launchAtStartup.isEnabled();

  runApp(const MyApp());
}

// ...

Please see the example app of this plugin for a full example.

macOS Support

Setup

Add platform channel code to your macos/Runner/MainFlutterWindow.swift file.

import Cocoa
import FlutterMacOS
// Add the LaunchAtLogin module
import LaunchAtLogin
//

class MainFlutterWindow: NSWindow {
  override func awakeFromNib() {
    let flutterViewController = FlutterViewController.init()
    let windowFrame = self.frame
    self.contentViewController = flutterViewController
    self.setFrame(windowFrame, display: true)

    // Add FlutterMethodChannel platform code
    FlutterMethodChannel(
      name: "launch_at_startup", binaryMessenger: flutterViewController.engine.binaryMessenger
    )
    .setMethodCallHandler { (_ call: FlutterMethodCall, result: @escaping FlutterResult) in
      switch call.method {
      case "launchAtStartupIsEnabled":
        result(LaunchAtLogin.isEnabled)
      case "launchAtStartupSetEnabled":
        if let arguments = call.arguments as? [String: Any] {
          LaunchAtLogin.isEnabled = arguments["setEnabledValue"] as! Bool
        }
        result(nil)
      default:
        result(FlutterMethodNotImplemented)
      }
    }
    //

    RegisterGeneratedPlugins(registry: flutterViewController)

    super.awakeFromNib()
  }
}

then open your macos/ folder in Xcode and do the following:

Instructions referenced from "LaunchAtLogin" package repository. Read for more details and FAQ's.

Requirements

macOS 10.13+

Install

Add https://github.com/sindresorhus/LaunchAtLogin in the “Swift Package Manager” tab in Xcode.

Usage

Skip this step if your app targets macOS 13 or later.

Add a new “Run Script Phase” below (not into) “Copy Bundle Resources” in “Build Phases” with the following:

"${BUILT_PRODUCTS_DIR}/LaunchAtLogin_LaunchAtLogin.bundle/Contents/Resources/copy-helper-swiftpm.sh"

And uncheck “Based on dependency analysis”.

The build phase cannot run with "User Script Sandboxing" enabled. With Xcode 15 or newer where it is enabled by default, disable "User Script Sandboxing" in build settings.

(It needs some extra works to have our script to comply with the build phase sandbox.) (I would name the run script Copy “Launch at Login Helper”)

Who's using it?

License

MIT

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote