denis156/app-manager
Composer 安装命令:
composer require denis156/app-manager
包简介
Inspect installed packages, retrieve app metadata (icons/names), and launch applications on the device.
README 文档
README
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_PACKAGESdi 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
统计信息
- 总下载量: 48
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-07