Veecheck is a small library that can be configured to periodically retrieve a
small XML document and issue a Notification
based on the current version of the application and the versions listed in the
document.
It is designed to be used to notify users when new versions of an application are available.
Veecheck is distributed under the GPL v2 licence. Please consult the terms of this licence before using the software.
For alternative licencing please email me at tomgibara dot com.
VeecheckReceiver class.VeecheckService class.AndroidManifest.xml file for these
components so that the receiver receives intents with actions
com.tomgibara.android.veecheck.RESCHEDULE_CHECKS and
com.tomgibara.android.veecheck.CONSIDER_CHECK and the service
receives intents with the action com.tomgibara.android.veecheck.PERFORM_CHECK
(see the sample application).
android.permission.INTERNET
permission.PrefSettings convenience class, add code to your
application that will initialize the settings for your application
(see the sample application).The document that is parsed by this library is an XML document in which:
http://www.tomgibara.com/android/veecheck/SCHEMA.1<versions>.The only elements recognized by the parser are:
version>intent>If no matching version elements are found in the document, the user is not notified.
The attributes on the version element are used to specify values for the application version to match. Every supplied attribute must exactly match the current application version otherwise the element will be ignored. A version element with no attributes will match any application version.
packageNameversionCodeversionNamebuildBrandbuildIdbuildModelThe attributes on an intent element closely model the key properties of the
Android Intent class. There is no requirement that the attributes
of this element be mapped directly onto the corresponding Intent
properties – this is under the control of the application which uses the
veecheck library.
actiondatatypeextrasDirect users of the application versioned 1.0.0 to a (eg. an upgrade activity)
<versions xmlns="http://www.tomgibara.com/android/veecheck/SCHEMA.1">
<version versionName="1.0.0" >
<intent action="com.example.app.ACTION_UPGRADE" />
</version>
</versions>
Direct the user of any application without version code 4 to a webpage:
<versions xmlns="http://www.tomgibara.com/android/veecheck/SCHEMA.1">
<version versionCode="4"></version>
<version>
<intent
action="android.intent.action.VIEW"
data="http://www.example.com/upgrade" type="text/html"
/>
</version>
</versions>
Use extras to communicate the type and importance of an upgrade:
<versions xmlns="http://www.tomgibara.com/android/veecheck/SCHEMA.1">
<version versionCode="1">
<intent extras="importance: urged; type: security" />
</version>
<version versionCode="2">
<intent extras="importance: recommended; type: fixes" />
</version>
<version versionCode="3">
<intent extras="importance: optional; type: cosmetic" />
</version>
</versions>
Providing upgrade information for more than one application:
<versions xmlns="http://www.tomgibara.com/android/veecheck/SCHEMA.1">
<version packageName="com.example.app1" versionCode="1">
<intent ... />
</version>
<version packageName="com.example.app2" versionCode="1">
<intent ... />
</version>
</versions>