I have found non rooted apps which are capable of hide home button from bottom system bar of tabs (not all the devices but many of samsung tabs) & disabling (not hiding) right side wifi, settings entering panel in system bar (worked in all the testing devices). Good example is remote lock screen of Lookout premium app with BIND_DEVICE_ADMIN permission. This lock screen appears on top of the native android lock screen it has these features work in many devices.
Is there a way to create an activity with disabling System bar like that? Is it related to the flag that adding to the layout params of the activity? Otherwise how this is implemented?
Thanks.
Related
We are trying to use the Kiosk mode feature of SOTI MobiControl to run our application on a kiosk. We are currently testing on a Zebra TC52 (an Android device) until we get our Elo kiosks.
We’ve set up a profile for our app that uses the Lockdown configuration. It “kind of” works, but isn’t quite doing what we expect.
When we power on the machine, it comes up in the normal startup screen. If I swipe up, then it takes us to our app screen. However, the status bar is showing, and can be pulled down.
However, if I click on the Home button, then the status bar goes away, and we’re closer to where we wanted to be. There is still a back button at the bottom of the screen.
We were hoping:
That when the machine starts, it would immediately go to our app screen, instead of requiring someone to swipe up to get the app to start.
That there would be no status bar, or bottom icons.
This app will be customer facing, so we want our app, and only our app, to ever show on the screen.
I’m not sure if any of these limitations are specifically because we’re using a TC52 instead of an actual kiosk device, but to my mind, they’re both just Android devices.
I have included screen shots of our configuration and the results on the device.
Can anyone see anything we are missing? Or are we expecting too much from the SOTI configuration for kiosks?
at least to disable the Lock Screen you can use the free Zebra StageNow tool (https://www.zebra.com/de/de/support-downloads/software/utilities/stagenow.html).
You can create a lot of device specific setting, just check https://techdocs.zebra.com/mx/ for the setting to disable the swipe lock screen.
in StageNow you can, after finish the Profile, export the Config for MDM
(upper right corner)
In Soti Mobicontrol u can use a script within Packages, Filesync, or direct on Device
mxconfig /sdcard/yoursetting.xm
to import the Setting to the Devices.
Depending on your Soti MC Version there are also some Settings available in the Lockdown Setting Profile to disable the Notification Bar, maybe also u can find some other usefull Settings in the MX Matrix..
Oliver
By default in a landscape Android app in Immersive mode, you can show the system UI by swiping from the right edge or the top edge. Is there any way to prevent a right-edge swipe from opening the system UI, so that the system UI can only be opened from the top edge of the screen?
You cannot do this as a security measure. The user should always have a consistent way to reintroduce the status bar, as well as navigation bar on devices with on screen keys. Allowing third party developers to disrupt this would be a terrible idea.
I'm working on an existing Android application for medical purposes.
The back button and home button should be disabled.
With the existing code, the back button is disabled.
For disabling the home button they used onAttachedWindow with LayoutParams TYPE KEYGUARD,
but this security hole is fixed since 4.0.
I tried a lot of similar questions, but none worked out for me.
What is the way to get this done these days?
Also, hiding the status bar on tablet (where the home & back button live) would do the trick,
so any suggestions there are equally helpful!
Update: also, free third party apps that do the hiding trick are okay!
This sounds like a kiosk or dedicated use kinda thing, yes? You want your app to "own" the tablet and prevent other usage? I did this for an app whose sole purpose was to act as a remote control for a custom device. Basically I created two apps, a "custom launcher" app and the app that did the remote control. It's probably possible to integrate the two, but I wanted to support both dedicated and non-dedicated use. Note that I gave the launcher app a password-protected way to access settings so that I could recover the tablet at any time.
You can find a number of tutorials that will guide you through creating a custom launcher, just strip out all the stuff that makes it a generic launcher and replace it with an image button or similar that launches the actual app, or replace the launcher activity with your main app activity. Warning: I never figured out how to remove the launcher except by going into the settings.
As for hiding the system bar (notifications and status icons at the top of the screen), you'll want to use a full-screen theme like #android:style/Theme.NoTitleBar.Fullscreen.
As for hiding the home button I took this approach:
View main_layout = this.findViewById(android.R.id.content).getRootView();
main_layout.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
Unfortunately the STATUS_BAR_HIDDEN flag is deprecated now, but I think some of the other options would have the same effect. Regardless, the best you can achieve within Android's intended use is to temporarily hide the navigation buttons (home and back). A tap on the screen will bring them back.
I am developing an android lock screen and need to disable the navigation bar. Using a launcher you can disable the home button and you can override the back button, but you cannot override the recents button. Is it possible to disable or clear the recents soft key temporarily?
Follow up question - has anyone been able to programmatically disable and enable the nav bar via root on jelly bean?
What about using lights out mode and overriding onSystemUiVisibilityChange while capturing the touch?
I have decompiled toddler lock - which implements this functionality, but it uses some hackery and the main activity is corrupted.
There is no way to this on a stock device. You'll have to customize the Android OS. Any 'hackery' you are seeing is likely to break with the next update. You can't really replace the system lock screen either.
I'm trying to make my app to Fullscreen (with no any bar) how I can coding to set it. (Android version 4.0.3)
Thx very Much
You can't hide that bar. On Honeycomb(3.0) there was a bug that would allow it to be hidden(on a rooted device), but it was fixed in ICS(4.0). (Note: see this answer for more techniques that worked on 3.0)As of now there is no way to do it on 4.0. Unfortunately, because devices no longer have physical buttons the navigation buttons (home and back) have to be put onto the screen. Because that bar contains the navigation buttons if you were to hide it, it would be possible to "lock" the user out of the device by not allowing them to leave your application(at least until they rebooted into safe mode).
So if you want to do that you'll have to make your own custom version of the OS to allow for it.