I want to make an App Locker app for Android. The app should run on various devices. It seems that Android does not allow the developer to do such low level work.
Please guide me how can a developer make such an application.
This answer will help You. It used a background service to check which application is in foreground and then check whether I need to lock the application or not.
As a workaround, you can develope a new home screen replacement app, that allows the user to run only some apps, and not all the apps installed on the system.
Some useful hints here: https://stackoverflow.com/q/4538431/584134
But it's only a facade, it's not reliable and the user must launch and use your application instead of the default android home screen.
Or you can use another app, Android Parental Control
Related
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.
I would like to create an app which is preinstalled on a device and has complete control of it (no way to exit it), this is for devices handed out for a specific purpose. It will have some pages/navigation as well as the ability to run certain whitelisted apps.
Is there anything out there helping with this, or would this kind of an app have to be a custom build of Android? Thanks.
To have complete control over the device you would need a custom operating system. I don't think it is possible to do what you are asking for with an app
The way was in progress to implement this was with a custom compiled OS that signed a launcher with the key provided by the hardware vendor.
You can certainly fake most of this with your own launcher but to get it to be the system default launcher you need to have the vendor key I believe.
There are apps that donot do exactly what you want but achieve something similar to that. App Lock is one such app. It blocks the specific app view from the user until he enters the pin. The user will have to set Device administrator properties for such an app usually but if you are planning it as preinstalled then that can also be handled.
Is it possible for one Android application to modify the settings of another application?
Say, I want to create an app that temporarily blocks notification from all other apps. Is it even possible?
I can see from the official documentations that all apps run in their own sandbox. But I wanted to know if there are any workarounds for this.
The other use case I had in mind was to create an app which could migrate all the apps from phone memory to SD card memory.
Both of them require tweaking settings of other apps.
The only way you can touch another app's setting, is using root.
Unless the destination app gave you the option to do so, using intent maybe or an API.
It is not possible as you said in question , each app runs in their own sandbox . If it is possible , people would have hacked all apps .
Is there a way to enable, disable native android password screen pro-grammatically? I am asking this question because I saw the app SureLock which is capable of enabling and disabling android system password lock programmatically by user interaction without any root privileges. When ever user tries to go into system settings via SureLock app they have enabled native system password screen lock. App also works ics & jb systems without a problem.
Unless is there any alternative ways of implementing similar logic to design custom lock like system password lock.
Thanks.
You can use Device Administration API. There is a sample code comes with SDK. First you have to make sure that your application is run above API 2.2 Go to your SDK folder and then samples and then ApiDemos. You can import that project as a sample project. Then go to com.example.android.apis.app package and see the DeviceAdminSample.java class. That's what you looking for.
I believe you can use the KeyguardService to control that.
https://developer.android.com/reference/android/app/KeyguardManager.html
https://developer.android.com/reference/android/Manifest.permission.html#DISABLE_KEYGUARD
Use Device Admin APIs for Android, you can lock the device, reset and set password restriction also
Currently I am developing an android application. This application should load when the device boot and it should restrict all the inbuilt & other applications. I have searched in forums as it can be possible by make our ROM customized. But this process can be do manually by ourselves. I want to make this by coding. Or is there any other way to make my application default?
If you want your app to be default - yes, you haven only way to build your own custom android.
Only what you can do on your default android system is to automatically load your app after OS have loaded.
You're not stating precisely what you intend to do. The words restrict and default can mean a lot of things.
Despite what dilix writes, one way you might succeed with what you want is if you make your app a launcher. A launcher plays an interesting role in the system.
However, you cannot force anyone to really use it. But that wouldn't be possible either way, right? Unless you talk to device manufacturers.