I am working on a proof of concept for a personalized application, and I was wondering if the following was possible in Android Wear (1.0 or 2.0). Basically I would like to have an app that will always sit on top of everything in the watch, and there would be no way to exit it. This will not be a public app, and only will be used by certain people that "shouldn't" have access to anything but that app. I've seen some Kiosk mode articles but never found any examples of how those apps work, and if they do what I'm looking for. One way I was thinking is to create an Android Wear launcher that would replace the regular launcher, and just not give access to any other functions of the watch except for what I want the user to be able to do. I only found one launcher application on play store, so I am assuming it's doable but my main concern is that I need to be able to "lock" the app. Does anyone have any experience with doing something similar?
I would have a function that exits the app by typing a password - kind of like parental control, but that's next step. The most important feature is to be able to lock the user where they can only interact with the app provided by us.
All of this should ideally be done on any Wear application without rooting or writing custom ROM, but if that's the only way, I'd like to hear some options.
Thanks!
Related
I can not find any information anywhere on the net, not even in Google Documentation about controlling our self developed android app by voice without having to tap a GUI element previously.
We successfully implemented voice control into our app, but for the app to start listening, I have to tap a microphone icon on the GUI.
I want our app listening all the time and if I say a specific command like "Hey MyApp!" (Like Hey Google) then the app knows that it needs to listen for my command.
Is it possible?
I found this:
https://developer.android.com/training/wearables/user-input/voice
And this:
https://developer.android.com/guide/app-actions/overview
And this:
https://support.google.com/accessibility/android/answer/6151848?hl=en
But none of them explaining things in a way that I understand if it's possible or not. English is my third language and I am not a programmer, but a designer.
Our programmers are also not experienced in this field.
Thanks for answers in advance.
Is it possible?
That depends.
If you are building your own custom hardware with its own custom build of Android on it, then yes.
If not, and you literally want what you are asking ("I want our app listening all the time and if I say a specific command like "Hey MyApp!" (Like Hey Google) then the app knows that it needs to listen for my command"), then no. You cannot even have your app running all the time, let alone with the microphone active. You also would need to have your plans reviewed by qualified legal counsel, as continuously monitoring everything said on the microphone will have ramifications.
If you are planning on distributing your app via the Play Store, and you are willing to be more flexible in your requirements, you could integrate with Google Assistant, per one of the documents that you linked to. Google Assistant can then launch your app if/when needed based on an app action triggered by user speech.
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.
I need a device that runs only one custom application and does not allow the Users to access any other features. Building a complete device would involve a lot of time and money for sure(only if this can be done with android). This can usually done for each android device seperately. It could be better if there could be simply a piece of code that can be simply executed on the device that installs the application and at the same time restricts the device as per requirement.
Could someone advice me a way to implement in the Android devices. Is it something possible :(
Would also like to know if the same is possible with iOS..
Thanks..
If you want to be absolutely sure that users cannot do anything but accessing one specific app, the only way to do this is to create a custom ROM that allows to install your app only.
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.