Is there a way using which I can request Android OS to reboot after installing an application...?
I guess the answer is no you can't. Android hasn't given that facility keeping in mind the security and many other purposes. So, you can do some like that when your Application is installed you can request the user to Reboot the Device before using your Application when he tries to execute your Application`.
UPDATE
You can check this thread for having further information about it.
AFAIK , there is no such API in android for auto reboot. you need to display a message in diaglogbox for restart the device.
Related
Is it possible to disable Android on a device from emitting ALL log messages from ALL apps?
On a rooted device maybe. With your own ROM mod, certainly. Otherwise, no. Bear in mind the logs are kept even when your tools are not looking at those logs (e.g., device is disconnected from your development machine).
No, you cannot do this. Some devices (like Huawey's) got logging disabled and you have to do some magic to get this functionality restored, but this is just custom firmware modification by huawey.
On a Huawei device, you dial:
*#*#2846579#*#*
This will bring up an app where you can disable all log messages. I'm sure every device has some secret phone number that lets you do this. No rooting necessary.
I wish to filter the applications installed on the device so that the person, using that device can't open any app rather than few basic apps... or i wish when he/she opens any application password will be asked......
That somewhat of a more low level task. I guess you will have to either root the device, or build your own System image and install that on your device.
By reading 'Logcat' logs in the background we can detect other applications launch; as working of any lock application.
We are developing an android application which is to be installed on the ~500 devices in the premises.How can I do it centrally at one go via wifi network.
Thrice every quarter, the following is required
The application (upgradeable version) needs to be installed.
Uninstalled (older version) frequently.
I know on device we can set "allow unknown sources" by default. But is it possible to push/install the application (like the ICS push on the Ginger Bread Mobile Phone recently)
I have gone through this post but no precise answer.
For the initial install, you can't. You have no choice but to manually install the app by one means or another (e.g., download it via a link from your intranet).
For updates, the app can check for an available update, download it, and then initiate an install when the user is ready. You cannot forcibly upgrade the app though -- the user will have to be involved.
You also cannot "installed (upgradable version)-uninstalled (older version)" except by hand -- once the app is uninstalled, it has no way to trigger installation of some other app. Also, by uninstalling, you lose all your data, which is generally frowned upon. Upgrading in place is the more typical approach.
Unless you have a custom version of Android on a device you cannot send an APK to the device and have it install automatically without using the Android Market.
However you can deploy applications to an individual device without user interaction using ADB . Using the following command:
adb install /Path/ToFile/ApkFile.apk
Additionally you can put the apk on the phone and then install it using the package manager.
How to reset android phone to original status by program?
or Can we use adb to trigger sth?
Many thanks for replying~
Apart from through the Device Administration API, you cannot simply invoke a call and completely factory reset a device, that I'm aware of.
There happens to be a android.permission.MASTER_CLEAR permission, but in order for the system to actually grant you that, your app will need to have 'signature' or 'signatureOrSystem' permissions, according to a Google Groups thread. The only way to get one of those is to sign the app against the same certificate as the system, which basically means you either have to work for a device manufacturer or compile and sign your own firmware.
I remember that on API8 (2.2) or later, through the DeviceAdmin API, you can perform a factory reset.
But this is extremely dangerous to the users, isn't it?
How would you find out what kind of information an Android app is sending back to the "mothership"? For example, if an app is sending your ID, gender, etc. to advertisers.
Is there a way to do this in an Android app? Or would it have to be done via a packet sniffer over Wi-Fi?
Root your device.
Find a copy of tcpdump for Android
Launch tcpdump, capture a dump file.
Analyze offline with something like Wireshark.
You might check Android packet sniffer.
Unfortunatelly, you have to be root on your phone, and have the "su" command installed.
The TaintDroid project does exactly this. Installing it isn't as simple as just installing an app (of course), but they provide pretty detailed instructions. This tool has been used for exactly the purpose of detecting what kind of information an app is accessing and sending to some external source. They also provide the source code if you want to modify it for particular purposes.
The permissions tell you what data it is accessing, for example "Phone State" means getting the phones ID, Coarse or Fine Location is a permission to, so for network or gps location you need to be made aware.
Other data is behind other permissions. So if they aren't cheating you can somewhat figure out what they are using.