I need some guide and help from you guys, What i want is as follows:
Replace the device home screen with a customizable screen that limits users to selected applications only. This should allow the administrator to select the applications from available list of applications.
Specify a URL for device redirection (in case of browsing)
Create a whitelist of acceptable URLs (no other URLs will be accepted)
Enable/Disable native Samsung Android device following features.
Android Market (App Store)
Camera
WiFi
Bluetooth
Microphone
Access Point
Now can anybody guide me what to do and where to start in android?
Your help will be really appreciable.
Thanks
As mentioned by Evan, this is really the domain of Mobile Device Management (MDM) and involves a pretty heavy-handed control from the app.
There are a number of solutions already available such as Air-Watch or Good who specialize in exactly this sort of thing.
I think building your own from scratch would certainly not be trivial, though there is a lot of discussion which could help in getting you started (check here for instance).
Good luck!
To archive that, I think you must build your own Android ROM. If you only want to install your HOME app to a device, user can easily get back old home screen.
Related
best regards from Venezuela, I am new to stackoverflow, and this is my first question on this site.
This question will be long because I am providing a lot of detail, so this question is as clear as possible.
Brief introduction.
I have created an app that runs on Android devices, this app allows you to share files between devices that are connected to the same WI-FI network. but with a different methodology to that used by apps that are intended to fulfill this same purpose.
On the device where my app is running (which we will named device one), a url similar to http://192.168.1.102:7898 is generated, and said url must be entered in a web browser installed on the device with which you want to share the files (which we will named device two).
The main purpose is to offer a way to share files between devices, using WI-FI. without the need for device two, my app has to be installed.
You can find more information in https://labs.xda-developers.com/store/app/com.tecnoelias.ipfiles
...
So far everything works fine. But, it is annoying that every time someone wants to share files using my app, on device two, they have to enter the url described above. keeping in mind that said url will change as the WI-FI router decides, and therefore, you should not use shortcuts to the url (bookmarks or navigation history).
Having said all this, the following question arises.
Is there a way to get device two to access that url without having to type it manually by the user?
To accomplish this, three ideas occurred to me.
1: Generate a QR code in the app. but this requires that on device two, an additional app is installed that can read QR codes. which violates my purpose.
2: Implement in the app, a mechanism that allows you to find other devices that my app is working on, and in this way, interact with those devices (through my app, similar to how other file transfer apps do). This is a good idea, but it nevertheless requires that my app be installed on both devices.
3: My third idea and the one I would like to implement is the following:
On device one, it will open my app and then activate it.
When the app is activated, the app will search for other devices that are connected to the same WI-FI network, until it finds device two.
If successful, a SOMEWHAT will be sent programmatically to the device two, that SOMEWHAT can be, a message, a bit, a data packet, or anything else that helps to realize this idea .
After device two receives that SOMEWHAT, it will show a notification or a pop-up window, which will allow access to the url generated in my app (on device one).
Consider two things. 1: NO additional app MUST be installed on device two. and 2: Because device two can be running any operating system, the SOMEWHAT will be a different mechanism for each operating system, (operating systems can be, Android, IOS, BlackBerry, Symbian, Windows Phone, Windows, Linux, Mac, among others).
If for example, device two, runs Android 10 (not rooted), and has the most common applications installed, which can be: WhatsApp, Facebook Messeinger, Google Play Services, other Google apps, and system applications.
My thought is that you should be able to use one of those apps, to receive the url, and after clicking on that url, the web browser will open, and then it will load the corresponding webpage (which in this case, is to access the files shared by device one, through my app).
Any ideas?
You can give me your opinion, some code, or you can just tell me that this can't be accomplished.
Any response or suggestion are appreciated.
I am trying to understand at a little bit lower level how Android Instant Applications work, as well as analyse a bit the security aspect. I know you create an app, it has its modules and activities, and you need to specify an URL entry-point for each feature module. Now, I have my application, I have my link, I browse to it. Two questions here:
1) How does Android, my browser, DNS, whatever parses that link, know that it's not a normally browsable internet link, but that it's actually an instant app and and should open it like an instant app using the android framework, download base and feature modules, isntant-compilation, etc. ?
2) What does it actually do after it understands it's an instant app? What calls are made? WHERE exactly is the application contained? We start from the browser we use to search and find that link, after that? Is it contained in that browser's sandbox? Does it create a new container for that app? From a security perspective, this information would be quite important and interesting.
How can I gather more info about all this? Are there any tools that allow me to see into these load procedures? Any link to some extra documentation or knowledge of how this particular aspect of android works?
I suspect there won't be much public info because even though they were introduced in the end of 2016, Instant Apps is still a very new and explored feature, but that's exactly what I'm working on. If there is anything that can allow me to see what's going on, tools, debuggers, stuff I don't even know it exists, please let me know.
I am thinking of building a new tab page for chrome which works for both desktop and mobile devices. I know that the chrome extensions do not work for mobile devices but the mobile app can be integrated with other apps on the mobile device as found here. Hence, I was thinking whether an android app can be used as a workaround which overrides the new tab page. Is this possible? If yes, how?
What you want is not possible if the Google chrome does not provide you an API for that. It is because all the Android applications are prepared to be as a single app package that can't know anything about other apps but the things the OS (Android) provides to them. For example, you can query the OS to know what apps can answer to a question (Intent) like: "Who can open an email?".
Imagine what would happen if what you want could be possible. I am an attacker that for some reason wants to inject a behavior in another app. This app can't have the control of what it is doing anymore and we can inject, bypass permissions or whatever, without the user agreement.
However, some kind of modifications of this type can be done by adding some files in a rooted device. Anyway, this is a complex situation and something that cannot suit your needs.
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.
I have an app in Android Market which is a standalone app that's essentially a full conduit to an SQLite Database(add, change, delete, inquiry). Some of my potential clients have asked to see a sample of my work, but they don't have an Android device.
Other than just showing them screenshots etc., is there a way I could have them go to a website where they can actually run it & check it out.
I'm thinking there would be a programming element involved (convert app to a mobile website essentially?), hence posted this question here.
Not quite sure where to get started. Any help would be appreciated.
You can use one of the patterns like MVC/MVP/MVVM to create your core library and then develop additional UI variants for different clients: Android, java applet etc.
Alternatively you can develop a mobile web site as you suggested and use simple android app to navigate built-in browser to it. This might be somewhat transparent to most users. I think Android MSN client uses such an approach.
I see 2 relatively easy options.
Give them an .apk designed to only
run on the emulator (you can check
the ID, the emulator ID is 00000...)
and they can boot up an emulator and
run it. If you're worried about them
reverse engineering your .apk you
probably shouldn't go down this
route. Or if you don't want them to
have to install the emulator
Set up a virtual machine and let
your clients remote desktop into it.
Give them permissions to only run
the emulator or however you want to
set it up