playx_home_launcher 0.1.0 copy "playx_home_launcher: ^0.1.0" to clipboard
playx_home_launcher: ^0.1.0 copied to clipboard

PlatformAndroid

Playx Home Launcher: Streamline launcher management in your Flutter app. Quickly check the current default launcher and enhance user experience with an integrated selection dialog.

Playx Home Launcher #

A Flutter Plugin for Android

Playx Home Launcher provides seamless access to Android's launcher-related APIs. Whether you're building a custom launcher or want to let users manage their launcher preferences, this plugin equips you with powerful tools to interact with the default launcher, check app capabilities, and access system launcher settings.


✨ Features #

  • 🔍 Get the current default launcher package name.
  • ✅ Check if your app or any other app is a launcher or the default launcher.
  • ⚙️ Open the system launcher settings.
  • 📤 Show the launcher selection dialog to help users choose their preferred home screen app.
  • 📦 Get the package name of the current app.

🛠 Getting Started #

1. Installation #

Add the package to your pubspec.yaml:

dependencies:
  playx_home_launcher: ^<latest_version>

Then run:

flutter pub get

2. Android Setup #

To use getDefaultLauncherPackageName on Android 11 and above, add this to your AndroidManifest.xml:

<queries>
  <intent>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.HOME" />
  </intent>
</queries>

Without this, Android may return fallback home apps like com.android.settings.FallbackHome.


3. Import the Package #

import 'package:playx_home_launcher/playx_home_launcher.dart';

4. Usage Examples #

🔍 Get Default Launcher

final String? defaultLauncher = await PlayxHomeLauncher.getDefaultLauncherPackageName();

✅ Check If Current App Is a Launcher

final bool isLauncher = await PlayxHomeLauncher.isThisAppALauncher();

✅ Check If Current App Is the Default Launcher

final bool isDefault = await PlayxHomeLauncher.isThisAppTheDefaultLauncher();

📦 Check If Any App Is a Launcher

final bool isLauncher = await PlayxHomeLauncher.isLauncherApp(packageName: 'com.example.otherapp');

📦 Check If Any App Is the Default Launcher

final bool isDefault = await PlayxHomeLauncher.isDefaultLauncher(packageName: 'com.example.otherapp');

⚙️ Open Launcher Settings

await PlayxHomeLauncher.openLauncherSettings();

🔄 Show Launcher Selection Dialog

await PlayxHomeLauncher.showLauncherSelectionDialog(
  openSettingsOnError: true, // Fallback to settings if dialog fails
);

📦 Get This App’s Package Name

final String packageName = await PlayxHomeLauncher.getCurrentPackageName();

📱 Making Your App a Launcher #

To make your Flutter app act as a launcher (i.e., appear in the launcher selection dialog), you need to declare a launcher intent filter in your Android AndroidManifest.xml under the <activity> tag:

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.HOME" />
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

⚠️ Your app must be built to handle launcher responsibilities like displaying home screen UI, managing widgets, etc.


📌 Notes #

  • 📱 This plugin is Android-only. It will not function on iOS or other platforms.
  • 🛡️ Make sure to test on physical devices, as launcher behavior might differ in emulators or certain OEM environments.

📄 License #

Licensed under the MIT License.
See the LICENSE file for more details.


📚 Example #

Check out the example directory in the repository for a working sample app using all the available methods.

3
likes
150
points
162
downloads

Publisher

verified publisherplayx.sourcya.io

Weekly Downloads

Playx Home Launcher: Streamline launcher management in your Flutter app. Quickly check the current default launcher and enhance user experience with an integrated selection dialog.

Topics

#playx #launcher #home-launcher

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on playx_home_launcher