denis156/app-manager

Inspect installed packages, retrieve app metadata (icons/names), and launch applications on the device.

Maintainers

Package info

github.com/denis156/app-manager

Language:Kotlin

Type:nativephp-plugin

pkg:composer/denis156/app-manager

Statistics

Installs: 26

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

1.0.0 2026-05-07 18:36 UTC

This package is auto-updated.

Last update: 2026-05-07 18:44:58 UTC


README

PHP Version Laravel Version NativePHP Platform Android Author License

Plugin utilitas untuk NativePHP yang memungkinkan aplikasi Anda berinteraksi dengan aplikasi lain yang terinstal di perangkat Android. Dapatkan daftar aplikasi, ambil metadata aplikasi (ikon/nama), hingga meluncurkan aplikasi lain secara langsung.

Caution

CATATAN KERAS (IMPORTANT NOTE): Plugin ini memberikan akses untuk melihat daftar aplikasi yang terinstal dan menjalankan aplikasi lain di perangkat. Penggunaan plugin ini sepenuhnya merupakan tanggung jawab pengguna/pengembang yang mengintegrasikannya. Pengembang asli (denis156) TIDAK BERTANGGUNG JAWAB atas segala penyalahgunaan plugin ini untuk tujuan yang melanggar hukum atau merugikan pihak lain.

Fitur Unggulan

  • App Discovery: Mendapatkan daftar lengkap semua aplikasi yang terinstal yang memiliki launcher (dapat dibuka oleh user).
  • Rich Metadata Extraction: Mengambil Ikon Aplikasi (Base64/PNG), Nama Label, dan Nama Paket (com.whatsapp, dll).
  • Deep Integration: Mengecek apakah aplikasi tertentu (misal: WhatsApp atau Dana) terinstal di HP pengguna.
  • Remote Launching: Membuka/menjalankan aplikasi lain secara terprogram dari dalam aplikasi Anda.
  • V3 Bridge Standards: Kompatibel penuh dengan arsitektur modular NativePHP Mobile v3.

Instalasi

Tambahkan plugin ke proyek Laravel Anda melalui Composer:

composer require denis156/app-manager

Daftarkan plugin di proyek NativePHP Anda:

php artisan native:plugin:register denis156/app-manager

Jalankan build untuk memasukkan fungsionalitas native:

php artisan native:run android

Penggunaan

Sisi PHP (Laravel/Inertia/Livewire)

Gunakan facade AppManager untuk berinteraksi dengan aplikasi di perangkat:

use Denis156\AppManager\Facades\AppManager;

// 1. Mendapatkan daftar semua aplikasi yang terinstal
$apps = AppManager::getInstalledApps(); 
// Hasil berupa array: [['label' => 'WhatsApp', 'package' => 'com.whatsapp', 'icon_base64' => '...'], ...]

// 2. Mengecek apakah aplikasi terinstal
if (AppManager::isInstalled('com.whatsapp')) {
    // Lakukan sesuatu
}

// 3. Mengambil info spesifik (Nama & Ikon)
$info = AppManager::getAppInfo('com.whatsapp');

// 4. Meluncurkan aplikasi lain
AppManager::launchApp('com.whatsapp');

Sisi JavaScript (Vue/React/Inertia)

Anda juga bisa memanggil fungsi native langsung dari frontend:

import { appManager } from '@denis156/app-manager';

// Ambil daftar aplikasi
const apps = await appManager.getInstalledApps();

// Jalankan aplikasi
const success = await appManager.launchApp('com.whatsapp');

// Cek instalasi
const isInstalled = await appManager.isInstalled('com.whatsapp');

Keamanan & Kebijakan Google Play

Untuk Android 11+ (API 30+), daftar aplikasi yang terinstal dianggap informasi sensitif.

  • Jika Anda mempublikasikan aplikasi ke Google Play Store, Anda harus menyertakan izin QUERY_ALL_PACKAGES di manifest Android dan memberikan alasan yang kuat kepada Google mengapa aplikasi Anda membutuhkan akses ini.

Struktur Direktori (Standar v3)

packages/denis156/app-manager/
├── nativephp.json          # Manifest Plugin & Bridge Functions
├── src/                    # Kode PHP (Service Provider, Facade)
└── resources/
    ├── android/src/        # Kode Kotlin (App discovery implementation)
    └── boost/guidelines/   # Instruksi spesifik untuk AI assistants

Lisensi

MIT License