ActivityResultLauncher
(לך ותביא...)
מדובר בכלי חדש
שנוסף לאנדרואיד כדי להחליף
את השיטה הישנה של startActivityForResult.
השיטה הזו מאפשרת עבודה
פשוטה ונוחה יותר עם בקשות
"להביא תוצאה"
מאקטיביטי (ואפליקציות) אחרות.
שלב 1:
קודם כל צריך להגדיר משתנה
private ActivityResultLauncher<Intent> launcher;
שלב 1:
קודם כל צריך להגדיר משתנה
private ActivityResultLauncher<Intent> launcher;
במקום Intent
ניתן להשתמש גם במידע אחר,
כל עוד הוא מתאים לדרישות שלך
(כמו סוגים אחרים של נתונים)
שלב 2:
לרוב, אתה תשתמש ב- ActivityResultContracts
כדי לקבוע איזה סוג של פעולה תעשה
כאשר תחזור תוצאה.
לדוגמה, אם אתה רוצה לפתוח
את "גלריית התמונות", תוכל להשתמש
ב- ActivityResultContracts.GetContent()
שלב 2:
שלב 3:
כאשר צריך להשתמש – פשוט מפעילים...
להגדיר-לאתחל-להפעיל
(ואז להשתמש בתוצאה)
"חוזה" | סוג בתוך <...> | שימוש עבור... |
StartActivityForResult() | Intent | לפנות לאקטיביטי אחרת |
RequestPermission() | String | לבקש הרשאה (אחת) |
RequestMultiplePermissions() | String[] | לבקש מספר הרשאות |
TakePicture() | Uri | Uriלצלם ולשמור ב- |
TakePicturePreview() | Void | Bitmapלצלם ולשמור ב- |
GetContent() | String (MIME-סוג) | לבחור קובץ |
GetMultipleContents() | String (MIME-סוג) | לבחור כמה קבצים |
OpenDocument() | String[] (MIME-סוגי) | לפתוח מסמך |
בקשת הרשאה (אחת)
לבחור תמונה
בקיצר:
Intent נדרש רק כדי להתחיל פעילות נוספת.
עבור פעולות אחרות
(הרשאות, תוכן, תמונות)
נעשה שימוש בסוגים אחרים
(String, Uri, Void וכו').
א