Hi all,

This can be easily done (kiosk mode) in devices which have android 5 or
higher.
This was introduced in Android 5.0 as the *Screen Pining* feature.

Please refer below description of the feature which is available in [1].

Android 5.0 introduces a new screen pinning API that lets you temporarily
restrict users from leaving your task or being interrupted by
notifications. This could be used, for example, if you are developing an
education app to support high stakes assessment requirements on Android, or
a single-purpose or kiosk application. Once your app activates screen
pinning, users cannot see notifications, access other apps, or return to
the home screen, until your app exits the mode.

There are two ways to activate screen pinning:

   - *Manually:* Users can enable screen pinning in *Settings > Security >
   Screen Pinning*, and select the tasks they want to pin by touching the
   green pin icon in the recents screen.
   - *Programmatically:* To activate screen pinning programmatically, call
   startLockTask()
   
<https://developer.android.com/reference/android/app/Activity.html#startLockTask()>
from
   your app. If the requesting app is not a device owner, the user is prompted
   for confirmation. A device owner app can call thesetLockTaskPackages()
   
<https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setLockTaskPackages(android.content.ComponentName,
   java.lang.String[])> method to enable apps to be pinnable without the
   user confirmation step.

When task locking is active, the following behavior happens:

   - The status bar is blank, and user notifications and status information
   are hidden.
   - The Home and Recent Apps buttons are hidden.
   - Other apps cannot launch new activities.
   - The current app can start new activities, as long as doing so does not
   create new tasks.
   - When screen pinning is invoked by a device owner, the user remains
   locked to your app until the app callsstopLockTask()
   
<https://developer.android.com/reference/android/app/Activity.html#stopLockTask()>
   .
   - If screen pinning is activity by another app that is not a device
   owner or by the user directly, the user can exit by holding both the Back
   and Recent buttons.

[1] https://developer.android.com/about/versions/android-5.0.html#Enterprise

Regards,

On Wed, Mar 9, 2016 at 10:12 AM, Prabath Abeysekera <praba...@wso2.com>
wrote:

> Cool, let's also look at the options that Shan's suggested and go for the
> most appropriate one!.
>
> Cheers,
> Prabath
>
> On Wed, Mar 9, 2016 at 9:56 AM, Inosh Perera <ino...@wso2.com> wrote:
>
>> Hi Prabath,
>>
>> Yes, I was thinking the same. Since we are already under research for a
>> complete lock-down mode in Android, I think kiosk mode fits the profile as
>> a solution for complete-lock down as well. If we can listen to the home
>> long press event and at least keeping bringing back the lock down activity
>> in full screen mode it should be a good start. We need to check if that can
>> be achieved.
>>
>> Regards,
>> Inosh
>>
>> On Wed, Mar 9, 2016 at 8:44 AM, Prabath Abeysekera <praba...@wso2.com>
>> wrote:
>>
>>> One of the things that we need to specifically focus on is how we're
>>> going to let administrators configure this particular mode in EMM. I
>>> believe, "Kiosk" can be thought of as an extension of "Locked-down mode",
>>> in which one/limited number of applications are allowed to be enforced on
>>> the device. So, the user interface has to clearly highlight the
>>> aforementioned fact rather than just having another option as part of its
>>> policy wizard to switch it on and off.
>>>
>>> In addition, certain enterprise applications that are running in Kiosk
>>> mode might use the camera, or certain other features, which would be made
>>> locked if the "default Kiosk mode" is applied in EMM. So, in the UI, there
>>> has to be some mechanism to enforce certain exemptions too upon similar
>>> features used by the applications that are running in the aforementioned
>>> mode.
>>>
>>> Cheers,
>>> Prabath
>>>
>>> On Tue, Mar 8, 2016 at 5:10 PM, Shanmugarajah Sinnathamby <s...@wso2.com
>>> > wrote:
>>>
>>>> Hi Inosh,
>>>>
>>>> In the app locker app, the way they have implemented you can disable
>>>>    The back button
>>>>    The home button
>>>>    The recent apps button
>>>>    The power button
>>>>    The volume buttons
>>>>
>>>> You cannot disable the home long press , which allows you to kill the
>>>> app in the front. So far there is no api , but for Samsung device they have
>>>> implemented the API in EDU SDK which allows you to run deivce in KiOSK
>>>> mode. (Mainly used for schools).  Lets explore and see.
>>>>
>>>>
>>>> On Mon, Mar 7, 2016 at 10:35 AM, Inosh Perera <ino...@wso2.com> wrote:
>>>>
>>>>> Hi Prabath,
>>>>>
>>>>> This can be implemented in android the same way the app locker app
>>>>> works. Where you override the back button and make user only use one app.
>>>>> I'm not sure if there is any native API support to achieve the same in
>>>>> Android.
>>>>>
>>>>> [1].
>>>>> http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
>>>>>
>>>>> Regards,
>>>>> Inosh
>>>>>
>>>>> On Mon, Mar 7, 2016 at 10:28 AM, Prabath Abeysekera <praba...@wso2.com
>>>>> > wrote:
>>>>>
>>>>>> What about Android?
>>>>>>
>>>>>>
>>>>>> On Monday, March 7, 2016, Dilshan Edirisuriya <dils...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> This has been implemented at backend as well. When DEP is ready we
>>>>>>> can create a UI and test the feature.
>>>>>>>
>>>>>>> On Sun, Mar 6, 2016 at 9:31 AM, Prabath Abeysekera <
>>>>>>> praba...@wso2.com> wrote:
>>>>>>>
>>>>>>>> For instance, check [1].
>>>>>>>>
>>>>>>>> [1] https://www.amtelnet.com/what-is-apple-ios-kiosk-mode/
>>>>>>>>
>>>>>>>> On Sun, Mar 6, 2016 at 9:29 AM, Prabath Abeysekera <
>>>>>>>> praba...@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Guys, $Subject?
>>>>>>>>>
>>>>>>>>> Note: I assumed that "Kiosk mode" has to be associated with "COPE"
>>>>>>>>> as it sounds so. Correct me if I'm wrong.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Prabath
>>>>>>>>> --
>>>>>>>>> Prabath Abeysekara
>>>>>>>>> Technical Lead
>>>>>>>>> WSO2 Inc.
>>>>>>>>> Email: praba...@wso2.com
>>>>>>>>> Mobile: +94774171471
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Prabath Abeysekara
>>>>>>>> Technical Lead
>>>>>>>> WSO2 Inc.
>>>>>>>> Email: praba...@wso2.com
>>>>>>>> Mobile: +94774171471
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Dilshan Edirisuriya
>>>>>>> Senior Software Engineer - WSO2
>>>>>>> Mob: + 94 777878905
>>>>>>> http://wso2.com/
>>>>>>> https://www.linkedin.com/profile/view?id=50486426
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Prabath Abeysekara
>>>>>> Technical Lead
>>>>>> WSO2 Inc.
>>>>>> Email: praba...@wso2.com
>>>>>> Mobile: +94774171471
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Inosh Perera
>>>>> Software Engineer, WSO2 Inc.
>>>>> Tel: 077813 7285, 0785293686
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> Architecture@wso2.org
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Shanmugarajah (Shan)*
>>>> Director, Mobile Architecture,
>>>> WSO2, Inc.; http://wso2.com
>>>> Email: s...@wso2.com
>>>> Mobile : +94777748260
>>>> Blog: http://shanfour.blogspot.com
>>>>
>>>
>>>
>>>
>>> --
>>> Prabath Abeysekara
>>> Technical Lead
>>> WSO2 Inc.
>>> Email: praba...@wso2.com
>>> Mobile: +94774171471
>>>
>>
>>
>>
>> --
>> Inosh Perera
>> Software Engineer, WSO2 Inc.
>> Tel: 077813 7285, 0785293686
>>
>
>
>
> --
> Prabath Abeysekara
> Technical Lead
> WSO2 Inc.
> Email: praba...@wso2.com
> Mobile: +94774171471
>



-- 
*Milan Perera *| Software Engineer
WSO2, Inc | lean. enterprise. middleware.
#20, Palm Grove, Colombo 03, Sri Lanka
Mobile: +94 77 309 7088 | Work: +94 11 214 5345
Email: mi...@wso2.com <ar...@wso2.com> | Web: www.wso2.com
<http://lk.linkedin.com/in/milanharinduperera>
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to