Is there any way to make automatic silent update for corporative app?
We have an app that working only with local network and WEB-service.
Tablets works thru Wi-Fi, but has no access to internet because of
security. We need to get something like this functionality:
Administrator put some updates to server.
App downloads files and automaticly update itself without any
additional action of users.
Is there any way to do this?
Such an upgrade without the android market is possible only if the device is rooted, see:
https://stackoverflow.com/a/15085540/516188
It depend on exactly what you are requesting. You can't update with a new apk file but you can download files in the background without the user notices and if you have embedded web interface you can completely change your website which you link/embed in your app.
You can background download your application apk file => call installer (use service)
or use C2DM but it must ask user's permission to update. All app on google play do it this way. May be you can decompile google play and find some hidden permissions.
Related
I 'm starting to build an Android app that can self-restructuring. It means this app can change its behavior after an "update". But it's not similar to common update because I don't want to publish to market and some reasons below. The idea is the app check version through server, if it's old, then download a file to proceed update.
This is not an overwritten installation, only some parts of the app is changed, not all.
The app have to keep working during updating.
The download and update process must be silent, there must be no notification, pop-up or asking permission (option)
Please tell me if it 's possible and give me advice, approach, keywords, ideas or somethings helpful. Do I have to intervene system, OS or anything?. I tend to make the phone as a sensor device
There is no direct way of achieving this.
You need to download whole new apk. You can't just download few part of it.
but what you can do is download app in background without user interaction.
Now to install this user has to allow installation as per security standards.
PS: If you just want to perform different action. You can download stuff n place in external/internal storage and through api call changes perform desire actions.
There are apps that doesn't use play store for updation eg. Dream11, famous cricket app.
fantasycricket.dream11.com/android-desktop.html?utm_Source
Is is possible to make an android app non deletable.. What i mean is, I want to install a app, but I cant remove/ uninstall it. If I want to uninstall it then it should prompt me for password which I would have set during installation of the app.
When I read the docs they tell it can be done using Device Admin, but it doesnt provide security, interms of it doesn't ask the user for the password and deletes if its correct..
Is it possible to make an app such that even if there is a factory reset the app will still be there on the phone ?
Is is possible to make an android app non deletable
No, unless you want to create your own ROM and preload it with your app, just like some manufactures preload their devices with their own software and other bloatware.
No it is possible to restrict any user to delete the app from android device.
As google already maintaining this scenario by using the concept known as Device Management System.
Google Eyeing on apps which are published by the developer / installed or deleted by the user.
Although you can make your own app which will notify your admin that user is trying to delete the app or deleted the app, using Service Intent concept.
I am planning to drop my app in Google Play(earlier Android Market) because of push notifications (whenever a new version) , security for apk and so on.And also since apk is secured with Google play(paid apks) i dropped of downloading the apk from my website (only authenticated people can download the apk)
Actually its a business app for particular users with username and login access. Everything was fine in the App with login and security mechanisms
I am thinking of a way to restrict the other users who are not from the list while installing itself.
My question is whether any kind of filter or authentication mechanism can we set while downloading the application from the Google play it should ask for a password or something like this to filter the unauthorized users to download the app..
My ultimate aim is i don't want the peoples to try it after downloading unnecessarily
Can anybody help who have tried all those in android market
Ok.. One thing after another..
Google propose their licensing mechanism. However app would need internet connection, which is disadvantage if otherwise it doesn't need it. If I got it right your does need to connect to server so this is not a problem for u.. It seems to me you are already familiar with this method.
Mechanism for password protecting downloading or visibility of apps on Google Play doesn't exist today..
You can identify users with IMEI (in case you don't consider using app on tablets, which doesn't have it), WLAN MAC, BT MAC address or some exotic combination of these methods, and you use this as authentication.
The best solution, from my point of view, is to allow people on market to download it. Your application is already using some mechanism of authentication (user/password) to server. So if 1st thing user need to do is login, and any functionality is disabled if that doesn't pass. If it pass, you already know who is your user and what privileges he has.
The thing is here that I am not so sure what are your concerns when user without login/pass download application if everything after that screen is disabled before authentication. User will download (if they find it..), they will install, try to use it, see that's not possible without credentials and uninstall it.
Hope it helped.. I will try to add few more links in a while..
Can I define that application was installed earlier? For example I can check whether application is installed or not installed but if application was installed and later was uninstalled. Is there way to check it or not?
Phone does not store any information about the uninstalled app. If ur app has a backend, then try saving UDID in the server when app is installed. So that u can check next time whether the app is once installed and uninstalled in a phone. But if ur app is a stand alone app with out any server, u cant do that.
Uninstalled apps are per default leaving no trace on the phone.
If it is your own app you want to check whether was installed and later uninstalled you could code your app to leave a trace, either on a server (sending the phone ID to the server) or on the SD Card. Both methods requires permissions.
If it isnt your own app you want to check whether was installed and later uninstalled you are out of luck, sorry.
You could create a file on the SD card when the application is installed the first time.
Then when it's reinstalled, your application will check the presence of this file.
If you are supporting FCM in your app .
Than have a look at the server side api for sending the notifications
If sending fails to a user , we can consider that user has uninstalled the app.
Have a look at the following article.
https://medium.com/what-is-singleton-pattern-and-why-we-need-them/how-to-track-uninstalled-users-from-app-using-fcm-afdba7301116
I haven't gone though backend apis for FCM. not sure whether we get this info while pushing out a notification to a single user or a group of users.
my intention is that try for FCM if it useful for you to determine the install/uninstall status
I have an app written in Adobe Air (actionscript3) then packaged as an APK for the moto xoom (android os, using flashdevlop).
We are looking to host both the install and update. There are no issues with selecting unknown sources. And installing from web works but i cant seem to find anyway to set it up to find updates thru my server or the correct way to push those updates. Thoughts or links, google has failed me?
UPDATE
I forgot to make clear i need it to work thru the built in update checking so it will auto update if the device is set to do this. By default either the app or device is checking for updates somewhere. I want to change where it checks for that update and what format/syntax its expecting.
The built-in update check is the Android Market app, pinging the Android Market server to check for updates. Since you're not distributing your app through Market, there's no way for you to take advantage of its update mechanism- You'll have to write your own (Amazon's market app, by way of example, does this).
Essentially you'll have to set up some sort of alert mechanism (check for updates on app startup, maybe), download the APK, and fire an intent to have the user explicitly state they want to install the app. Auto updating (downloading and installing the APK without the user doing anything at all) isn't possible outside of Android Market, for security reasons.
For more information on how to fire the "install" activity, check out this thread.
It sounds like a good case for cloud to device messaging....to notify the user of the update
is available...
http://code.google.com/android/c2dm/
I think they will still have to download/install it.....You can help them by making the download/install feature of the app it self.....
okey... i think you have a few web services right... create a update webservice that takes in the user version and sends it to you.. you can cross reference it and if the user needs to download a new version they get directed to a browser ... where you can poit to where you host the files... you can put in a menu item in the app to say allow the user to check for any upgrades... version number of the app can be got easily... check google or get back to me if you still are nunable to find any...