Saya ingin meluncurkan paket yang diinstal dari aplikasi Android saya. Saya berasumsi bahwa itu mungkin menggunakan niat, tetapi saya tidak menemukan cara untuk melakukannya. Apakah ada tautan, di mana menemukan informasi itu?
java
android
android-intent
Bastian
sumber
sumber
Jawaban:
Jika Anda tidak tahu aktivitas utama, maka nama paket dapat digunakan untuk meluncurkan aplikasi.
sumber
CATEGORY_INFO
, dan berikutnya untuk aktivitas utama dalam kategoriCATEGORY_LAUNCHER
. Mengembalikan nol jika tidak ada yang ditemukan. "Saya tahu ini telah dijawab tetapi di sini adalah bagaimana saya menerapkan sesuatu yang serupa:
Lebih baik lagi, inilah caranya:
Kode duplikat dihapus:
sumber
Saya menemukan solusinya. Dalam file manifes aplikasi saya menemukan nama paket: com.package.address dan nama aktivitas utama yang ingin saya luncurkan: MainActivity Kode berikut memulai aplikasi ini:
sumber
sumber
Berikut adalah contoh saya meluncurkan pemindai kode batang / QR dari aplikasi saya jika seseorang menganggapnya berguna
sumber
Edit tergantung pada komentar
Dalam beberapa versi - seperti yang disarankan dalam komentar - pengecualian yang diberikan mungkin berbeda.
Dengan demikian solusi di bawah ini sedikit dimodifikasi
Jawaban Asli
Meskipun dijawab dengan baik, ada implementasi yang cukup sederhana yang menangani jika aplikasi tidak diinstal. Saya melakukannya seperti ini
Ganti "applicationId" dengan paket yang ingin Anda buka seperti com.google.maps, dll.
sumber
PackageManager.getLaunchIntentForPackage(...)
kembali metode nol jika nama paket tidak diakui. Itu tidak melemparPackageManager.NameNotFoundException
. Lihat di sini .startActivity(null)
emulator Android 10 dan melemparNullPointerException
dan bukanPackageManager.NameNotFoundException
.startActivity(Intent intent)
metode ketika diberikan nolIntent
dan apa yang membuat Anda mengatakan itu? Dokumentasi pengembang Android hanya menyatakan bahwa ia akan melemparActivityNotFoundException
.sumber
Jika Anda ingin membuka aktivitas spesifik aplikasi lain, kami dapat menggunakannya.
Jika Anda harus membutuhkan aplikasi lain, alih-alih menunjukkan Toast Anda dapat menampilkan dialog. Menggunakan dialog Anda dapat membawa pengguna ke Play-Store untuk mengunduh aplikasi yang diperlukan.
sumber
com.android.settings.fuelgauge.PowerUsageSummary
hanyalah aktivitas-alias daricom.android.settings.Settings$PowerUsageSummaryActivity
, dan telah dihapus di Android Pie , jadi saya menyimpulkan hasil edit untuk membuat jawaban ini cocok untuk Pie. Perhatikan bahwa ini juga kompatibel dengan versi yang lebih lama, lihat komit AOSP pada 10 November 2011 af9252849fd94c1f2859c56a4010900ea38a607e dllJika Anda mengetahui data dan tindakan paket yang diinstal bereaksi, Anda harus menambahkan informasi ini ke instance niat Anda sebelum memulainya.
Jika Anda memiliki akses ke AndroidManifest dari aplikasi lain, Anda dapat melihat semua informasi yang diperlukan di sana.
sumber
Langkah-langkah untuk memulai aktivitas baru sebagai berikut:
1. Dapatkan niat untuk paket
2.Jika niat adalah pengalihan nol pengguna ke playstore
3.Jika niat bukan aktivitas terbuka nol
sumber
Dimungkinkan untuk memulai aktivitas aplikasi dengan menggunakan
Intent.setClassName
sesuai dengan dokumen.Sebuah contoh:
Untuk membukanya di luar aplikasi saat ini, tambahkan bendera ini sebelum memulai niat.
Jawaban terkait di sini
sumber
sumber