title: Make my Android app to fully kiosk mode when enabled
body: <p>I am trying to make my feedback app to support fully kiosk, I have tried a lot of solutions but Nothing is completely satisfying my need. Here are the things that I found yet.</p>
  
  <p><strong>1. Make my app as Device Admin/Owner App(Lock Task) -</strong> </p>
  
  <p>If we follow this link/procedure <a href="https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode" rel="noreferrer">https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode</a>, some limitations are there as follows -</p>
  
  <p>a. We have to factory reset all the devices where Feedback app is installed, follow some steps to make it as admin app(launcher app).</p>
  
  <p>b. Installation of the app will be possible using the command line, each installation will take some line of code through cmd, which means for installing a person has to go there with the computer and connect the device with USB and then install the app using commands.</p>
  
  <p>c. Update on an app will also follow the same procedure (Couldn't be performed using google play store)</p>
  
  <p>d. In this case, end-user will never be able to exit from our app, restart the device would also launch the same feedback app every single time.</p>
  
  <p><strong>2.  Programmatically screen pinning + programmatically volume and power button controlling.</strong> (<a href="https://github.com/mrugacz95/kiosk" rel="noreferrer">https://github.com/mrugacz95/kiosk</a>)</p>
  
  <p>a. In this, we will make the app in screen pinning mode where all the three bottom buttons(Overview, home, recent) will be hidden/disabled. and same with the power key and volume keys.</p>
  
  <p>b. So As soon user clicks on kiosk mode, a screen pinning system generated prompt would be shown to user But the biggest disadvantage of it is that app would be unpinned/unlocked as soon as the user presses overview+recent buttons together.</p>
  
  <p><strong>3. The third Case is, where all the keys are controlled including power+voulme+back+overview etc.</strong>
  Only pressing home will make the app to go on the background and within seconds it will again come foreground. </p>
  
  <p>So all I found up until now, is not very satisfiable.
  One more Question-</p>
  
  <p><code>Is this something to be fully controlled by MDM(Mobile Device Management)?</code></p>
  
  <p>Any help is appreciated.</p>