מערכת Android 13 כוללת תכונות וממשקי API חדשים ונהדרים למפתחים. הקטעים שבהמשך יעזרו לכם ללמוד על התכונות של האפליקציות שלכם ולהתחיל שקשורים ל-API.
כדי לקבל רשימה מפורטת של ממשקי API חדשים, שהשתנו והוסרו, אפשר לעיין ב דוח הבדלים של ה-API. פרטים על ממשקי API חדשים בקר בחומר העזר בנושא API של Android — ממשקי API חדשים מודגשים עבור החשיפה. בנוסף, כדי לקבל מידע על תחומים שבהם עשויים לחול שינויים בפלטפורמות ישפיע על האפליקציות, חשוב לבדוק את השינויים בהתנהגות של Android 13 באפליקציות שמטרגטות את Android 13 ולכל המשתמשים אפליקציות.
כלים למפתחים וכלים לשיפור הפרודוקטיביות
סמלים של אפליקציות בעיצובים
החל מ-Android 13, אפשר להביע הסכמה לשימוש בסמלי אפליקציות מעוצבים. עכשיו אפשר תכונה, סמלי האפליקציות במרכזי אפליקציות נתמכים של Android צבועים בגוון כדי לקבל בירושה צבעים של הטפט ועיצובים אחרים שהמשתמש בחר.
כדי לתמוך בתכונה הזו, האפליקציה צריכה לספק גם
סמל מותאם וגם
סמל האפליקציה המונוכרומטי, ומצביעים על סמל האפליקציה המונוכרומטי
רכיב <adaptive-icon>
במניפסט. אם המשתמש הפעיל אפליקציה עם נושא משותף
סמלים (במילים אחרות, מופעל בהגדרות המערכת את המתג סמלים מעוצבים),
ומרכז האפליקציות תומך בתכונה זו, המערכת משתמשת בצבע
כדי לקבוע את גוון הצבע, את הטפט והעיצוב שהמשתמש בחר
רלוונטית לסמל האפליקציה המונוכרומטי.
מסך הבית לא מציג את סמל האפליקציה המעוצבת, אלא מוצג במקום זאת סמל האפליקציה הרגילה או המותאמת – בכל אחד מהתרחישים הבאים:
- אם המשתמש לא הפעיל סמלי אפליקציות מעוצבים
- אם באפליקציה לא מוצג סמל מונוכרומטי
- אם מרכז האפליקציות לא תומך בסמלי אפליקציות מעוצבים
לפרטים נוספים והוראות, ראו סמלים מותאמים.
העדפות שפה לכל אפליקציה
במקרים רבים, משתמשים שדוברים כמה שפות מגדירים את שפת המערכת שלהם לשפה אחת — כמו אנגלית, אבל הם רוצים לבחור שפות אחרות לאפליקציות ספציפיות, הולנדית, סינית או הינדי. כדי לעזור לאפליקציות לספק חוויה טובה יותר ב-Android 13 הוספנו את התכונות הבאות לאפליקציות שתומכות במספר שפות:
הגדרות מערכת: מיקום מרכזי שבו המשתמשים יכולים לבחור שפה מועדפת לכל אפליקציה.
צריך להצהיר על המאפיין
android:localeConfig
באפליקציה כדי לומר למערכת שהוא תומך בכמה שפות. למידה הוראות נוספות יצירת קובץ משאבים והצהרה עליו בקובץ המניפסט של האפליקציהAdditional APIs: ממשקי ה-API הציבוריים האלה, כמו
setApplicationLocales()
וגםgetApplicationLocales()
השיטות ב-LocaleManager
, מאפשרות לאפליקציות להגדיר שפה שונה משפת המערכת בזמן הריצה.ממשקי ה-API האלה מסתנכרנים באופן אוטומטי עם הגדרות המערכת. לכן, אפליקציות שמשתמשות בממשקי ה-API האלה כדי ליצור בוחרי שפה מותאמים אישית באפליקציה, למשתמשים שלהם יש חוויית משתמש עקבית, לא משנה איפה הם בחרו העדפות השפה שלהם. ממשקי ה-API הציבוריים גם עוזרים להפחית את של קוד סטנדרטי, הם תומכים ב-APK מפוצל ותומכים גיבוי אוטומטי לאפליקציות לאחסון ברמת האפליקציה הגדרות השפה של המשתמש.
לצורך תאימות לאחור עם גרסאות Android קודמות, ממשקי API מקבילים זמינות גם ב-AndroidX. מומלץ להשתמש ממשקי ה-API נוסף ב-Appcompat 1.6.0-beta01 ומעלה.
אפליקציות שלא תומכות בכמה שפות לא יושפעו מהשינויים האלה.
תמיכה משופרת בטקסט ובשפה
ב-Android 13 יש כמה תכונות לשיפורי טקסט ושפה שעוזרים כדי לספק חוויה מלוטשת יותר, כפי שמתואר בקטעים הבאים:
מקף מהיר יותר
השימוש במקף מקל על הקריאה של טקסט עטוף והופך את ממשק המשתמש לקל יותר
מותאם. החל מ-Android 13, ביצועי המקפים עוברים אופטימיזציה לפי
בשיעור של עד 200%, כך שאפשר יהיה להפעיל אותה בTextView
כמעט ללא השפעה
של ביצועי הרינדור. כדי להפעיל מקף מהיר יותר, משתמשים בפונקציה
fullFast
או
normalFast
תדירויות ב-
setHyphenationFrequency()
.
ממשקי API להמרת טקסט
אנשים שדוברים שפות כמו יפנית וסינית משתמשים באותיות פונטיות שיטות קלט, שלרוב מאטות את החיפוש ותכונות כמו לסיום. ב-Android 13, אפליקציות יכולות לקרוא להמרת הטקסט החדשה API, כדי שמשתמשים יוכלו למצוא שהם מחפשים מהר יותר ובקלות רבה יותר. לדוגמה, בחיפוש Google נדרש משתמש יפני לבצע את השלבים הבאים:
- הזן את היראגאנה כהגייה הפונטית של מונח החיפוש (למשל מקום או שם של אפליקציה)
- משתמשים במקלדת כדי להמיר את תווי היראגאנה לקאנג'י
- חיפוש בעזרת תווי קאנג'י
- סוף סוף הם מקבלים את תוצאות החיפוש
עם ממשק ה-API החדש להמרת טקסט, משתמשים מיפן יכולים להקליד בהיראגאנה לראות מיד את תוצאות החיפוש של קאנג'י בזמן אמת, תוך דילוג על שלבים 2 ו-3.
גובה משופר של שורות בסקריפטים לא לטיניים
מערכת Android 13 משפרת את התצוגה של סקריפטים שאינם לטיניים (כמו טמילית, בורמזית, טלוגו וטיבטית) באמצעות גובה שורה שמותאם לכל שפה. גובהי השורות החדשים מונעים חיתוך ומשפרים את המיקום של התווים. האפליקציה שלך יכולה לנצל את השיפורים האלה רק על ידי טירגוט ל-Android 13. חשוב לבדוק את האפליקציות כשמשתמשים במרווח החדש בין השורות, כי השינויים עשויה להשפיע על ממשק המשתמש שלך בשפות שאינן לטיניות.
גלישת טקסט משופרת ביפנית
החל מ-Android 13, התכונה TextViews יכולה לגלול טקסט באמצעות Bunsetsu (יחידת המילים הקטנה ביותר שנשמעת?
טבעי) או לביטויים, במקום לפי תו, כדי ליצור מלוטש וקריא יותר
אפליקציות ביפנית. אפשר לנצל את חבילת הגלישה באמצעות
android:lineBreakWordStyle="phrase"
עם TextViews.
עדכונים בספריית Unicode
ב-Android 13 נוספו השיפורים, התיקונים והשינויים האחרונים שכלולים Unicode ICU 70, Unicode CLDR 40, ו-Unicode 14.0.
הנה כמה שינויים חשובים:
- אנגלית (קנדה)
en‑CA
ואנגלית (הרפובליקה של הפיליפינים)en‑PH
משתמשים בשפה האנגלית (ארצות הברית)en
מקורות תרגום, כשאין משאבי תרגום זמינים במקום אנגלית (בריטניה)en‑GB
. - קטגוריית הרבים
many
נוספה עבור ספרדיתes
, איטלקיתit
, פורטוגזיתpt
ופורטוגזית (פורטוגל)pt‑PT
. דומה לצרפתית שהושקה ב-CLDR v38, משמש למספרים גדולים.
גופנים של וקטור צבעים
החל מ-Android 13, המערכת כוללת תמיכה בעיבוד ב-COLR בגרסה 1 גופנים (COLRv1) ומעדכנים את סמלי האמוג'י של המערכת לפורמט COLRv1. COLRv1 הוא פורמט קומפקטי של גופן, שמוצג במהירות וברורה בכל גודל.
ברוב האפליקציות, המערכת מטפלת בהכול ו-COLRv1 פשוט עובד. אבל, לפעמים אם באפליקציה האפליקציה מעבדת טקסט משלה ומשתמשת בגופנים של המערכת, מומלץ לבדוק את עיבוד האמוג'י.
למידע נוסף על COLRv1, אפשר לעיין במקורות המידע הבאים:
הגדרות מהירות של מיקום API
'הגדרות מהירות' בלוח ההתראות עושות שימוש נוח למשתמשים כדי לבצע את השינוי הגדרות או לבצע פעולות מהירות מבלי לצאת מההקשר של האפליקציה. הוראות לבעלי אפליקציות שמספקים משבצות מותאמות אישית, אנחנו מקלים על המשתמשים לגלות את כרטיסי המידע שלך ולהוסיף אותם הגדרות. באמצעות tile location API, האפליקציה שלך יכולה עכשיו לבקש מהמשתמש להוסיף את כרטיס המידע המותאם אישית ישירות קבוצת משבצות פעילות בהגדרות המהירות. תיבת דו-שיח חדשה של המערכת מאפשרת למשתמש להוסיף לחצן בשלב אחד, בלי לצאת מהאפליקציה, במקום לעבור אל הגדרות להוספת הלחצן.
תצוגה מקדימה של הלוח
החל מ-Android 13, המערכת תציג אישור חזותי סטנדרטי כש נוסף ללוח. האישור החדש מבצע את הפעולות הבאות:
- מאשר שהתוכן הועתק בהצלחה.
- כאן אפשר לראות תצוגה מקדימה של התוכן שהועתק.
התכונה הזו יוצרת סטנדרטיזציה של ההתראות השונות שמוצגות על ידי האפליקציות אחרי ההעתקה ומציע למשתמשים שליטה רבה יותר על הלוח שלהם. למידע נוסף, נכנסים לתכונה העתקה והדבקה. הדף הזה.
תנועת חזרה חזויה
ב-Android 13 יש תנועת חזרה חזויה למכשירי Android, כמו טלפונים, מסכים גדולים ומתקפלים. כדי לתמוך בתכונה הזו צריך מעדכנים את האפליקציה.
לעיון בתיעוד מפורט, כדאי לעיין במאמר עדכון האפליקציה כך שתתמוך בחזרה חזויה תנועה. אפשר גם לנסות את Codelab.
Bluetooth LE Audio
אודיו עם צריכת אנרגיה נמוכה (LE) הוא אודיו אלחוטי שנועד להחליף Bluetooth קלאסי והפעלה של תרחישים לדוגמה וטופולוגיות חיבור מסוימות. הוא מאפשרת למשתמשים לשתף ולשדר את האודיו שלהם לחברים ולבני משפחה, או להירשם לשידורים ציבוריים לקבלת מידע, בידור או נגישות. המטרה היא להבטיח שהמשתמשים יוכלו לקבל אודיו באיכות גבוהה התפשרות על חיי הסוללה, ואפשרות לעבור בקלות בין סוגי השימוש השונים במקרים שלא אפשר להשתמש בהם עם Bluetooth Classic. החל מ-Android 13, כוללת תמיכה מובנית ב-LE Audio, כך שהמפתחים מקבלים יכולות בחינם במכשירים תואמים.
MIDI 2.0
החל מגרסה 13 של Android, המערכת כוללת תמיכה בתקן MIDI 2.0. כולל היכולת לחבר חומרת MIDI 2.0 באמצעות USB. ברירת המחדל הזו שמציע תכונות כמו רזולוציה גבוהה יותר לבקרים, תמיכה טובה יותר אינטונציה לא מערבית וביצועים אקספרסיביים יותר באמצעות כל הערה לנאמני מידע.
שיפורים ביעילות של מסך הפתיחה
מערכת Android 13 משפרת את היעילות של מסכי פתיחה עם אנימציה במסך הפתיחה Screen API:
המערכת מסיקה את משך האנימציה ישירות
AnimatedVectorDrawable
לפני Android 13, היה צורך להגדיר אתwindowSplashScreenAnimationDuration
ישירות.אפשר להשתמש במאפיין
windowSplashScreenBehavior
החדש כדי לקבל שליטה רבה יותר על אם האפליקציה תמיד מציגה את הסמל במסך הפתיחה ב-Android 13 גבוהה יותר.
למידע מפורט, ראו מסכי פתיחה.
אופטימיזציות ART
בגרסה Android 13 (רמת API 33) ואילך, ART מבצע את המעבר המקורי
את הקוד הרבה יותר מהיר, וקריאות JNI זמינות עכשיו בשיעור של עד פי 2.5. מסמך עזר בנושא זמן ריצה
עבוד גם על עיבוד כדי למנוע בעיקר חסימה,
היא מפחיתה את ה-jank. בנוסף, אפשר להשתמש
Reference.refersTo()
ל-API ציבורי כדי להחזיר אובייקטים שלא ניתן להגיע אליהם מוקדם יותר, ותוכלו לראות את
רכיב התרגום מהיר יותר עכשיו בזכות חיפושי כיתות ושיטות שעברו אופטימיזציה. ART גם
מבצע יותר אימות של קוד בייט בזמן ההתקנה, כדי להימנע מהוצאות
בזמן הריצה, כך שזמני ההפעלה של האפליקציה יהיו מהירים.
פרטיות ואבטחה
ייצוא בטוח יותר של נמענים שרשומים לפי ההקשר
כדי לשפר את הבטיחות של המקלטים בזמן הריצה, Android 13 כולל את לאפליקציה שלך לציין אם מקלט שידורים רשום צריך לייצא את הנתונים ולהיות גלויים לאפליקציות אחרות במכשיר. בגרסאות קודמות של Android, כל אפליקציה במכשיר יכולה לשלוח שידור לא מוגן המקבל רשום באופן דינמי, אלא אם קיבלת הגנה על ידי הרשאת חתימה.
הגדרות הייצוא האלה זמינות באפליקציות שמבצעות לפחות הבאים:
- שימוש ב
ContextCompat
מגרסה 1.9.0 ואילך של ספריית AndroidX Core. - כדאי לטרגט ל-Android 13 ואילך.
בורר התמונות
מערכת Android 13 (רמת API 33) ואילך כוללת הכלי לבחירת תמונות חוויה אישית. מתי האפליקציה מפעילה את בוחר תמונות, משתמשים בוחרים תמונות וסרטונים ספציפיים לשיתוף עם האפליקציה שלכם, כמו תמונות פרופיל, במקום לתת לאפליקציה גישה לצפייה במלואה ספריית המדיה. זו הדרך המומלצת לגשת לתמונות של המשתמש סרטונים.
הכלי לבחירת תמונות מספק למשתמשים פרטיות משופרת, כי האפליקציה שלך לא צריך להצהיר על הרשאות בתחילת ההפעלה. בנוסף, הכלי לבחירת תמונות מספק ממשק משתמש מובנה וסטנדרטי לאפליקציות, שיוצר חוויה אישית.
הרשאת זמן ריצה חדשה למכשירי Wi-Fi בקרבת מקום
מערכת Android 13 (רמת API 33) כוללת תכונה חדשה
הרשאת זמן ריצה
קבוצת הרשאות NEARBY_DEVICES
לאפליקציות שמנהלות את חיבורי המכשיר אל
נקודות גישה בקרבת מקום באמצעות Wi-Fi. האפליקציות האלה צריכות להצהיר על ההרשאה החדשה.
NEARBY_WIFI_DEVICES
כשהם
לקרוא לכמה ממשקי API שונים של Wi-Fi.
בנוסף, כל עוד האפליקציות לא מסיקה את המיקום הפיזי מרשת ה-Wi-Fi
הם לא צריכים להצהיר על
ACCESS_FINE_LOCATION
כשהם מטרגטים את Android 13 ואילך.
מידע נוסף על המדיניות בנושא הרשאה למכשירי Wi-Fi בקרבת מקום.
הרשאה חדשה להשתמש בהתראות מדויקות
אם האפליקציה מטרגטת את Android 13 ואילך, אפשר להשתמש
USE_EXACT_ALARM
הרשאה, שתוענק לאפליקציה שלך באופן אוטומטי. כדי שהאפליקציה שלך
להשתמש בהרשאה זו, אך היא חייבת לעמוד לפחות באחד מהקריטריונים הבאים
קריטריונים:
- האפליקציה שלך היא אפליקציית שעון מעורר או אפליקציית טיימר.
- האפליקציה היא אפליקציית יומן שמציגה התראות על אירועים קרובים.
אם האפליקציה מגדירה התראות מדויקות אבל היא לא עומדת באף אחד מהמקרים שמופיעים ב
הקודמת, ממשיכים להצהיר
SCHEDULE_EXACT_ALARM
הרשאה במקום זאת, ולהיות מוכנים למצב שבו המשתמש מסרב
גישה לאפליקציה.
הרשאות למפתחים שניתנות לשדרוג לאחור
החל מ-Android 13, האפליקציה יכולה לבטל את הגישה לפריטים שלא בשימוש הרשאות בתחילת ההפעלה. ה-API הזה מאפשרת לאפליקציה לבצע משימות לשיפור הפרטיות, כמו:
- מסירים הרשאות שלא בשימוש.
- פועלים בהתאם לשיטות המומלצות בנושא הרשאות, כדי לשפר את האמון של המשתמשים. ייתכן שתרצו כדי להציג למשתמשים תיבת דו-שיח שמציגה את ההרשאות שיש לכם שבוטלו באופן יזום.
APK Signature Scheme גרסה 3.1
ב-Android 13 נוספה תמיכה ב-APK Signature Scheme v3.1. משפרת את גרסה 3 של חתימת APK. סכימה זו מתייחס לחלק מהבעיות המוכרות עם APK Signature Scheme v3 בנוגע לרוטציה. באופן ספציפי, גרסה 3.1 סכימת החתימה תומכת בטירגוט לפי גרסת SDK, שמאפשר לבצע רוטציה לטרגט לגרסה מאוחרת יותר של הפלטפורמה.
סכימת החתימה v3.1 משתמשת במזהה בלוק שאינו מזוהה ב- 12L או פחות. לכן, הפלטפורמה מחילה את החותמים הבאים:
- במכשירים עם Android 13 ואילך נעשה שימוש בחותם המסובב את הבלוק גרסה 3.1.
- במכשירים עם גרסאות ישנות יותר של Android, מתעלמים מהחותם המסובב וגם במקום זאת, צריך להשתמש בחותם המקורי בבלוק של גרסה 3.0.
באפליקציות שעדיין לא התבצעו רוטציה למפתח החתימה שלהן אין צורך פעולה. בכל פעם שהאפליקציות האלה בוחרות לבצע סיבוב, המערכת מחילה את גרסה 3.1 כברירת מחדל.
אפליקציות שכבר עברו רוטציה ורוצים להמשיך להשתמש בחתימה שלהן בסיבוב
בבלוק החתימה v3.0 צריכים לעדכן את
apksigner
הפעלה:
apksigner sign --ks keystore.jks | --key key.pk8 --cert cert.x509.pem --rotation-min-sdk-version API_LEVEL [signer_options] app-name.apk
...כאשר API_LEVEL
הוא 32 ומטה.
דיווח טוב יותר על שגיאות ב-Keystore וב-KeyMint
לאפליקציות שמייצרות מפתחות, Keystore ו-KeyMint מספקים עכשיו מידע מפורט יותר
סימנים מדויקים של שגיאות. הוספנו היררכיית כיתה חריגה בקטע
java.security.ProviderException
, עם חריגים ספציפיים ל-Android שכוללים
קודי שגיאה של Keystore/KeyMint,
ואם ניתן לנסות שוב את השגיאה. אפשר גם לשנות את השיטות של המקשים
ושימוש בהם (חתימה, הצפנה) כדי לזרוק את החריגים החדשים.
דיווח משופר על שגיאות אינו מוגבל ליצירת מפתחות, ועכשיו הוא אמור לספק
את מה שדרוש לכם כדי לנסות שוב ליצור מפתחות.
תמיכה בטאבלטים ובמסכים גדולים
מערכת Android 13 מתבססת על האופטימיזציה של הטאבלטים שהושקה ב-Android 12 השקת תכונות של 12L – כולל אופטימיזציות לממשק המשתמש של המערכת, ריבוי משימות משופר, ומצבי תאימות משופרים. כחלק מהבדיקה, יש לוודא שהאפליקציות להיראות במיטבם בטאבלטים ובמכשירים אחרים עם מסך גדול.
לקבלת מידע נוסף על מה חדש ומה כדאי לבדוק, אפשר לעיין תמיכה בטאבלטים ובמסכים גדולים הדף הזה.
גרפיקה
תוכנות הצללה (shader) שניתן לתכנות
החל מ-Android 13, המערכת כוללת תמיכה בתכונות שניתן לתכנות
RuntimeShader
אובייקטים, עם
התנהגות שמוגדרת באמצעות Android Graphics Shading Language
(AGSL). שיתופים ב-AGSL
חלק גדול מהתחביר שלו ב-GLSL, אבל הוא פועל במנוע העיבוד של Android כדי
להתאים אישית את ציור בתוך אזור העריכה של Android וגם סינון של 'הצגת תוכן'.
מערכת Android משתמשת בתוכנות ההצללה (shader) האלה באופן פנימי כדי להטמיע
אפקטים של גלים,
טשטוש,
וגם
למתח יתר.
עם Android מגרסה 13 ואילך, אפשר ליצור אפקטים מתקדמים דומים
אפליקציה.
שיפורים בכוריאוגרפים
ב-Android 13 הוספנו שיטות API ציבוריות שמאפשרות
Choreographer
ו-
ASurfaceControl
לספק לאפליקציות מידע נוסף על לוחות הזמנים האפשריים של פריימים ולהוסיף
הקשר נוסף
SurfaceFlinger
על מחזור החיים של המסגרת. בדומה לתכונות הקודמות, אפליקציות יכולות
לפרסם קריאה חוזרת (callback)
אל Choreographer
ולקבל מידע על ציר הזמן של המסגרת. ב-Android 13 (API
רמה 33), Choreographer
מחזירה כמה פעמים אפשריות של שיתוף המסך
המועדים האחרונים של הפריים. האפליקציות יכולות לבחור את זמן ההצגה
לאחר מכן
שליחת התראה ל-SurfaceFlinger
מבחירה. לאחר מכן, SurfaceFlinger
לא מנסה להחיל עסקאות או
לסגור את מאגר הנתונים הזמני לפני שעת ההצגה הרצויה.
מצלמה
צילום סרטונים באיכות HDR
החל מ-Android 13, ממשקי API של Camera2 לתמוך בצילום סרטונים עם טווח דינמי גבוה (HDR), כדי לאפשר תצוגה מקדימה ומקליטים תוכן של סרטונים באיכות HDR באמצעות המצלמה. בהשוואה לדינמיקה רגילה Range (SDR) מאפשר לכם ליהנות ממגוון רחב יותר של צבעים ומגדיל את הטווח הדינמי של רכיב הבהירות (החל מ- 100 cd/m2 עד 1,000s של cd/m2). כך מתקבלת איכות וידאו שקרובה יותר לאיכות האמיתית, ומאפשרת צבעים בהירים יותר, אזורים בהירים יותר וצלליות כהות יותר.
למידע נוסף על צילום סרטונים באיכות HDR, אפשר לבקר תיעוד בנושא צילום סרטון HDR
מדיה
אודיו מרחבי
אודיו מרחבי הוא חוויית אודיו סוחפת שבה נשמע תוכן מדיה מציאותי יותר למשתמשים. להציג את אודיו המרחבי לפרטים על אופן השילוב עם תכונה זו.
ניתוב אודיו צפוי
כדי לעזור לאפליקציות מדיה לזהות את אופן ניתוב האודיו שלהן, Android 13
מציגה ממשקי API של נתיבי אודיו
AudioManager
.
getAudioDevicesForAttributes()
ממשק API מאפשר לך לאחזר רשימה של מכשירים שבהם ניתן להשתמש כדי להפעיל את
את האודיו שצוין,
getDirectProfilesForAttributes()
בעזרת ה-API תוכלו להבין אם ניתן להפעיל את שידור האודיו באופן ישיר. כדאי להשתמש
כדי לקבוע
AudioFormat
לשימוש עבור האודיו
טראק.
נגישות
תיאור האודיו
Android 13 (רמת API 33) כולל העדפה חדשה בנושא נגישות ברמת המערכת
שמאפשרת למשתמשים להפעיל תיאורי אודיו בכל האפליקציות. אודיו
התיאור הוא מסלול קריינות נוסף שמורכב מקריין שמדבר
ולתאר את מה שקורה במסך
השהיות טבעיות באודיו.
האפליקציות יכולות לעקוב אחרי ההעדפות של המשתמשים לגבי טראקים של תיאורי אודיו
שאילתה באמצעות isAudioDescriptionRequested()
,
כפי שמוצג בקטע הקוד הבא:
Kotlin
private lateinit var accessibilityManager: AccessibilityManager // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager::class.java) // Where your media player is initialized if (accessibilityManager.isAudioDescriptionRequested) { // User has requested to enable audio descriptions }
Java
private AccessibilityManager accessibilityManager; // In onCreate(): accessibilityManager = getSystemService(AccessibilityManager.class); // Where your media player is initialized if(accessibilityManager.isAudioDescriptionRequested()) { // User has requested to enable audio descriptions }
אפליקציות יכולות לעקוב אחר שינוי ההעדפות של המשתמש על ידי הוספת מאזינים
AccessbilityManager
:
Kotlin
private val listener = AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled -> // Preference changed; reflect its state in your media player } override fun onStart() { super.onStart() accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener) } override fun onStop() { super.onStop() accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener) }
Java
private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> { // Preference changed; reflect its state in your media player }; @Override protected void onStart() { super.onStart(); accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener); } @Override protected void onStop() { super.onStop(); accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener); }
פונקציונליות עיקרית
עדכונים לגבי OpenJDK 11
ב-Android 13, מתבצע רענון של ספריות הליבה של Android כדי ליישר קו עם גרסת OpenJDK 11 LTS עם עדכוני ספרייה ושפת Java 11 תמיכה למפתחי אפליקציות ופלטפורמות. הספרייה העיקרית משתנה שהושקו ב-Android 13, יהיה זמין גם למכשירי Android 12 באמצעות עדכון מערכת של Google Play למודול ART Mainline.
מערכת Android 13 כוללת את השינויים הבאים בספריות הליבה:
- תמיכה במילת המפתח
var
עבור משתנים מקומיים ובתור פרמטרים lambdas. שיטות חדשות במחלקה String:
isBlank()
lines()
repeat()
strip()
stripLeading()
stripTrailing()
תמיכה ב-
Collection.toArray(IntFunction)
כדי להקל על ביצוע התאמות למערך.תמיכה ב-
ifPresentOrElse()
, ב-isEmpty()
, ב-orElseThrow()
וב-stream()
ב-java.util
כיתותOptional
,OptionalDouble
,OptionalInt
וOptionalLong
.תמיכה מורחבת ב-
SocketOptions
כולל שימוש חוזר בשקעים.NullReader
,NullWriter
,InputStream
,OutputStream
וגםtransferTo()
פונקציונליותReader
שמעבירה תווים שנקראו אלWriter
.נוספה פונקציונליות לקידוד ופענוח של כתובות URL באמצעות
Charsets
.הפונקציונליות של
Charset
עבורFileReader
,FileWriter
,PrintStream
, וגםPrintWriter
transferTo()
,readNBytes()
,readAllBytes()
וגםwriteBytes()
חדשים פונקציות עבורByteArrayInput
אוOutputStream
ו-Input
OutputStream
.תמיכה בסביבת זמן ריצה ובמהדר (compiler) ל-
java.lang.invoke.VarHandle
.עדכון של
java.util.concurrent
ל-OpenJDK 11 API באמצעותVarHandle
באופן פנימי.
Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או לשותפים עצמאיים.