Open Android Apps is a site that publishes functionality of apps that can be reused by 3rd parties, i.e. the app interface/intents filters. This is the missing link between the dependency manager (shown in 2010) and the intents registry (showing in 2009) of Android.
In this presentation the following questions are answered:
- How does the intent system of Android compare to other platforms?
- Which applications offer interfaces? An overview from recent app store analysis and common use cases
- What are the benefits, what the drawbacks of providing and using an interface?
Finally, a short demo is given showing the depency manager that uses data of the Open Android Apps database.
1. Hidden Treasure:
Open Android Apps
Friedger Müffke
@fmdroid
#openintents
www.openintents.org support@openintents.org Droidcon 2011 Berlin,
24 March 2011
2. No monoliths ..
but interconnected
components
All apps are equal!
3. Intents
● Add „journey schedule“ to shopping list app
5 lines of code
● Add „book a table“ to calendar app
50 lines of code
● Add „AR browser“ to post office app
1 library + 25 lines of code
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
4. Intents
e.g. in Activity
Intent i = new
Intent(„com.opentable.action.RESERVE“);
i.setData(„reserve://opentable.com/45112
?partySize=3“);
this.startActivity(i);
this.startActivityForResult(i, RESCODE);
this.startService(i);
this.bindService(i, con, 0);
this.sendBroadcast(i);
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
6. Sending Result
● Called app:
getCallingActivity()
Intent reply = new Intent();
reply.putExtra(„SCAN_RESULT“, value);
reply.putExtra(„QUALITY“, quality);
setResult(RESULT_OK, reply);
finish();
● Calling app:
onActivityResult()
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
7. Open Apps
● Declare intent filters in your Manifest
with CATEGORY_DEFAULT
● Publish your intent filters on your website and
open-android-apps.appspot.com
● Explore intents and which apps do offer the
corresponding functionality
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
8. Study
● Analysize of apps in application store Appoke
● ~1500 apps (paid + free)
● 350 apps declare intent filter
other than launcher
● Many wired and wrong intent filter
● 1% of apps declare useful intent filter
Looking for more apps stores to participate!
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
9. Common use cases
● SEND, SEND_TO, ● Filemanager (start
SENDMULTIPLE „best“ app for file)
– Images, texts ● Theming and
– Blogs, SMS, .. configuration
● VIEW ● SHOW_RADAR
– Images, text ● RESERVE
– Websites ● CALIBRATE
(http scheme)
● AUTHENTICATE
● HELP
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
10. Open Apps (2)
In the future
– Mark as inappropriate
– Integration in dependency manager
– Link to Intents Registry
– Eclipse Integration
Google Summer Of Code 2011 – for students
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
11. Participate!
● Visit the Android Open Source Project (AOP)
● OpenIntents repository at Google code
● Android is open as are these issues
– Issue 4716: Support package dependency
through uses-intent in Manifest
– Issue 3217: Support
PackageManager.GET_INTENT_FILTERS
● Google Group appfeed
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011
12. More info
Web site:
www.openintents.org
Developer group:
http://groups.google.com/group/openintents
Code repository:
http://openintents.googlecode.com
@fmdroid – Open Android Apps Droidcon 2011 Berlin, 24 March 2011