I try to explain better:
I want to put some tablets in my shop for my customers. I want them to use only a few apps that I've created.
So I need an Android version (or a launcher version, maybe?) where you can only choose between some apps to be played. All the settings, all the other apps and everything else must be unreachable (or, better, only reachable if you know the password).
Anyone has any suggestion on how to do it or where do I start?
Thanks a lot.
One Google search led me to the following:
https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher&hl=en
https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher&hl=en
Just whichever one you want and and hide the apps you don't want. It will hide them in the drawer as well. Nova Launcher already looks like stock Android, or close enough if you want that. In fact they both do.
Related
I have a question. I wanted to develop an app that would add a shortcut to the keyboard (Samsung SoftKeyboard).
The shortcut should be accessible via the dots at the top right (see attachment).
I would like to add a circle ("floating") over my app, as shown in the picture on the right.
Something specific should then be carried out via this circle (but that's not the point yet).
I've done a little research, but don't really know what to look for.
I hope you can help me.
thanks in advance
Example
afaik there is no such possibility to add anything in there. it's another app with own custom settings and options, you can't edit such or change in any way. your last chance is possibility of published API/some communication way for that app, which would allow to add such actions, but I very doubt Samsung made such API for own keyboard app and allowed ANY 3rd-party app to mess in their software... (btw. that would be very insecure for user)
In one of requirement I need to develop an application where user can launch two application in separate area of screen.
Say Application A in half of the part of screen and in rest of part other application.
I know this could not be straight way to achieve it, but is there any possibility to build such kind of app/launcher. I checked some of mobile ROM support multi application window support.
Any suggestion to achieve this.
You'd have to have this support done on system level, same way Samsung did for example. W/o this you are out of luck.
this is system level thing unless you make you own customize rom it pretty much impossible to do ,if you want to make customize rom then you will be able to do since its an system level this launcher uses system property to do so.
I am relatively new to android and want to create an application that permanently overrides androids basic softkey behaviour and view (for devices with soft keys).
Some functionalities I want to implement are changing the size of the softkeys window at the bottom, change its images, and possibly change its functionality.
For example, the user can set the size to of the softkey to be "large", "medium" or "small". And I can change the functionality of the back button to open say a particular application instead of going "back".
I'm basically looking for a high level answer as to how to do this, a basic direction of what I should read/study in order to be able to accomplish this. I realise this may require root access.
Please note that I want this behaviour to change not only in my application but I want the effect to exist on all applications. If this requires the application to be running atleast at the backend, that is fine.
After doing some decent amount of search, it seems I will have to make changes in the systemUI.apk, or possibly get its source code and modify it. Is this correct?
Thanks in advance.
I don't think even root is going to be enough for the type of changes you are describing. You're going to need to edit the Android source code and build your own system image.
Well you can't override system resources because they are part of the system image.
What you are looking for is called Home Application which can be developed like any other android app no need for root , you can find an example for it in your sdk samples.
Home Sample Application.
your app would be responsible to have UI components to send the user to all of the phone functionalities which includes:
Place for wegits
Place for apps listing (menue)
Access telephony functionality (call, phone history ...)
Access settings.
I want to enable/disable the Android market programmatically for my kids app (with a checkbox). Is this possible? How?
Generally, no. You cannot affect the behaviour of other apps from your app. There are tricks that allow you to monitor what has been stated and you can bring your own app in the foreground to sort of 'block' it, but this is neither supported, nor guaranteed to work on all devices and Android versions.
To disable the play store, do as you would with any other app if you were going to delete it, however in replace of the delete buttin wil be a disable button.
If you do not want to disable it all together, you can open the app, click menu, and then settings, and then half way down on the list you are abe to set a passcode for purchases.
EDIT
I know hat you said programmatically, however this could still be a solution as to what you may be looking for instead as a workaround.
I am creating an Android application for a customer which will be pre-installed and distributed together with the handsets. Now the customer asked me to lock down the ROM to prevent the future users from using anything else apart from this one app. I.e. no browsing, no email, nothing which could create any costs etc.
Now after some googling it seems to be relatively straightforward to remove applications from an Android image. But even if I can remove the web browser, email client, the Android Market App etc, how can I make sure that the user will not reinstall those apps via the USB connector? As Android is just Linux I am sure there are ways of denying all users the right to install new applications (or actually denying them pretty much anything apart from using this one app).
If somebody could point me in the right direction it would be much appreciated.
EDIT:
To clarify things a bit, the customer does not want to use the android devices as phones, even though they are phones. With 100€ touch screen phones becoming available, it becomes viable to use those phones for just one specific purpose. In my customers case, the device will be used as something like a POS system: the employee uses the phone to process a certain kind of customer request, and for this the app needs to have a data connection which will accrue costs of course. Now obviously contracts can be set up that will oblige employees to pay any irregular costs themselves, but why make it that complicated?
This is not about taking freedom away from users but rather about using android phones as general purpose touch screen devices with a data connection that employees can use in a business environment without shooting themselves in the foot with unexpected high data connection cost.
There's not really a whole lot you need to do to make a single-purpose device. If you play your cards right, it should be something you can do without having to tinker with the ROM.
The quick-and-easy route would be to deploy your application as a replacement for the stock launcher, just like any of the other home replacements that are available. Setting that as the default would cover most of the opportunities for casual tampering, since it would leave no other way to launch or install anything else. The only other things I can think of off the top of my head that you'd need to do are snag the search button so it doesn't bring up the default Android search box atop your app and the green key so the phone app won't come up.
You would, of course, need a way to get to the original launcher to maintain the device and install new versions of your app. I'd accomplish that using a "Maintenance" menu item somewhere that asks for some form of authentication (e.g., a password), changes the home app back to the original and launches it. When you're done doing what you need to do, set your app as the default launcher and you're back in business.
Edit to address MAINERROR (now Octavian Damiean)'s comment:
Any activity in any application can register itself as a home application by adding an intent filter on the android.intent.category.HOME category. It's literally four lines in the manifest, and you don't have to write any code to support it. Take a look at lines 77-82 in the stock launcher's manifest for an example of how this is done. (Ignore the filters on DEFAULT and MONKEY; they're not necessary.) Once the activity is selected as the default handler for the category, it becomes the first thing launched at boot and what comes up when the Home key is pressed. HTC Sense, aHome, Panda Home, etc. all use this mechanism.
Launching the stock home (or any other application) explicitly is about five lines of code.
Side note: There's a application on the Market called Home Switcher that lets you launch any of the activities filtering on the HOME category or set one as the default.
Unless the handset manufacturer adds a lot of shovelware, the stuff that runs in the background should be inconsequential and won't get in the way.
There was a similar question already somewhere. You can indeed limit the functionality of your device by the amount you want or have to. In order to achieve this you will definitely have to build your own modified ROM.
You will have to touch the ROM because you will have to get rid of several applications running in the background. One you won't need them anyway and two as you don't need them they would only consume resources.
You might want to take a look at http://source.android.com there you will find more information about the sources which will hopefully direct you where you need.
Blrfl's answer is great, but it still has a problem: if the user long presses the HOME button, the recent applications popup will appear an the user will be able to launch another app.