package Ġcom . example . permission Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroidx . core . content . Context Compat Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Permission () ĊĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġcheck Permission () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġì¹ ´ë © Ķ ëĿ¼ Ġê ¶ Į íķľ ìĿĺ ĠìĬ ¹ ìĿ¸ Ġìĥģíĥľ Ġê°Ģ ìł¸ ìĺ¤ ê¸° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcamera Permission Ġ= ĠContext Compat . check Self Permission ( this , ĠManifest . permission . CAMERA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ìĥģ íĥľ ê°Ģ ĠìĬ ¹ ìĿ¸ ìĿ¼ Ġê²½ìļ° ìĹĲëĬĶ Ġì½Ķëĵľ Ġì§Ħ íĸī ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( camera Permission Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Process () Ġ// ìĬ ¹ ìĿ¸ ìĿ´ ë©´ ĠíĶĦë¡ľê·¸ ëŀ¨ Ġì§Ħ íĸī ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// ìĬ ¹ ìĿ¸ ëĲĺ ì§Ģ ĠìķĬ ìķ ĺ ëĭ¤ ë©´ Ġê ¶ Į íķľ ĠìļĶ ì²Ń ĠíĶĦë¡ľ ìĦ¸ ìĬ¤ Ġì§Ħ íĸī ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Permissions () Ġ// Ġë ¯¸ ìĬ ¹ ìĿ¸ ìĿ´ ë©´ Ġê ¶ Į íķľ ìļĶ ì²Ń ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġrequest Permissions () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠActivity Compat . request Permissions : Ġë ¯¸ ìĬ ¹ ìĿ¸ ëĲľ Ġê ¶ Į íķľ ìĿĦ ĠìĤ¬ìļ©ìŀĲ ìĹĲ ê²Į ĠìļĶ ì²Ń íķĺëĬĶ Ġë©Ķ ìĦľ ëĵľ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠëĳĲ ë²Ī ì ¨ ° ĠíĮĮ ëĿ¼ ë¯¸ íĦ° ëĬĶ Ġë°° ìĹ´ ìĿ´ ë©° ĠìĿ´ ëĬĶ Ġê ¶ Į íķľ ìĿ´ Ġë³ µ ìĪĺ Ġê°ľ ìĿ¼ ĠëķĮ ë¥¼ ĠëĮĢ ë¹Ħ íķľ Ġê²ĥ ìŀħëĭĪëĭ¤ . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠìĦ¸ ë²Ī ì ¨ ° ĠíĮĮ ëĿ¼ ë¯¸ íĦ° ëĬĶ Ġí Ģ ĺ ìĬ¤íĬ¸ Ġì½Ķëĵľ ë¡ľ ĠstartActivity For Result ìĹĲìĦľ ĠìĤ¬ìļ© íĸĪ ëį ĺ Ġê²ĥ ì²ĺ ëŁ ¼ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġê ¶ Į íķľ ìĿĦ ĠìļĶ ì²Ń íķľ Ġì£¼ ìłľ ê°Ģ Ġìĸ´ëĸ ¤ Ġê²ĥ ìĿ¸ ì§Ģ Ġêµ¬ ë¶Ħ íķĺê¸° ĠìľĦ íķ´ìĦľ Ġì½Ķëĵľ ë¥¼ ĠìĪ « ìŀĲ ë¡ľ Ġìŀħëł¥ íķ´ìĦľ ĠìĤ¬ìļ© íķ©ëĭĪëĭ¤ . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( this , ĠarrayOf ( Manifest . permission . CAMERA ), 9 9 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// request Code Ġ: ĠìļĶ ì²Ń íķľ Ġì£¼ ìłľ ë¥¼ ĠíĻķìĿ¸ íķĺëĬĶ Ġì½Ķëĵľ ë¡ľ , Ġrequest Permissions () Ġë©Ķ ìĦľ ëĵľ ìĿĺ ĠìĦ¸ ë²Ī ì§¸ ĠíĮĮ ëĿ¼ ë¯¸ íĦ° ë¡ľ ĠìłĦ ëĭ ¬ ëĲ ©ëĭĪëĭ¤ . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// permissions : ĠìļĶ ì²Ń íķľ Ġê ¶ Į íķľ Ġëª© ë¡Ŀ Ġrequest Permissions () Ġë©Ķ ìĦľ ëĵľ ìĿĺ ĠëĳĲ Ġë²Ī ì§¸ ĠíĮĮ ëĿ¼ ë¯¸ íĦ° ë¡ľ ĠìłĦ ëĭ ¬ ëĲ © ëĤ Ł . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpermissions : ĠArray < out ĠString >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// grant Result : Ġê ¶ Į íķľ Ġëª© ë¡Ŀ ìĹĲ ĠëĮĢíķľ ĠìĬ ¹ ìĿ¸ Ġë ¯¸ ìĬ ¹ ìĿ¸ Ġê°Ĵ , Ġê ¶ Į íķľ Ġëª© ë¡Ŀ ìĿĺ Ġê°ľ ìĪĺ ìĻĢ Ġê°ĻìĿĢ ĠìĪĺ ìĿĺ Ġê²° ê ´ ı ê°Ĵ ìĿ´ ĠìłĦ ëĭ ¬ ëĲ ©ëĭĪëĭ¤ . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgrant Results : ĠInt Array ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 9 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ê ¶ Į íķľ Ġê²° ê ´ ı ê°Ĵ ĠíĻķìĿ¸ ĠíĽĦ Ġìĭ¤íĸī ĠëĤ´ìļ© Ġê²° ìłķ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grant Results [ 0 ] Ġ== ĠPackage Manager . PERMISSION _ GRAN TED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Process () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfun Ġstart Process () Ġ{ Ġ// ĠìĬ ¹ ìĿ¸ ìĿ´ ë©´ ĠíĶĦë¡ľê·¸ ëŀ¨ Ġì§Ħ íĸī íķĺëĬĶ Ġë©Ķ ìĨĮ ëĵľ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġì¹ ´ë © Ķ ëĿ¼ ë¥¼ Ġìĭ¤íĸī íķľëĭ¤ ëĬĶ Ġë©Ķ ìĭľ ì§Ģë¥¼ Ġí Ĩł ìĬ¤íĬ¸ ë¡ľ ĠìķĮ ëł¤ ì£¼ ëĬĶ Ġì½Ķëĵľ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" ì¹ ´ë © Ķ ëĿ¼ ë¥¼ Ġìĭ¤íĸī íķ©ëĭĪëĭ¤ ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊ Ċ } Ċ