package Ġcom . permission x . app čĊč Ċ import Ġandroid . Manifest č Ċ import Ġandroid . content . Intent č Ċ import Ġandroid . net . Uri č Ċ import Ġandroidx . appcompat . app . AppCompatActivity č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . widget . Button č Ċ import Ġandroid . widget . Toast č Ċ import Ġcom . permission x . fy x dev . Permission X čĊč Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ čĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) čĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) čĊĠĠĠĠĠĠĠ Ġval Ġmake Call Btn Ġ= ĠfindViewById < Button >( R . id . make Call Btn ) čĊĠĠĠĠĠĠĠ Ġmake Call Btn . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠPermission X . request ( this , Manifest . permission . CALL _ PHONE , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ EXTERNAL _ STORAGE , čĊĠĠĠĠĠĠĠĠĠĠĠ ĠManifest . permission . READ _ CONTACT S ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Granted , Ġdenied List Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( all Granted ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," You Ġdenied Ġ$ den ied List ", Toast . LENGTH _ SHORT ). show () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊĠĠĠ Ġprivate Ġfun Ġcall () Ġ{ čĊĠĠĠĠĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ CALL ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= ĠUri . parse (" tel : 1 0 0 8 6 ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) čĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSecurity Exception ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }