Utilize and complement Android's enterprise features - android

As Google says here https://developer.android.com/work/guide.html
As an Android developer, you can deploy devices and apps to employees
and keep your corporate data secure.
And also here https://developer.android.com/work/index.html
Android in the Enterprise Develop apps for the enterprise that take
advantage of the security and management features built into Android.
But this set of webpages does not provide detailed step by step explanation whaht is ENTERPRISE PROFILE CONFIGURATION and HOW TO USE IT?
Let's say I need to install couple of enterprise applications and prevent them to be uninstalled via enterprose profile for instance.
Is it possible to do?

After 3 hours of investigation I found only one light and elegant way to archive my goal.
CUSTOM ANDROID LAUNCHER DEVELOPMENT
This custom launcher could contains
One screen only with predefined icons.
No icons to see all apps or settings.
Button to add/remove apps to main screen which is protected by internal launcher password (Only admin knows password or it can be
server-side AUTH).
So employers take this preconfigured smartphone and do what they must according their work task while are restricted by launcher possibilities. Also they cannot uninstall it at all.

Related

What is the right way to deploy a customized Android end user device with an App (install, update, lock task mode)?

I am planning to develop a Flutter App which will be installed on a dedicated device which I want to sell to customers (B2C). This device will be used only with the developed app and thus represents a kind of customized end user device, which hasn't to provide any other functions. For example, the user should see a customized boot screen and then my app should open. The user should not be able to access the Android system apps (Config, System Bars, Home Screen, Home Button/Navigation).
In doing so, I have the following problems:
What options do I have to update the app automatically?
I have read that there should be something like the Managed Google Play Store, but would this even be the right use case for this or should I rather write my own service which is responsible for updating my app?
How can I make sure that the user only uses my app and not other apps or the system menu? The following link (https://developer.android.com/work/dpc/dedicated-devices) describes how I put certain apps into "Lock Task Mode", but that is mentioned more in the context of Enterprise Mobility Management, not for customized consumer devices. Is this even the right way to go for my requirement, or should I rather look into the AOSP project (https://source.android.com/)? That would certainly add an additional hurdle. My preference would be to be able to use any Android tablet for my App.
In order to sell my dedicated device, I will need to customize/install a variety of devices, which begs the question of how do I effectively solve this? Do I need to flash the devices to do this? Is there possibly another effective method such as customized installation scripts via adb? This question is certainly closely related to the previous question.

Is it possible to build Android Automotive apps using common UI layouts like those for mobile phones?

I'm talking about the usual ConstraintLayout or LinearLayout from Android development for mobile phones. Is it possible or allowed to create and install an app built like this on the Android Automotive OS (not Android Auto)?
If the answer is yes, do you have any documentation regarding this or project examples/samples?
Publishing the app on the Automotive Store is not important for me, Google wouldn't allow this anyway. I just want to be able to create a very custom app for me or a possible OEM.
I know there's an Android for Cars Library but it's not even working for AAOS at this moment, only for Android Auto.
Yes, you can create and install normal Android apps that use common layouts on the AAOS Emulator. You may not be able to upload these apps on the store but an OEM probably can install any apps it wants.
Check the 'A Better Routeplanner' app, it was uploaded by Polestar on the AAOS store and it probably uses the UI layouts you mentioned considering how custom and similar it is to the mobile version.
https://play.google.com/store/apps/details?id=com.polestar.abrp.production.android
It depends on the user specific case, i.e. Is it going to be using navigation or radio for example.

How can I organize already installed Android apps in groups (folders)?

I want to create folders or application groups on the Home Screen of an Android tablet for already installed apps.
The apps APK will be provided by someone external (I can't modify them). I need to create a script, a small app, or something similar that when executed look for the specific installed apps in the connected android device and then creates apps groups on the home screen.
For example, if I have 8 applications installed on the android device then I need to create 4 groups of 2 apps in each folder.
I'm totally new to Android developments although I have some experience with Java, any insight of where to start looking will be welcome.
The device Android version is 10.
I also was looking for an existing solution like this APK Installer, but it doesn't have the option to create the folder/groups.
I need to create a script, a small app, or something similar that when executed look for the specific installed apps in the connected android device and then creates apps groups on the home screen.
Android, the operating system, has no concept of "app groups". That is a feature of a launcher app. Some launcher apps may have APIs to allow third party apps to manipulate app groups, but the details would vary by launcher. On the whole, I expect very few launchers to have such an API. And, if you were expecting to be able to do this for arbitrary devies using arbitrary launcher apps... sorry, but that is not possible.

Deploying tool for our existing customers to iPhone and Android

We will be developing a free tool for our existing customers. I have no experience with iPhone and Android but as far as I'm aware you can't just put a file online and add a download link to it.
I'm wondering what are the best options to deliver this application to our customers? Should we just place it in App Store and Android Market (even though it might confuse the people who stumble upon the app and have no idea what or who it's for)?
I'm also aware of Apple's Enterprise Program. I'm not sure how it works technically but it sounds like it can be distributed from local network only, or am I wrong? The app should be obtainable online.
Is it possible to put app in App Store/Market without making it searchable & browseable in the app list of the Store/Market but accessible via direct link only?
Thank you for any suggestions.
For iPhone you need to use the iOS Enterprise Program to create your private market as long as the devices are not jailbreaked.
For Android you can distribute the installation file (.apk file) over your website. You have to tell the users to check the option "Install apps from unknown sources" (look here) in their preferences.
It really sounds like a "mobile web app" is what you're looking for.
There are several toolkits for styling web pages to look and act like an iPhone/Android app.
The user simply navigates to your site, and you can detect if they're browsing from a mobile device and render the page(s) based on that or redirect them to device specific sites.
Users can bookmark your site to create an icon on their home screen.
If your app doesn't depend on a remote connection, you can also just do everything in Javascript and the user can use your app offline.

Can I use android for this? (app for corporative use)

(Sorry for my english)
I'm new using Android (in fact, I'm just testing android) and I have a lot of questions...
Well, let me explain you the situation. In this moment, in my job, I am writing my code with C# and run it on Windows Mobile 6, the apps are used to make sales, send bills, reserves, etc. The devices (iPAQ 216) are given to the salesmen, and they must use the apps and update them via internet.
Each salesman have a unique client list, unique data and (in some cases) an unique set of apps, which means that I need to prepare a different package for each salesman. Using a Microsoft tool (cabwiz) I can prepare automaticaly a different package for each one of the 150 salesmen. They download their specific package using a tool wirtten by me, and install it and everyone is very happy (maybe)...
Is that possible in Android? How? and if it is not possible, do you know an idea how to accomplish somewhat like that...?
It's not going to be as easy as cabwiz, I can tell you that. But it would be possible, theoretically, to write a script that modifies/generates the unique portions of the source and then compiles a new copy for each user.
If the only difference between the apps is the data on them, then there is no need to generate a different package for each user: have the app download the data from your server and save it after the app is installed. You could also make some modules (I can only guess what kind of functionality you're talking about with regards to different apps per user) only accessible to particular users.
Yes, it's possible however:
You may want to look into writing in java rather than C# as that's more officially supported on android
There are some limitations of the android APIs, in particular there are basic behaviors of the device that can't be altered - without rooting there's no equivalent to the "hook" functionality of windows.
Make sure you get devices with the menu option to enable installation of applications from 'unknown sources'; otherwise deployment will be a lot more difficult. At that moment, this amounts to avoiding AT&T, as their devices presently confine you to the android market or physical connection to a machine running the developer tools as distribution channels. (As a work around you can upload your apps to the market and not publish them, though that won't fully keep them private unless you also include something to require authorization when they run. You could also install the minimal set of dev tools on the salesmens' laptops)
You will probably want to learn about the command-line application build tools and scripting in order to generate a custom apk for each salesman. Once the devices are set to allow unknown sources, you should be able to email the salesman the apk (or a link to it) as an attachment. You should also be able to make the custom apk refuse to run except on a device matching some fingerprint data you've previously collected. While you can develop for android under windows, you may want to look into switching to linux in order to make some of this scripting a little more natively elegant.

Categories

Resources