צילום תמונות

הערה: הדף הזה מתייחס למחלקה מצלמה, שהוצאה משימוש. מומלץ להשתמש ב-CameraX או, במקרים ספציפיים, ב-Camera2. גם CameraX וגם Camera2 תומכים ב-Android 5.0 (רמת API 21) ואילך.

בשיעור הזה לומדים איך לצלם תמונה על ידי הענקת עבודה לאפליקציית מצלמה אחרת במכשיר. (אם ברצונך ליצור פונקציונליות מצלמה משלך, אפשר להיכנס אל שליטה במצלמה.)

נניח שאתם מטמיעים שירות מזג אוויר שמבוסס על נתוני קהלים, ויוצר מפת מזג אוויר גלובלית באמצעות שמשלב תמונות של השמיים שצולמו במכשירים שבהם פועלת אפליקציית הלקוח. שילוב תמונות הוא רק חלק קטן מהאפליקציה. רוצים לצלם תמונות במאמץ מינימלי, ולא להמציא מחדש המצלמה. לצערי ברוב המכשירים מבוססי Android כבר יש אפליקציית מצלמה אחת לפחות מותקנת. בשיעור הזה תלמדו איך לצלם תמונה בשבילכם.

בקשה לפיצ'ר המצלמה

אם פונקציה חיונית של האפליקציה מצלםת תמונות, הגבילו את החשיפה שלה כך: 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) אם אין מצלמה זמינה, צריך להשבית את תכונות המצלמה.