I have a business requirement, and after lot of googling came to a point that android (as compared to iPhone) would be the platform to go for
I have a requirement wherein lets say an App 'X' that comes built-in with OS (firmware) needs to be replaced with some App 'Y'.
Of course, i understand that there would be something that i would need to change at firmware level (correct me), and of course i have no idea how to do that
So, is such a kind of thing even possible ?
Any links where i could look for more.
Yogurt
As long as your app provides the same functionality and it reacts on all intents, you could just delete the native apk from system/app and put your own apk there.
We had a very similar project in the past. The solution was to install our app in addition to the "native" one and to catch and process all input (notifications, broadcasts, etc) in our application. It also might be possible to prevent native application from reacting to those inputs.
Related
Is it possible to change the layout of the built-in application of the Android?
I have Samsung S Duos and I want to change layout of some application(dialer, SMS messenger and phone book(contacts) are not so user-friendly for dual SIM cards)
Is it possible to make buttons of this applications bigger or smaller or to add a new option (sub menu)?
If yes, is there easier way than rewriting and compiling whole Android source? Or maybe there is an option to change the phone book(contacts) and reinstall it as a new application?
Any help is appreciated
Is it possible to make buttons of this applications bigger or smaller or to add a new option (sub menu)?
Somebody with sufficient experience could do this, yes.
is there easier way than rewriting and compiling whole Android source?
No. And even that is insufficient, as the result will not run on your phone without the requisite drivers.
Instead, find a ROM mod that can run on your phone, then start with that ROM mod's source and make your changes.
Or maybe there is an option to change the phone book(contacts) and reinstall it as a new application?
It is conceivable, though unlikely, that the maintainers of your chosen ROM mod have arranged for some of these apps to be buildable as SDK apps. Most likely, this is not an option for you.
I guess you can't just edit the application without having the source and recompiling it. You can modify your build.prop to edit your screen density value. If you change this, you will have more (Or less) buttons etc. on your screen. But editing this file is very dangerous and I don't recommend it.
Ok first off your the one that needs help so you dont have to be rude, secondly the source code is not going to be in your phone because its going to be a binary file. And unless you know how to convert a binary conputer kanguage fike to source code then your sol. This website is not a place where we write code for you. If you have no code to display then theres not much we can help with. And the only people that have the actual source code are going to be the developers that made the application which are the developers that made your phone. In this case shoot an email to your phones company which is samsung and see if they will release you an open source code that you can go off of. That should answer your question on how to get the source code. If they dont give it to you then you cant get it.
how to make application lock for android mobile.how to lock the application. I have done locking the home screen i.e the entire mobile, but im not sure how to lock particular application.
For this situation you need to catch the listener event to lock the installed apps..
I have to say that I don't quite get what you're trying to di.
If you're trying to prevent people from using an app after it's downloaded the only way I can think of is having an HTTP(S) request done to a server with an identifier that is set the first time the app is run and check a DB to see if it can run (set a boolean flag shouldRun or something like it).
If you wat to prevent it from being copied from one phone to another, you can use the Google Play built in option to prevent it.
if this is what you're trying to achieve, you should probably obfuscate your code as well
obfuscating code on android
There is currently no support in the Android SDK to reliably do this. The application locking apps that are currently on the market aren't reliable in that they exploit a security loophole and put themselves in the foreground when you try to run a given application. This can be bypassed without much difficulty if you know how, and the security flaws they exploit will hopefully be closed. Sorry.
I want to us an Android-powered Pad as an information terminal for my customers.
The only thing it has to to is to show a HTML5 Webpage.
Therefore,
1. it should not be posiible to show another website (only the local one), should be no problem
it should be only possible to leave the app with a password (how?)
and all buttons should be disabled (that´s hard).
I found out how to set the target for the home button, but maybe there is an existing solution.
Thanks
Christian
I assume you understand the easiest way to do this is to develop an Android native application to show your webpage. This is done by using a WebView, but the support of HTML5 depends on the platform, so if you use any video or audio, you may need some hooks.
Trhough a WebView, you can filter which urls can be opened or not.
And well, I don't think there are many problems on exiting only when a password is entered.
Regarding to number 2, AFAIK, you can let your Activity ("window" of the application) to handle most of keys, but obviously you can't map the power key.
But I have to confess, when you develop an application, you always find some issues... so probably is not that easy as I wrote in these lines... Good luck!
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.
the least thing i like on the nexus one is the useless app it runs when on the desktop dock.
I already wasted a good day searching for the 3 topics below and failed to find anything.
Is there any replacement for it already available?
Is there source code for the original one?
Is there documentation on how to replace them?
Very Likely. Look in Android Market; I'm sure there's a desktop clock replacement app there.
Yes. look at DeskClock.git.
Yes. look at Intent.CATEGORY_DESK_DOCK. If you create an activity with an intent-filter that contains this category it'll show up in the list of available apps (the 'chooser') when the phone is docked.