Use an application as only app on an android device - android

I'm going to write an application for a special device. The device's OS is android and it connects to a TV with HDMI cable and has a remote control as input hardware.(Like a video player) I need these to be done:
When the user works with it, it should not be clear that the OS is android.
User could not access to the OS system options like "Action bar" or "Setting menu" or etc.
My app be the default app of the system and it runs at start up before any other app even the launcher.
so,
How can I change the android boot logo ?
How can I set my app to be the default application? May I need to set it as launcher?
how can I disable all other android UI tools like launcher and action bar permanently? (even my application close they should not be shown)
May I need a rooted android ? and witch version has these possibilities ?

I've found my answers and share it to others.
How can I change the android boot logo ?
In some devices there is a file in system/media/bootanimation.zip
can be edited and replaced.(When creating zip file should choose
Store in compresstion type.)
In some devices there is a file in system/etc/bootvideo thats in
MP4 file format simply can be replaced.
How can I set my app to be the default application? May I need to set
it as launcher?
Yes, simply add android.intent.category.LAUNCHER to first activity category in the manifest like this:
<activity android:screenOrientation="landscape" android:name=".ActivityStarter">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
How can I disable all other android UI tools like launcher and action bar permanently? (even my application close they should not be shown)
Uninstall all other launcher on the device. also for notification bar you can remove Android UI in system apps. Note that be sure your app is running correctly and does not crash, if not you will lose access to the device.(I installed ES Explore on the device and run it with a hidden button in my app to access my android system tools.)
May I need a rooted android ? and witch version has these possibilities ?
Yes. In this case I used Android 4.4.2 but think other versions would be so.

Android 5.0 supports pinning an app. There's also an app called AppLock that may be relevant.

Related

How do we set up kiosk mode in samsung tablet?

I have samsung tablet tab 8, with android 9 installed.
I have trouble to make this tablet as kiosk app, I want to use it for opening my web page,
so everytime the tablet starts it directly open my web page only ( with wifi settings enabled )
I searched around and found Samsung KNOX, but I think it is a paid service, and I have trouble where to download it.
Is there another solution availible?
You can set it as home app.
add this line inside intent-filter tag of your main activity in the manifest.
<category android:name="android.intent.category.HOME" />
Once is launched OS will ask you to set it as home forever or just once.

How to permanently disable car mode?

I'm running Android 7.1 and I cannot for the life of me figure out how to ensure "car mode" doesn't start when the device (honeywell CT60) is docked. I've already tried the following:
installing app "no dock"
installing app "car mode off"
getting app devs to add uiMode to the <ACITIVTY> element in the manifest.xml file.
None of these seem to work.
Does anyone have any advice or ideas?
Perhaps even an app that force the device to not go into car mode.
You're on the right track. According to Honeywell the app's AndroidManifest.xml has to be modified in the following way:
<manifest>
<application>
<activity android:configChanges="uiMode">
[...]
</activity>
</application>
</manifest>
This has to be added for each activity, where CAR_MODE should be disabled. It signals to the OS that the app will handle changes regarding the UiMode itself. Now instead of restarting the app to apply changes, the OS will leave handling this change up to the app.
If you want to find out how exactly it works, there already is a post explaining it. Alternatively you can find a guide about this topic at the Android Developer Docs.

Android: system notification icon

I'm developing an Android application that implements a vpn service.
During the lifetime of a VPN connection, a system-managed notification is shown, as is reported on the documentation: http://developer.android.com/reference/android/net/VpnService.html
This notification actually seems to show the icon I provided as application icon, but I noticed that the icon is resized on some devices and its ratio is modified. I made the various launcher icons (ldpi,mdpi...xxxhdpi) according to the size here: http://developer.android.com/design/style/iconography.html
Where am I wrong? Where does that system notification icon is taken by the system?
By default, a VpnService, like any Service inherits the icon from your application unless you specify one in your manifest via android:icon. You should create an icon per the notification icon specifications (tools like Android Asset Studio can help) and set that as the android:icon for your service:
<service android:name=".ExampleVpnService"
android:icon="#drawable/notification_icon"
android:permission="android.permission.BIND_VPN_SERVICE">
<intent-filter>
<action android:name="android.net.VpnService"/>
</intent-filter>
</service>
I'm afraid that's not possible.
Pre-Lollipo, look at Vpn.java:504 - it loads the launcher icon specifically. It seems quite deliberate - probably due to security concerns to prevent misleading the user.
Post Lollipop they moved it into Quick Settings UI, so I'm not sure there's an icon, but if there is, its probably hardcoded to use the launcher icon as well, for the same reasons.

Blocking a pull-down menu in Android

We have an industrial app running on stock Samsung Android devices. Because it's an industrial app we are trying to have it "take over" the device. We've got this pretty well working by setting in the manifest
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
and by intercepting the Android "back" key via onBackPressed and doing nothing.
Our one remaining conundrum is that Samsung's UI layer, 'Touch Wiz', has a pull-down menu that the user can pull down over the top of our app and access other features from. We're trying to disable that.
Is there anything we can intercept that the way we did the the back button to block that? Any other way to block it?
(if someone suggests "rooting" the device, what could I do as root that would help here?)
Thanks in advance!!
Which stock samsung device are you working with?
and by pull down menu are you speaking of the Notification Bar?
If so this is not a UI feature that is specific to TouchWiz, they may have modified what all can be accessed from the expanded notification bar. But this element exists in stock android as well.
If this is what you are referring to you can set a full_screen flag on your activity or application elements in your manifest. This will hide the notification bar while inside your application.
android:theme="#android:style/Theme.NoTitleBar.Fullscreen"
If it does not work with fullscreen mode home app:
A stock Android has no way to do real kiosk mode and I guess it's not a goal of Android to allow this since you could do evil things with that like build apps that force you to pay money before you can leave them again.
Root will not help here too since that's about the underlying Linux which allows you to access internal files etc. That does not unlock some magically hidden APIs.
What you would need to do is build your own firmware for the device (there might exist something for the device - look in http://forum.xda-developers.com/). In that firmware you are free to change those internals that allow users to escape your app.

Android custom home for tablet

Im develping an app using apk 12 for 10.1 inch galaxy tablet. I would like to design a home screen only with my apps icon so that user will not be able to access anything else. Can I do that ? If yes, how ??
I would like to design a home screen only with my apps icon so that user will not be able to access anything else. Can I do that ?
Yes, it is possible to create a home screen application.
If yes, how ??
There is a Home sample app in your Android SDK installation (assuming you installed the samples from the SDK Manager). It largely boils down to having an activity with an <intent-filter> using CATEGORY_HOME.
Note that the user who installs your app will have the option of choosing between your home screen and the built-in one. Even if they make your home screen the default one, they will still be able to revert that decision by removing your app:
by booting in safe mode
via the Android SDK (e.g., adb uninstall)
by getting into Settings through notifications and the like
possibly other means
For ur knowledge lot many thing are diff for honeycomb.
For your knowledge, nothing changed in this area with Android 3.0.

Categories

Resources