1 of 14

ActivityResultLauncher

(לך ותביא...)

2 of 14

מדובר בכלי חדש

שנוסף לאנדרואיד כדי להחליף

את השיטה הישנה של startActivityForResult.

השיטה הזו מאפשרת עבודה

פשוטה ונוחה יותר עם בקשות

"להביא תוצאה"

מאקטיביטי (ואפליקציות) אחרות.

3 of 14

שלב 1:

קודם כל צריך להגדיר משתנה

private ActivityResultLauncher<Intent> launcher;

4 of 14

שלב 1:

קודם כל צריך להגדיר משתנה

private ActivityResultLauncher<Intent> launcher;

במקום Intent

ניתן להשתמש גם במידע אחר,

כל עוד הוא מתאים לדרישות שלך

(כמו סוגים אחרים של נתונים)

5 of 14

שלב 2:

לרוב, אתה תשתמש ב- ActivityResultContracts

כדי לקבוע איזה סוג של פעולה תעשה

כאשר תחזור תוצאה.

לדוגמה, אם אתה רוצה לפתוח

את "גלריית התמונות", תוכל להשתמש

ב- ActivityResultContracts.GetContent()

6 of 14

שלב 2:

7 of 14

שלב 3:

כאשר צריך להשתמש – פשוט מפעילים...

8 of 14

להגדיר-לאתחל-להפעיל

(ואז להשתמש בתוצאה)

9 of 14

"חוזה"

סוג בתוך <...>

שימוש עבור...

StartActivityForResult()

Intent

לפנות לאקטיביטי אחרת

RequestPermission()

String

לבקש הרשאה (אחת)

RequestMultiplePermissions()

String[]

לבקש מספר הרשאות

TakePicture()

Uri

Uriלצלם ולשמור ב-

TakePicturePreview()

Void

Bitmapלצלם ולשמור ב-

GetContent()

String (MIME-סוג)

לבחור קובץ

GetMultipleContents()

String (MIME-סוג)

לבחור כמה קבצים

OpenDocument()

String[] (MIME-סוגי)

לפתוח מסמך

10 of 14

בקשת הרשאה (אחת)

11 of 14

לבחור תמונה

12 of 14

בקיצר:

Intent נדרש רק כדי להתחיל פעילות נוספת.

עבור פעולות אחרות

(הרשאות, תוכן, תמונות)

נעשה שימוש בסוגים אחרים

(String, Uri, Void וכו').

13 of 14

א

14 of 14