We have an Enterprise Android application that runs under the work profile. We would like to check to see if an application is installed under the "normal" user profile on the device.
Just wondering if there is anyway way to do this at all? The PackageManager.getPackageInfo(packageName) only returns applications that are installed under the work profile (even setting the tag in the manifest file).
Is this possible at all?
Related
I need to setup an environment in an android device where only white listed apps are allowed to launch. The environment should
prevent user from installing new app and uninstalling existing app
prevent access to settings
prevent access to file directory
The Owner App are supposed to allow
download of white listed APK from a designated server within it's network
user can update white listed APK by downloading and installing it
user can launch multiple white listed app
I have looked through Android's Device Ownership and Screen Pinning references and APIs but couldn't find a solution to my above stated problem. Any pointers?
What do you think of this? http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
UPDATE:
Well, I've decided to use vendor like MobileIron. Thanks for the input regardlessly =)
I have a question about installation of an app on android device. I have an application that requires that a user installs another application. That required app may be different at different times, but sometimes user device cannot install this required app for some reason. I want to check programmatically that a user can or cannot install a required app. Is it possible??
As mentioned in the comments, you can check whether another application is already installed, but there's no simply way to determine whether another application is technically capable of being installed.
This determination is based on the AndroidManifest.xml file of the other application (at least), and possibly some internal checks that occur within other application's code. You would need to know the requirements for the other application (minimum SDK version, supported screen sizes, camera and other hardware requirements, etc.) and check for them yourself.
I am developing a customer care android application. The client want that only the customer care application should be installed in the Android phone and we should prevent installation of other application. Is there any hack we can do to do that?
Is there any hack we can do to do that?
Fortunately, not from a standard SDK app -- the technical term for this would be "malware".
As the comments to your question indicate, you are welcome to root the device, remove the Google Play Store client (if it exists), and disable the ability to install from non-Play sources by adjusting the secure settings. However, I suspect that this will prevent you from updating your own app without rooting.
I want to allow user to install my app directly from my web-site, not through the Android market.
I'm working on a specific non-phone android device, which can't be connected to the Android market.
how can I accomplish such a thing ?
The device can download the APK files like a normal file. After that, the user can open it and gets prompted to install it by checking the apps permissions. This required the unknown source preference (Preferences->Applications->Development usually) to be checked.
If you want to create some sort of drive-by-download/install: Thats not possible for (obvious) security reasons.
A company asked me if I am able to program an Android-App for their internal process but with small mobile-device-management capabilites. I'm aware of the "enable manual apk-installation"-checkbox inside of the Android-Settings-Menu. I think it opens additional security holes if it is permanently checked.
So easiset way is to send a SMS with an URL to this APK, enable checkbox, install the update and disable checkbox manually. A lot to do, to update a program.
Coming from Windows Mobile and Symbian I was able to program a Facade.exe which starts a download and replaces some signed parts. The Application signing of Windows Mobile and Symbian allows this.
Is this possible with Android(not rooted)? I read some articles that it is possible to implement own Markets(like Amazon is doing it). Is it possible to use some of those APIs for the purpose of doing an auto-update. Where are thoes APIs, I am not able to find them.
Is this a solution:
Programming a torch-app(there are thousands around), publishing it to the android market. But with a small button to activate the whole application with a secret password. Updates can be rolled out via android market functionality.
A complete MDM (mobile device management) is overkill.
Is this possible with Android(not rooted)?
Not readily. You can use the techniques used by the Sideload Wonder Machine, extracting the requisite bits out of the SDK to do sideloads via USB. However:
Your Facade.exe implies the user runs Windows.
This implies that the user has the adb drivers for their device for Windows.
Neither of those are guaranteed.
I read some articles that it is possible to implement own Markets(like Amazon is doing it). Is it possible to use some of those APIs for the purpose of doing an auto-update.
You can download whatever you want, such as an APK. You can tell Android to VIEW whatever you want, such as your APK. If you VIEW an APK (and have the right MIME type in your Intent), that will trigger an install or update. The user will be prompted about the install or update -- on an install, for example, it will give them the screen listing all the requested permissions.