Mobile Application Upgrade/Update Framework - android

I am developing a few mobile apps for different platforms including Blackberry, Windows Mobile, Android and Symbian S60.
I want my mobile apps to have the capability of checking for updates before starting and in case a new version is available, prompt the user to upgrade. Moreover in certain cases (like security patches), the user must be forced to update or the app won't work.
Surely I can cook some code to achieve the task but I was wondering if there are already existing framework to serve the purpose so that I don't have to re-invent the wheel and test all over?

If you are seeking a single solution for all four of those platforms, I strongly suspect you are out of luck. While all four could just look at your Web site for some current-version page to see whether an update is available, the actual means of applying that update will vary widely.
In the case of Android, if you are distributing through the Android Market, you can link the user over to the Market app to pick up the update.

Related

Is there any kind of hooks available in android which would let developer interact with other running applications?

On windows we have different hooks, by which we are able to interact with any running programs. for example one can get a running apps handle and then change some its properties, etc .
I want to know if similar functionality is present in android systems.
for example one can get a running apps handle and then change some its properties, etc .
Yes, malware authors think that this facility is great.
I want to know if similar functionality is present in android systems.
No, for blindingly obvious security reasons. On rooted devices, something like the Xposed Framework offers some of this sort of thing.
does android allows for browser plugins
No. Neither does Windows, macOS, or Linux. Web browsers can allow for browser plugins. The exact details of how one implements a browser plugin will vary by browser and OS.
can apps communicate with a specific plugin in a browser
That would vary by browser. My guess is that the answer is "no", but you would need to contact the developers of your browser of interest for confirmation.
Each app in Android OS run in it's own sandbox.
You cannot change behaviour of any other app.
You can only communicate with other apps if they have
the feature to do so, like when you want to share
something in the app, then a lot of sharing app opens.
Like facebook, whatsapp, twitter etc.
Beacause they are intended to do so. With the Deep Linking we can
make out app to be connected with other app.

Can Android Instant Apps be integrated with Hybrid app?

The Android Instant Apps is a new thing, and I just wanted to know if it can be integrated with the Hybrid app structure (HTML/JS with Cordova wrapper).
I'm not a native app developer so I'm not sure of this myself.
According to Googlers ,well main idea behind instant app is
To make the native app experience as convenient as surfing to a web
site. “Web pages are ephemeral,They appear, you use them, and never
think about them again.” Apps, have lots of friction and
often you only want an app to perform one action or to get a specific
piece of information.
Google's examples of Instant Apps included museum or resort apps with maps and schedules, along with apps that help you pay for parking. These are the kinds of rarely-used apps that are useful in the moment, though you wouldn't necessarily want to install them on your phone beforehand or keep them around afterward. Developers can, however, can provide "call to action" links that encourage users to download and install apps that they find particularly useful.
Instant Apps are a logical evolution of App Links, a Marshmallow-era feature that lets installed apps designate themselves as the default options for opening certain kinds of links. For instance, clicking a link to Pinterest might open up the Pinterest app rather than Pinterest's mobile site—Apple's "Universal Links" in iOS 9 provide similar functionality.
Google requires apps that use App Links to prove that they're associated with the sites they say they're associated with; the exact same sort of verification will be used for Instant Apps.
So if we analyze all the information provided by googlers Instant Apps for a start is only for native apps there is no scope for Hybrid Apps...
Hope this make sense...I am able to clear your doubt..we will know more when..the exact availability of instant apps for both end users and developers will gradually expand access to feature and bring it to users...
Technically, I don't see why not as Instant Apps end up compiling to what is just a regular APK (or set of APKs).
Will it work out-of-the-box? I doubt it, as there may be issues with tooling (which is via Android Studio) as well as runtime issues (Instant Apps have some restrictions on what they can do, see the FAQ).
Is it recommended? Probably not, as the point of Instant Apps is to provide a fast, native app experience. If the hybrid app ultimately loads HTML/JS then there is likely minimal advantage over simply loading an optimized mobile website.

Customize New tab page in chrome for android

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.

Default apps on Android

Are there any default apps on Android? Especially in 4.2?
iOS 6 has Passbook, built-in Facebook/Twitter support, allowing for greater integration into these services.
Is there something similar on Android that can reliably be accessed across all devices running the latest Android OS version?
I know that there are Android apps that can read the Passbook file, but they're not Google products the way Passbook is an iOS product. Similarly, I know that there are Facebook and Twitter Android apps, but they may or may not be installed and may or may not respond to an Intent that's possibly structured differently between versions of those apps. Am I just doomed to deal with this fragmented space, building for the past and hoping it won't break in the future?
Yes, all Android developers are doomed to this fate. Most Android devices come with things like GMail, Google Calendar, and so on, but Android is fully open, which means not all devices have to include these (and in fact, have gotten in trouble for including them in the past).
Here are some things to keep in mind, though (in 99.999%+ of cases):
The Google Play store will always be installed on the device (assuming that's where you publish your app).
Either the browser or some form of it (Chrome, Dolphin, etc.) will be installed on the device.
And some other tips for developing for compatibility:
I would suggest you read up on intent filters; basically, when someone makes an app like, say, Twitter, they register it for a "share" intent filter. That way, when some app (maybe yours?) requests the user to "share" something, Twitter is shown as an option to share with.
I hate to make a bullet point entirely out of links, but you should read up on Receiving Content from Other Apps, Sending Content to Other Apps, and Sending the User to Another App. These are all key ideas in core Android that will apply to your situation.
Those aside, I have one final note: Assume nothing. Assume everything will break. Whenever you call an intent, you should be wary and catch any issues (such as ActivityNotFoundExceptions).

Can I use android for this? (app for corporative use)

(Sorry for my english)
I'm new using Android (in fact, I'm just testing android) and I have a lot of questions...
Well, let me explain you the situation. In this moment, in my job, I am writing my code with C# and run it on Windows Mobile 6, the apps are used to make sales, send bills, reserves, etc. The devices (iPAQ 216) are given to the salesmen, and they must use the apps and update them via internet.
Each salesman have a unique client list, unique data and (in some cases) an unique set of apps, which means that I need to prepare a different package for each salesman. Using a Microsoft tool (cabwiz) I can prepare automaticaly a different package for each one of the 150 salesmen. They download their specific package using a tool wirtten by me, and install it and everyone is very happy (maybe)...
Is that possible in Android? How? and if it is not possible, do you know an idea how to accomplish somewhat like that...?
It's not going to be as easy as cabwiz, I can tell you that. But it would be possible, theoretically, to write a script that modifies/generates the unique portions of the source and then compiles a new copy for each user.
If the only difference between the apps is the data on them, then there is no need to generate a different package for each user: have the app download the data from your server and save it after the app is installed. You could also make some modules (I can only guess what kind of functionality you're talking about with regards to different apps per user) only accessible to particular users.
Yes, it's possible however:
You may want to look into writing in java rather than C# as that's more officially supported on android
There are some limitations of the android APIs, in particular there are basic behaviors of the device that can't be altered - without rooting there's no equivalent to the "hook" functionality of windows.
Make sure you get devices with the menu option to enable installation of applications from 'unknown sources'; otherwise deployment will be a lot more difficult. At that moment, this amounts to avoiding AT&T, as their devices presently confine you to the android market or physical connection to a machine running the developer tools as distribution channels. (As a work around you can upload your apps to the market and not publish them, though that won't fully keep them private unless you also include something to require authorization when they run. You could also install the minimal set of dev tools on the salesmens' laptops)
You will probably want to learn about the command-line application build tools and scripting in order to generate a custom apk for each salesman. Once the devices are set to allow unknown sources, you should be able to email the salesman the apk (or a link to it) as an attachment. You should also be able to make the custom apk refuse to run except on a device matching some fingerprint data you've previously collected. While you can develop for android under windows, you may want to look into switching to linux in order to make some of this scripting a little more natively elegant.

Categories

Resources