توجه: این صفحه به کلاس Camera اشاره دارد که منسوخ شده است. توصیه می کنیم از CameraX یا برای موارد استفاده خاص از Camera2 استفاده کنید. هر دو CameraX و Camera2 از اندروید 5.0 (سطح API 21) و بالاتر پشتیبانی می کنند.
این درس نحوه گرفتن عکس با تفویض کار به برنامه دوربین دیگری در دستگاه را آموزش میدهد. (اگر ترجیح می دهید عملکرد دوربین خود را بسازید، به کنترل دوربین مراجعه کنید.)
فرض کنید در حال پیادهسازی یک سرویس آبوهوای جمعیتی هستید که با ترکیب کردن تصاویر آسمان گرفتهشده توسط دستگاههایی که برنامه مشتری شما را اجرا میکنند، یک نقشه آب و هوای جهانی ایجاد میکند. یکپارچه سازی عکس ها تنها بخش کوچکی از برنامه شما است. شما می خواهید با کمترین سر و صدا عکس بگیرید، نه اینکه دوربین را دوباره اختراع کنید. خوشبختانه، اکثر دستگاههای مجهز به اندروید در حال حاضر حداقل یک برنامه دوربین نصب کردهاند. در این درس، یاد می گیرید که چگونه آن را برای شما عکس بگیرد.
ویژگی دوربین را درخواست کنید
اگر یکی از عملکردهای ضروری برنامه شما عکس گرفتن است، دید آن را در Google Play به دستگاه هایی که دوربین دارند محدود کنید. برای تبلیغ اینکه برنامه شما به داشتن دوربین وابسته است، یک تگ <uses-feature>
را در فایل مانیفست خود قرار دهید:
<manifest ... > <uses-feature android:name="android.hardware.camera" android:required="true" /> ... </manifest>
اگر برنامه شما استفاده می کند، اما برای عملکرد به دوربین نیاز ندارد، در عوض android:required
روی false
تنظیم کنید. با انجام این کار، Google Play به دستگاه های بدون دوربین اجازه می دهد برنامه شما را دانلود کنند. سپس این مسئولیت شماست که با تماس با hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)
در دسترس بودن دوربین را در زمان اجرا بررسی کنید. اگر دوربین در دسترس نیست، باید ویژگی های دوربین خود را غیرفعال کنید.