Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.5.1

launch_at_startup

Dieses Plugin ermöglicht es Flutter-Desktop-Anwendungen, beim Starten bzw. Anmelden automatisch zu starten.

macOSWindowsLinux
30-Tage-Downloads
46.800
Likes
151
Pub-Punkte
125

Paket installieren

flutter pub add launch_at_startup

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das launch_at_startup-Paket ermöglicht Flutter-Desktop-Anwendungen, sich automatisch zu starten, wenn der Benutzer sich unter macOS, Windows oder Linux anmeldet. Es bietet eine einfache API, um das automatische Startverhalten plattformübergreifend zu überprüfen, zu aktivieren oder zu deaktivieren. Dies ist besonders nützlich für Anwendungen, die kontinuierlich im Hintergrund laufen müssen, wie Systemüberwachungstools, Benachrichtigungstools oder Produktivitätsutilitäten. Der Plugin integriert sich nahtlos in die Desktop-Unterstützung von Flutter und erfordert keine Änderungen am nativen Code. Er nutzt plattformspezifische Mechanismen, um Starteinträge zuverlässig zu verwalten.

Anwendungsfälle

  • Hintergrundüberwachungs-Apps
  • System-Utility-Tools
  • Benachrichtigungsdienste
  • Automatisches Starten von Produktivitäts-Apps
  • Persistente Desktop-Anwendungen

Hauptmerkmale

  • Plattformübergreifende Startsteuerung
  • Einfaches Aktivieren/Deaktivieren-API
  • plattformspezifische Implementierung
  • Kein natives Code erforderlich
  • Unterstützt macOS, Windows und Linux

Geeignet für

  • Desktop-Apps, die automatisches Starten benötigen
  • Systemtools
  • Apps, die eine dauerhafte Anwesenheit erfordern
  • Entwickler, die mehrere Desktop-Betriebssysteme ansprechen
  • Werkzeuge, die ohne manuelle Benutzerintervention laufen

Hinweise

  • Benötigt Benutzerberechtigung auf einigen Systemen
  • Kann mit anderen Autostart-Apps konflikten
  • Das Verhalten unterscheidet sich geringfügig je nach Betriebssystem
  • Nicht geeignet für mobile Anwendungen
  • Der Benutzer muss möglicherweise in den Systemeinstellungen manuell aktivieren

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

🚀 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

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden