I'm looking for any way to check for Android OS updates from within custom Android app.
The app should be able to get info if new version is available and, if so, show appropriate message. This should work on phones provided by many manufacturers. Is there any API method or a web service which can be queried about this?
I know this feature is carrier-depended and that's way I'm not sure if it's even possible.
Thanks in advance.
There is no way to do this. Your app is sandboxed and can't access that kind of information and there is no API from the carrier's end.
Related
I have tried to find a solution on this by searching the net for quite some time. If there is a working solution to my question on stackoverflow, it would be nice if someone points me to it.
So problem is very specific:
I like to implement an app updater that installs apps without any further user interaction as soon as the user has started the setup process.
This would something like the way it is done by GMS (Play Store).
Constraints:
The implementation has to work on devices back to Android 6.
I am an Android system developer and I want to integrate an update for our own hardware.
I have an existing app that is running as system app in the system context.
The app cannot be device owner, as this will block MDM support that customers might want.
I can access hidden APIs of the android system.
The solution may not require root access to the device and shall not use any hacks like calling pm install.
The device has to pass the Google approval what restricts everything to the use of the system APIs provided by Android. I think that this is the reason, why it is so hard to find a proper solution or pointer to a code sample for this.
Has anyone worked on this? Are there apps (like free app-stores) that implement something like this?
Edit: I have found a partial response to my question here: https://stackoverflow.com/a/5805299/6289291
The major difference is, that when building from within the AOSP tree, reflections are of course not required and there are some problems I encountered that I will try to summarize in a response to this question as soon as I have resolved those in a proper way.
For a POS system is there a way or ways to make an application harder to close?
The desire is to have employees be able to use the device and the application, but not use other applications.
The implementation does not necessarily require a password. So far the answers I have seen on similar questions suggest this is not possible. Except in Lollipop per this question : How to make an app unclosable?
Are there any options for older APIs?
Or am I just out of luck?
That is not possible as a feature of the API since the Android system is in control of what is executed or stopped. And that could mean that your app gets stopped for a number of reasons.
To achieve what you are asking for you will need to create your own distribution of the system. I have no experience of doing that but it basically means creating a rom and distribute it.
That would of course be an option if the device running the POS app is only used for that particular task.
I'm looking at developing a to-do list Android widget that draws from a OneNote to-do list.
While most Android phones are permanently connected to the internet via 3G or LTE, many tablets are still WiFi only and will not have internet connectivity when on the go. I could, in this situation, store the data that I receive from the API locally and queue any changes made for the next time the tablet is available online, but there's a problem with this solution. What if the user edits the same to-do list via the OneNote app?
What I'm wondering is if there's any way that my widget can talk to the OneNote app when the device is offline.
It seems that OneNote's data files are stored in a location that needs a rooted device to access externally, so interacting with them seems to be not an option. How can I achieve my goal?
I'm new to Android development, but I think Android's Intents system might be a solution. Does OneNote expose any Intents?
Thanks,
YM
(Apologies if the tone in this post seems strange, I originally posted it on answers.microsoft.com but was told that it belongs here instead.)
We don't have Android client APIs at this time, and talking to the local files isn't a good idea, as the app isn't expecting them to change outside of its control. We would like to get round to client APIs, across all platforms, but its unlikely to happen in the next six months at least. This would be a good request to post on our uservoice site to see if there's broader interest. Please do include the scope of the methods you'd need.
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.
How can I restrict the android application installed in device using the MDM? Guide me to solve the problem? Thanks in advance.
While I'm not sure what the Mass360 app does under the hood, there is a Device Admin API that became available in 2.2.
http://developer.android.com/guide/topics/admin/device-admin.html
You will either need to write your application with Root permissions enabled, which will allow you to control the device a little more, or you will have to do some trickery to register yourself with the device when applications are launched. I am not even sure if the latter is possible, so I would advise you look down the Root path. I am afraid I cannot post any code samples as I have not done this before.