Avatar ·

كيفية تشغيل Activity من تطبيق آخر في Android باستخدام Kotlin

مرحبًا أيها الزملاء! أنا مطور Android مبتدئ باستخدام Kotlin، وقد واجهت مشكلة. أقوم بكتابة تطبيق مشغل (Launcher) يجب أن يفتح Activity من تطبيقات أخرى مثبتة. على سبيل المثال، أريد عند الضغط على زر فتح الكاميرا أو الخرائط. لكنني لا أفهم كيفية تكوين Intent بشكل صحيح وما البيانات التي يجب تمريرها. إليك ما جربته: ```kotlin val intent = Intent() intent.action = Intent.ACTION_VIEW intent.data = Uri.parse("com.example.targetapp") startActivity(intent) ``` ولكن هذا يتسبب في تعطل التطبيق مع خطأ `android.content.ActivityNotFoundException`. كما جربت الحصول على PackageManager واستدعاء `getLaunchIntentForPackage()`: ```kotlin val pm = packageManager val intent = pm.getLaunchIntentForPackage("com.whatsapp") startActivity(intent) ``` هذا يعمل مع WhatsApp، لكن ليس مع جميع التطبيقات. على سبيل المثال، لتطبيق "الملاحظات" (com.example.notes) يُرجع null. لماذا يحدث ذلك؟ وكيف يمكن فتح Activity معين داخل التطبيق، بدلاً من مجرد تشغيله؟