Pertanyaan bundel beberapa aplikasi dalam satu aplikasi


Saya mengembangkan aplikasi Android yang menggunakan beberapa aplikasi pihak ketiga, yang dipanggil oleh maksud, mis. kalender pihak ketiga, webradio dll. Jadi untuk memulai maksud ini dengan benar, aplikasi ini harus diinstal. Mungkinkah menyertakan apks tersebut di aplikasi saya sehingga secara otomatis dipasang juga saat aplikasi saya disiapkan? Sepertinya cara yang buruk untuk membiarkan pengguna menginstal aplikasi ini secara manual ...

Ada saran?

Terima kasih  Peter


5
2018-03-12 16:29


asal


Jawaban:


Mungkinkah menyertakan apks tersebut di aplikasi saya sehingga secara otomatis dipasang juga saat aplikasi saya disiapkan?

Itu mungkin bukan ide yang bagus.

Sebagai permulaan, ini mungkin adalah pelanggaran hak cipta, kecuali Anda memiliki izin tertulis dari pengembang tersebut untuk membundel dengan cara ini.

Lalu, ada pertanyaan apakah pengembang tersebut benar-benar mengekspos API yang mereka harapkan untuk Anda gunakan dengan cara ini, dan apakah API itu unik untuk mereka atau merupakan bagian dari sistem generik (misalnya, ACTION_SEND). Pengguna harus dapat menginstal aplikasi apa pun yang mereka inginkan yang memenuhi generik Intent permintaan (misalnya, ACTION_SEND) dan tidak dipaksa untuk menggunakan beberapa aplikasi yang Anda amanah. Dan Anda tidak boleh mengintegrasikan aplikasi yang tidak mengekspos API yang didokumentasikan dan didukung atau jika tidak menunjukkan bahwa mereka tertarik pada integrasi tersebut.

Lalu, ada pertanyaan apakah aplikasi itu nantinya dapat diperbarui atau tidak, jika awalnya tidak dipasang melalui beberapa layanan distribusi standar (mis., Android Market).

Kemudian, ada masalah dari semua file APK yang membuat file APK Anda sendiri yang jauh lebih besar, mengambil lebih banyak ruang pada perangkat.

Jika Anda bisa melewati semua itu, itu harus mungkin. Kemas APK APK sebagai aset, salin pada pertama kali dijalankan ke penyimpanan eksternal, kemudian luncurkan ACTION_VIEW  Intent pada mereka melalui startActivity() menggunakan tipe MIME yang tepat.

Namun, sekali lagi, ini mungkin bukan ide yang bagus.

Sepertinya cara yang buruk untuk membiarkan pengguna menginstal aplikasi ini secara manual ...

Idealnya, aplikasi Anda tidak boleh bergantung pada aplikasi lain ini, jadi tidak masalah apakah pengguna memilikinya atau tidak. Anda dapat mendeteksi jika mereka ada di sana PackageManager dan queryIntentActivities(), kemudian gunakan itu untuk menentukan apakah Anda ingin menonaktifkan bagian dari aplikasi Anda, atau memandu pengguna untuk menginstal aplikasi tambahan, dll.


7
2018-03-12 16:42