ממשקי API של Android 6.0

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

התחילו לפתח

כדי להתחיל לפתח אפליקציות ל-Android 6.0, צריך קודם לקבל Android SDK. לאחר מכן משתמשים במנהל ה-SDK כדי להוריד את תמונות המערכת והפלטפורמה של Android 6.0 SDK.

עדכון רמת ה-API המטורגטת

כדי לבצע אופטימיזציה טובה יותר של האפליקציה למכשירים עם Android , הגדרת הערך של targetSdkVersion "23", התקנת האפליקציה שלך ב-Android את קובץ האימג' של המערכת, בודקים אותו ואז מפרסמים את האפליקציה המעודכנת עם שינוי זה.

אפשר להשתמש בממשקי API של Android וגם לתמוך בגרסאות קודמות גרסאות על ידי הוספת תנאים לקוד שבודקים את רמת ה-API של המערכת לפני הפעלת ממשקי API שלא נתמכים על ידי minSdkVersion. למידע נוסף על שמירה על תאימות לאחור, אפשר לקרוא את המאמר תמיכה גרסאות שונות של הפלטפורמה.

מידע נוסף על אופן הפעולה של רמות ה-API זמין במאמר מה זה API? רמה?

אימות בטביעת אצבע

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

כדי לאמת משתמשים באמצעות סריקת טביעת אצבע, יש לקבל מופע של בכיתה FingerprintManager וקוראים ל- authenticate() . האפליקציה צריכה לפעול במכשיר תואם עם חיישן טביעות אצבע. עליך להטמיע את ממשק המשתמש לטביעת האצבע בתהליך האימות באפליקציה, ולהשתמש בסמל הרגיל של טביעת האצבע של Android בממשק המשתמש. סמל טביעת האצבע של Android (c_fp_40px.png) כלול דוגמה לאימות ביומטרי. אם לפתח כמה אפליקציות שמשתמשות באימות באמצעות טביעת אצבע, צריך לשים לב שכל אפליקציה לאמת את טביעת האצבע של המשתמש באופן עצמאי.

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

<uses-permission
        android:name="android.permission.USE_FINGERPRINT" />
מכשיר נייד שבו מוצגת פונקציונליות של אימות באמצעות טביעת אצבע

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

אם אתם בודקים את התכונה הזו, צריך לבצע את השלבים הבאים:

  1. אם עדיין לא עשית זאת, עליך להתקין את גרסה 24.3 של Android SDK Tools.
  2. רישום טביעת אצבע חדשה באמולטור באמצעות מעבר אל הגדרות > אבטחה > טביעת אצבע, ולאחר מכן פועלים לפי הוראות הרישום.
  3. שימוש באמולטור כדי לאמולציה של אירועי מגע בטביעת אצבע עם הפקודה הבאה. צריך להשתמש באותה פקודה כדי לאמולציה של אירועי מגע במסך הנעילה או באפליקציה.
    adb -e emu finger touch <finger_id>
    

    ב-Windows, יכול להיות שיהיה צורך להריץ את הפקודה telnet 127.0.0.1 <emulator-id> ואז את הפקודה finger touch <finger_id>.

אישור פרטי הכניסה

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

הגדרת משך הזמן הקצוב לתפוגה שבו אפשר להשתמש שוב באותו מפתח אחרי שהמשתמש הצליח מאומת, מפעילים setUserAuthenticationValidityDurationSeconds() כאשר מגדירים KeyGenerator או KeyPairGenerator.

לא להציג יותר מדי תיבת דו-שיח לאימות מחדש – האפליקציות שלכם צריכות לנסות להשתמש אובייקט קריפטוגרפי קודם, ואם הזמן הקצוב פג, משתמשים createConfirmDeviceCredentialIntent() כדי לאמת מחדש את המשתמש באפליקציה.

קישור אפליקציות

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

גיבוי אוטומטי לאפליקציות

המערכת מבצעת עכשיו גיבוי ושחזור מלאים של נתונים באופן אוטומטי לאפליקציות. האפליקציה חייבת לטרגט Android 6.0 (רמת API 23) כדי לאפשר את ההתנהגות הזו; אין צורך להוסיף קוד נוסף. אם המשתמשים ימחקו את חשבונות Google שלהם, גם נתוני הגיבוי שלהם יימחקו. כדי ללמוד איך עושים את זה עובדת ואיך להגדיר מה לגבות במערכת הקבצים. הגדרת גיבוי אוטומטי לאפליקציות.

שיתוף ישיר

החלק התחתון של הנייד שבו מוצגת הפונקציונליות של שיתוף ישיר

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

כדי להפעיל יעדי שיתוף ישיר, עליך להגדיר מחלקה שמרחיבה את כיתה אחת (ChooserTargetService). להצהיר על שירות במניפסט. בהצהרה הזו, מציינים את הרשאה ל-BIND_CHOOSER_TARGET_SERVICE וגם מסנן Intent באמצעות פעולת SERVICE_INTERFACE.

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

<service android:name=".ChooserTargetService"
        android:label="@string/service_name"
        android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
    <intent-filter>
        <action android:name="android.service.chooser.ChooserTargetService" />
    </intent-filter>
</service>

לכל פעילות שאתם רוצים לחשוף אליה ChooserTargetService, הוספת רכיב <meta-data> עם השם "android.service.chooser.chooser_target_service" בקובץ המניפסט של האפליקציה.

<activity android:name=".MyShareActivity”
        android:label="@string/share_activity_label">
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
    </intent-filter>
<meta-data
        android:name="android.service.chooser.chooser_target_service"
        android:value=".ChooserTargetService" />
</activity>

אינטראקציות קוליות

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

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

מידע נוסף על הטמעת פעולות קוליות זמין במאמר אתר למפתחים של פעולות קוליות.

ממשק API של מסייע

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

האפליקציה שלך יכולה לבחור שלא לשתף את ההקשר הנוכחי עם ה-Assistant על ידי הגדרה של סימון FLAG_SECURE. נוסף על סטנדרט של מידע שהפלטפורמה מעבירה ל-Assistant, האפליקציה יכולה לשתף מידע נוסף באמצעות המחלקה החדשה AssistContent.

כדי לספק ל-Assistant הקשר נוסף מהאפליקציה, יש לפעול לפי השלבים הבאים:

  1. הטמעת הממשק של Application.OnProvideAssistDataListener.
  2. רישום המאזינים הזה באמצעות registerOnProvideAssistDataListener()
  3. כדי לספק מידע הקשרי ספציפי לפעילות, צריך לבטל את onProvideAssistData() קריאה חוזרת, ובאופן אופציונלי, גם את המודל onProvideAssistContent() קריאה חוזרת.

התקני אחסון מתאימים

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

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

כדי לנפות באגים בתכונה הזו, אפשר להפעיל שימוש בכונן USB שמחובר למכשיר Android באמצעות כבל USB On-The-Go (OTG), באמצעות הרצת הפקודה הבאה:

$ adb shell sm set-force-adoptable true

התראות

בגרסה הזו נוספו השינויים הבאים ב-API לגבי התראות:

  • רמת סינון חדשה של INTERRUPTION_FILTER_ALARMS תואם למצב 'נא לא להפריע' החדש רק התראות.
  • ערך חדש של קטגוריית CATEGORY_REMINDER שמשמש ל: הבחנה בין תזכורות מתוזמנות של משתמשים לבין אירועים אחרים (CATEGORY_EVENT) והתראות (CATEGORY_ALARM).
  • כיתה חדשה Icon שאפשר לצרף להתראות דרך setSmallIcon() ו-setLargeIcon() שיטות. באופן דומה, ה-method addAction() מקבלת עכשיו אובייקט Icon במקום מזהה של משאב שניתן להזזה.
  • שיטת getActiveNotifications() חדשה שמאפשרת כדי לבדוק אילו מההתראות שלהם פעילות כרגע.

תמיכה בסטיילוס Bluetooth

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

משתמשים בשיטות MotionEvent ובקבועים כדי לזהות לחצן סטיילוס אינטראקציות:

  • אם המשתמש נוגע בסטיילוס באמצעות לחצן במסך האפליקציה, החזרה בשיטת getTooltype() TOOL_TYPE_STYLUS.
  • באפליקציות שמטרגטות ל-Android 6.0 (רמת API 23), ההגדרות getButtonState() ה-method מחזירה את הערך BUTTON_STYLUS_PRIMARY כשהמשתמש לוחץ על לחצן הסטיילוס הראשי. אם הסטיילוס כולל לחצן שני, אותה שיטה מחזירה BUTTON_STYLUS_SECONDARY כשהמשתמש לוחץ עליו. אם המשתמש לוחץ שני הלחצנים בו-זמנית, השיטה מחזירה את שני הערכים או (BUTTON_STYLUS_PRIMARY|BUTTON_STYLUS_SECONDARY).
  • לגבי אפליקציות שמטרגטות לגרסת פלטפורמה נמוכה יותר, החזרה בשיטת getButtonState() BUTTON_SECONDARY (ללחיצה על לחצן הסטיילוס הראשי), BUTTON_TERTIARY (ללחיצה על לחצן הסטיילוס המשני), או בשתיהן.

סריקה משופרת של Bluetooth עם צריכת אנרגיה נמוכה

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

תמיכה בנושא גרסה 1 של נקודה לשיתוף אינטרנט 2.0

הגרסה הזו מוסיפה תמיכה במפרט של 'נקודה לשיתוף אינטרנט' 2.0 'גרסה 1' במכשירי Nexus 6 ו-Nexus 9. שפת תרגום כדי להקצות פרטי כניסה של נקודה לשיתוף אינטרנט 2.0 באפליקציה, צריך להשתמש בשיטות החדשות של כיתה אחת (WifiEnterpriseConfig), כמו setPlmn() והקבוצה setRealm(). ב אובייקט WifiConfiguration, אפשר להגדיר FQDN וגם providerFriendlyName שדות. השיטה החדשה isPasspointNetwork() מציינת אם אותר מייצג נקודת גישה (Hotspot) 2.0.

מצב תצוגת 4K

הפלטפורמה מאפשרת עכשיו לאפליקציות לבקש לשדרג את רזולוציית המסך לרינדור 4K בחומרה תואמת. כדי לבדוק את הרזולוציה הפיזית הנוכחית, אפשר להשתמש ממשקי API של Display.Mode. אם ממשק המשתמש משורטט ברזולוציה לוגית נמוכה יותר ברזולוציה פיזית גדולה יותר, שימו לב שהרזולוציה הפיזית החזרות של שיטת getPhysicalWidth() עשויות להיות שונות מהלוגיקה הרזולוציה דווחה על ידי getSize().

אפשר לבקש מהמערכת לשנות את הרזולוציה הפיזית באפליקציה שלך בזמן שהיא פועלת, על ידי הגדרה המאפיין preferredDisplayModeId של האפליקציה חלון. התכונה הזו שימושית אם אתם רוצים לעבור לרזולוציית מסך של 4K. במצב מסך 4K ממשק המשתמש ממשיך להיות מוצג ברזולוציה המקורית (כמו 1080p) ואפשר להגדיל אותו 4K, אבל ב-SurfaceView אובייקטים עשויים להופיע תוכן ברזולוציה המקורית.

רשימות צבעים עיצוביות

מאפייני העיצוב נתמכים עכשיו ב: ColorStateList למכשירים עם Android 6.0 (רמת API 23). Resources.getColorStateList() והקבוצה Resources.getColor() שיטות הופעלו הוצא משימוש. אם מבצעים קריאה לממשקי ה-API האלה, צריך לבצע קריאה לממשק החדש Context.getColorStateList() או Context.getColor() שיטות במקום זאת. השיטות האלה זמינות גם בספריית ה-appcompat בגרסת v4 דרך ContextCompat.

תכונות אודיו

בגרסה הזו נוספו שיפורים לעיבוד האודיו ב-Android, כולל:

  • תמיכה ב-MIDI עם ממשקי ה-API החדשים של android.media.midi. צריך להשתמש בממשקי ה-API האלה כדי לשלוח ולקבל MIDI אירועים.
  • AudioRecord.Builder וAudioTrack.Builder חדשים סיווגים ליצירה של אובייקטים דיגיטליים שמאפשרים להקליט אודיו ולהפעיל אותם בהתאמה, ולהגדיר אודיו source ו-sink כדי לשנות את הגדרות ברירת המחדל של המערכת.
  • קטעי הוק (hooks) ל-API לצורך שיוך מכשירי אודיו וקלט. האפשרות הזו שימושית במיוחד אם האפליקציה שלכם מאפשר למשתמשים להתחיל חיפוש קולי משלט רחוק של משחקים או לשלט רחוק המחוברים ל-Android טלוויזיה. המערכת מפעילה onSearchRequested() קריאה חוזרת כשהמשתמש מתחיל חיפוש. כדי לקבוע אם למכשיר הקלט של המשתמש יש מכשיר מובנה מיקרופון, מאחזרים את האובייקט InputDevice מהקריאה החוזרת (callback) ואז קוראים ה-method החדש של hasMicrophone().
  • שיטת getDevices() חדשה שמאפשרת לאחזר רשימה של כל התקני האודיו שמחוברים כרגע למערכת. אפשר גם לרשום צריך אובייקט אחד (AudioDeviceCallback) אם רוצים שהמערכת תשלח התראה לאפליקציה כשמכשיר אודיו מתחבר או מתנתק.

תכונות שקשורות לסרטונים

הגרסה הזו כוללת יכולות חדשות לממשקי ה-API לעיבוד וידאו, כולל:

  • מחלקה חדשה של MediaSync שעוזרת לאפליקציות לעבד באופן סינכרוני שידורי וידאו ואודיו. מאגרי הנתונים הזמניים של האודיו נשלחים ללא חסימה, הוחזרה באמצעות קריאה חוזרת (callback). הוא גם תומך בקצב הפעלה דינמי.
  • אירוע EVENT_SESSION_RECLAIMED חדש, שמציין ש- סשן שנפתח על ידי האפליקציה נדרש מחדש על ידי מנהל המשאבים. אם האפליקציה משתמשת בסשנים של DRM, עליך לטפל באירוע הזה ולהקפיד לא להשתמש בסשן חוזר.
  • קוד שגיאה חדש מסוג ERROR_RECLAIMED, שמציין שמנהל המשאבים ביטל את משאב המדיה שמשמש את הקודק. מלבד זאת, יש לשחרר את הקודק, מכיוון שהוא עבר למצב מסוף.
  • ממשק getMaxSupportedInstances() חדש לקבלת רמז למספר המקסימלי של המכשירים הנתמכים את מספר המופעים של קודק בו-זמנית.
  • שיטת setPlaybackParams() חדשה להגדרת קצב הפעלה של מדיה למשך זמן מהיר או הפעלה בהילוך איטי. הוא גם נמתח או מאיץ את הפעלת האודיו באופן אוטומטי בשילוב עם הסרטון.

תכונות המצלמה

הגרסה הזו כוללת את ממשקי ה-API החדשים הבאים שמאפשרים גישה לפנס של המצלמה עיבוד מחדש של תמונות במצלמה:

ממשק API של Flashlight

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

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

עיבוד מחדש של ה-API

ה-API של Camera2 מורחב כדי לתמוך ב-YUV ובמצב פרטי עיבוד מחדש של תמונה בפורמט אטום. כדי לבדוק אם יכולות העיבוד מחדש האלה זמינות, צריך להתקשר אל getCameraCharacteristics() ולבדוק מקש REPROCESS_MAX_CAPTURE_STALL. אם אם המכשיר תומך בעיבוד מחדש. ניתן ליצור סשן של צילום מצלמה שניתן לעבד באמצעות שיחה createReprocessableCaptureSession() וליצור בקשות לעיבוד מחדש של מאגר הנתונים הזמני.

משתמשים במחלקה ImageWriter כדי לחבר את מאגר הנתונים הזמני של הקלט למצלמה בתהליך עיבוד מחדש של הקלט. כדי ליצור מאגר נתונים זמני ריק, צריך להשתמש במודל התכנות הבא:

  1. מפעילים את השיטה dequeueInputImage().
  2. ממלאים את הנתונים במאגר הנתונים הזמני.
  3. שולחים את מאגר הנתונים הזמני למצלמה באמצעות קריאה ל אמצעי תשלום אחד (queueInputImage()).

אם משתמשים באובייקט ImageWriter יחד עם תמונה PRIVATE, לאפליקציה שלך אין גישה לתמונה נתונים ישירות. במקום זאת, צריך להעביר את התמונה של PRIVATE ישירות ImageWriter באמצעות שליחת קריאה אל אמצעי תשלום אחד (queueInputImage()) בלי להעתיק מאגר נתונים זמני.

הכיתה ImageReader תומכת עכשיו סטרימינג של תמונות בפורמט PRIVATE. התמיכה הזו מאפשרת לאפליקציה לשמור תור תמונות מעוגל הכולל תמונות של פלט ImageReader, יש לבחור תמונה אחת או תמונות נוספות, ולשלוח אותן אל ImageWriter לעיבוד מחדש של המצלמה.

התכונות של Android for Work

הגרסה הזו כוללת את ממשקי ה-API החדשים הבאים ל-Android for Work:

  • פקדים משופרים למכשירים בבעלות הארגון לשימוש חד-פעמי: בעלי המכשיר יכול עכשיו לשלוט בהגדרות הבאות כדי לשפר את הניהול של מכשירים בבעלות תאגידית, לשימוש חד-פעמי (COSU):
    • השבתה או הפעלה מחדש של מגן המקשים עם אמצעי תשלום אחד (setKeyguardDisabled()).
    • להשבית או להפעיל מחדש את שורת הסטטוס (כולל הגדרות מהירות, התראות תנועת החלקה למעלה בזמן הניווט שמפעיל את 'Google Now') באמצעות setStatusBarDisabled() .
    • השבתה או הפעלה מחדש של הפעלה בטוחה עם הקבוע UserManager DISALLOW_SAFE_BOOT.
    • מונע את כיבוי המסך כאשר הוא מחובר לחשמל קבוע של STAY_ON_WHILE_PLUGGED_IN.
  • התקנה והסרה שקטות של אפליקציות על ידי בעלי המכשיר: בעלי מכשיר יכולים עכשיו התקנה והסרה שקטה של אפליקציות באמצעות PackageInstaller ממשקי API שלא תלויים ב-Google Play for Work. עכשיו יש לך אפשרות להקצות מכשירים דרך בעלי המכשיר, מאחזר ומתקין אפליקציות ללא אינטראקציה מצד המשתמש. התכונה הזו שימושית לצורך הפעלה של מגע אחד הקצאת מכשירים במצב קיוסק או מכשירים דומים אחרים בלי להפעיל חשבון Google.
  • גישה שקטה לאישורים בארגון: כשאפליקציה מתקשרת choosePrivateKeyAlias(), לפני שהמשתמש יתבקש לבחור אישור, הפרופיל או בעל המכשיר יכולים עכשיו להתקשר onChoosePrivateKeyAlias() כדי לספק את הכינוי באופן שקט לאפליקציה ששולחת את הבקשה. התכונה הזו מאפשרת לאפליקציות מנוהלות לגשת לאישורים ללא אינטראקציה של המשתמש.
  • אישור אוטומטי של עדכוני מערכת. על ידי הגדרה של מדיניות עדכון מערכת עם setSystemUpdatePolicy(), בעלי מכשיר יכול עכשיו לקבל מערכת באופן אוטומטי עדכון, לדוגמה, במקרה של מכשיר קיוסק, או לדחות את העדכון ולמנוע ממנו נלקחו על ידי המשתמש לתקופה של עד 30 ימים. בנוסף, אדמין יכול להגדיר חלון זמן יומי שצריך לבצע עדכון, לדוגמה, במהלך השעות שבהן מכשיר קיוסק לא בשימוש. מתי יש עדכון מערכת, המערכת תבדוק אם האפליקציה 'בקר לניהול מדיניות מכשיר' הגדירה מערכת המדיניות ולעדכן אותה בהתאם.
  • התקנת אישור שהוענקה הרשאה: פרופיל או בעלים של מכשיר יכולים עכשיו להעניק לאפליקציית צד שלישי יש אפשרות לקרוא לאישורי DevicePolicyManager האלה ממשקי API לניהול:
  • מכשיר נייד שבו מוצגת התכונה של הודעה על סטטוס העבודה ב-Android for Work
  • מעקב אחרי השימוש בנתונים. בעלי פרופיל או בעלים של מכשיר יכולים עכשיו לשלוח שאילתה לגבי נתוני שימוש בנתונים זמינים ב'הגדרות' > ' שימוש בנתונים באמצעות NetworkStatsManager methods. בעלי הפרופיל אושרו באופן אוטומטי הרשאה להריץ שאילתות על נתונים בפרופיל שהם מנהלים, ואילו בעלי המכשיר מקבלים גישה לנתוני השימוש של המשתמש הראשי המנוהל.
  • ניהול הרשאות בסביבת זמן ריצה:

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

  • VPN בהגדרות: אפליקציות VPN גלויות עכשיו ב- הגדרות > עוד > VPN. בנוסף, ההתראות שמתלוות לשימוש ב-VPN מותאמות באופן ספציפי לאופן שבו רשת ה-VPN מוגדר. לבעלי הפרופיל, ההתראות ספציפיות לגבי הגדרת ה-VPN לפרופיל מנוהל, לפרופיל אישי או לשניהם. לבעלי מכשיר, ההתראות ספציפית אם ה-VPN מוגדר לכל המכשיר.
  • התראה על סטטוס העבודה: יופיע עכשיו סמל תיק בשורת הסטטוס של העבודה באפליקציה מהפרופיל המנוהל יש פעילות בחזית. בנוסף, אם המכשיר פתוח ישירות לפעילות של אפליקציה בפרופיל המנוהל, ומוצגת הודעה על כך את המשתמש שלהם בפרופיל העבודה.