package Ġnet . sy ari hu . android . playground . activity result apis ample Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts Ċ import Ġnet . sy ari hu . android . playground . activity result apis ample . databinding . Activity Main Binding Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġ// Ġ æĸ° ãģĹãģ ı è¿½åĬł ãģķãĤĮãģŁ ãĢģ prepare Call ãģ« å¼ķ æķ° ãģ¨ãģĹãģ¦ Start Activity For Result ãĤĴ æ¸ ¡ ãģĻ ĊĠĠĠ Ġprivate Ġval Ġlauncher Ġ= ĊĠĠĠĠĠĠĠ Ġprepare Call ( Activity Result Contracts . Start Activity For Result ()) Ġ{ Ġactivity Result Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠãĤ³ ãĥ¼ãĥ« ãĥĲ ãĥĥãĤ¯ ãģ¨ãģĹãģ¦ Activity Result ãĤĴ åıĹ ãģĳ åıĸ ãĤĭ ãģĵãģ¨ ãģĮ ãģ§ãģįãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ãģĵ ãģĵ ãģĮ åĳ¼ ãģ³ åĩº ãģĹ åħĪ ãģ® Activity ãģĮ éĸ ī ãģĺ ãģŁ ãģ¨ ãģį ãģ« åĳ¼ ãģ³ åĩº ãģķãĤĮãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity Result . result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" ok ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġrequest Permission Launcher Ġ= ĊĠĠĠĠĠĠĠ Ġprepare Call ( Activity Result Contracts . Request Permission ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtake Picture Launcher . launch ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæ¨ © éĻĲ ãģĮ ä»ĺ ä¸İ ãģķãĤĮãģŁ ãĤī true ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" gr anted ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġtake Picture Launcher Ġ= Ġprepare Call ( Activity Result Contracts . Take Picture ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Bitmap : Ġ${ it Ġ!= Ġnull }", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval ĠgetContent Launcher Ġ= ĊĠĠĠĠĠĠĠ Ġprepare Call ( Activity Result Contracts . Get Content ()) Ġ{ Ġuri : ĠUri ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" uri : Ġ${ uri Ġ!= Ġnull }", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġget App Package Launcher Ġ= Ġprepare Call ( App Detail Activity Result Contract ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ"$ it ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlauncher . launch ( Intent ( this @ MainActivity , ĠSub Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpermission . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Permission Launcher . launch ( Manifest . permission . CAMERA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetContent . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContent Launcher . launch (" image /* ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Package . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget App Package Launcher . launch ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠ Ġ} Ċ } Ċ