لتنفيذ إجراءات الكاميرا الأساسية، مثل التقاط صورة أو فيديو باستخدام
تطبيق الكاميرا التلقائي على الجهاز، لست بحاجة إلى التكامل مع مكتبة
الكاميرا. بدلاً من ذلك، استخدِم Intent.
التقاط صورة باستخدام تطبيق كاميرا
يُفوِّض Android الإجراءات إلى تطبيقات أخرى من خلال استدعاء Intent. تتضمن هذه العملية ثلاثة أجزاء: Intent نفسه، واستدعاء لبدء Activity الخارجي، وبعض التعليمات البرمجية للتعامل مع بيانات الصورة عند عودة التركيز إلى نشاطك.
في ما يلي دالة تستدعي Intent لالتقاط صورة.
val REQUEST_IMAGE_CAPTURE = 1 private fun dispatchTakePictureIntent() { val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) try { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE) } catch (e: ActivityNotFoundException) { // display error state to the user. } }
تسجيل فيديو باستخدام تطبيق كاميرا
يمكنك أيضًا استدعاء Intent لالتقاط فيديو.
val REQUEST_VIDEO_CAPTURE = 1 private fun dispatchTakeVideoIntent() { Intent(MediaStore.ACTION_VIDEO_CAPTURE).also { takeVideoIntent -> takeVideoIntent.resolveActivity(packageManager)?.also { startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE) } ?: run { // display error state to the user. } } }
يتمّ حماية الإجراء startActivityForResult() من خلال شرط يستدعي resolveActivity()، والذي يعرض مكوّن النشاط الأول الذي يمكنه معالجة Intent. يُرجى إجراء هذا الفحص للتأكّد من أنّك تستدعي Intent
لا يؤدي إلى تعطُّل تطبيقك.
موارد إضافية
لتنفيذ إجراءات الكاميرا الأساسية، استخدِم Intent. بخلاف ذلك، ننصح باستخدام مكتبتَي Camera2 وCameraX لأي مهام أكثر تعقيدًا من التقاط الصور أو الفيديوهات الأساسية.