SlideShare a Scribd company logo
1 of 12
Download to read offline
Hidden Treasure:
                      Open Android Apps

                                                    Friedger Müffke

                                                    @fmdroid
                                                    #openintents




www.openintents.org       support@openintents.org    Droidcon 2011 Berlin,
                                                     24 March 2011
No monoliths ..



                  but interconnected
                         components

                  All apps are equal!
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
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
Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
<application . . . >
   <activity
       android:name="org.openintents.shopping.ShoppingActivity"
       android:icon="@drawable/small_pic.png"
       android:label="@string/shopping" . . . >
      <intent-filter>
         <action android:name="android.intent.action.VIEW" />
         <action android:name="android.intent.action.INSERT" />
         <category
             android:name="android.intent.category.DEFAULT" />
         <data android:mimeType =
             "vnd.android.cursor.dir/vnd.openintents.shopping.item" />
       </intent-filter>
   </activity>

  <service . . ./>
 . . .
  <uses-permisson . . . />
  <uses-library . . . />
</application>
</manifest>
@fmdroid – Open Android Apps               Droidcon 2011 Berlin, 24 March 2011
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
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
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
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
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
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
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

More Related Content

Similar to Hidden Treasure: Open Android Apps

Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011
Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011
Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011tcs digital world
 
Open Intents - Android Intents Mechanism and Dependency Management
Open Intents - Android Intents Mechanism and Dependency ManagementOpen Intents - Android Intents Mechanism and Dependency Management
Open Intents - Android Intents Mechanism and Dependency ManagementFriedger Müffke
 
Open Intents And Dependencies
Open Intents And DependenciesOpen Intents And Dependencies
Open Intents And DependenciesFriedger Müffke
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentAdarsh Patel
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Daniel Knott
 
8 Python Tools That Empower Android App Development.pptx
8 Python Tools That Empower Android App Development.pptx8 Python Tools That Empower Android App Development.pptx
8 Python Tools That Empower Android App Development.pptxOliviaManek
 
Android developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftwareAndroid developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftwareRomin Irani
 
Open intents, open apps and dependencies
Open intents, open apps and dependenciesOpen intents, open apps and dependencies
Open intents, open apps and dependenciesFriedger Müffke
 
Introduction to android mobile app development.pptx
Introduction to android mobile app development.pptxIntroduction to android mobile app development.pptx
Introduction to android mobile app development.pptxridzah12
 
Mobile Application Development with Android
Mobile Application Development with AndroidMobile Application Development with Android
Mobile Application Development with AndroidIJAAS Team
 
Blending Creativity and Technology With Android App Development
Blending Creativity and Technology With Android App DevelopmentBlending Creativity and Technology With Android App Development
Blending Creativity and Technology With Android App Developmentamanraza23
 
Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Raymond Chenon
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptxAhmedDarre
 
Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011Kenneth van Rumste
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologiesjerry vasoya
 
Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year  Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year Moon Technolabs Pvt. Ltd.
 
Introduction & App Structure
Introduction & App StructureIntroduction & App Structure
Introduction & App StructureCITSimon
 
Android L and Wear overview
Android L and Wear overviewAndroid L and Wear overview
Android L and Wear overviewJames Montemagno
 

Similar to Hidden Treasure: Open Android Apps (20)

Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011
Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011
Open android apps - Friedger Müffke, Open Intents - droidcon.be 2011
 
Open Intents - Android Intents Mechanism and Dependency Management
Open Intents - Android Intents Mechanism and Dependency ManagementOpen Intents - Android Intents Mechanism and Dependency Management
Open Intents - Android Intents Mechanism and Dependency Management
 
Open Intents And Dependencies
Open Intents And DependenciesOpen Intents And Dependencies
Open Intents And Dependencies
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012
 
Online collaboration in Neurosurgery 2.0
Online collaboration in Neurosurgery 2.0Online collaboration in Neurosurgery 2.0
Online collaboration in Neurosurgery 2.0
 
8 Python Tools That Empower Android App Development.pptx
8 Python Tools That Empower Android App Development.pptx8 Python Tools That Empower Android App Development.pptx
8 Python Tools That Empower Android App Development.pptx
 
Android developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftwareAndroid developer webinar-march-2012-mindstormsoftware
Android developer webinar-march-2012-mindstormsoftware
 
Open intents, open apps and dependencies
Open intents, open apps and dependenciesOpen intents, open apps and dependencies
Open intents, open apps and dependencies
 
Introduction to android mobile app development.pptx
Introduction to android mobile app development.pptxIntroduction to android mobile app development.pptx
Introduction to android mobile app development.pptx
 
Mobile Application Development with Android
Mobile Application Development with AndroidMobile Application Development with Android
Mobile Application Development with Android
 
Blending Creativity and Technology With Android App Development
Blending Creativity and Technology With Android App DevelopmentBlending Creativity and Technology With Android App Development
Blending Creativity and Technology With Android App Development
 
Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Droidcon thessaloniki 2015
Droidcon thessaloniki 2015
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptx
 
Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011Sogeti - Android tech track presentation - 24 february 2011
Sogeti - Android tech track presentation - 24 february 2011
 
Android Minnebar
Android MinnebarAndroid Minnebar
Android Minnebar
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
 
Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year  Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year
 
Introduction & App Structure
Introduction & App StructureIntroduction & App Structure
Introduction & App Structure
 
Android L and Wear overview
Android L and Wear overviewAndroid L and Wear overview
Android L and Wear overview
 

More from Friedger Müffke

Level Up Your Android Build -Droidcon Berlin 2015
Level Up Your Android Build -Droidcon Berlin 2015Level Up Your Android Build -Droidcon Berlin 2015
Level Up Your Android Build -Droidcon Berlin 2015Friedger Müffke
 
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger MüffkeAndroid Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger MüffkeFriedger Müffke
 
Web Wishes, Intents, Extensions, .. Friedger Müffke, droidcon London 2014
Web Wishes, Intents, Extensions, ..  Friedger Müffke, droidcon London 2014Web Wishes, Intents, Extensions, ..  Friedger Müffke, droidcon London 2014
Web Wishes, Intents, Extensions, .. Friedger Müffke, droidcon London 2014Friedger Müffke
 
Open Governance in Mobile - SFD 2013 - HSBXL
Open Governance in Mobile -  SFD 2013 - HSBXLOpen Governance in Mobile -  SFD 2013 - HSBXL
Open Governance in Mobile - SFD 2013 - HSBXLFriedger Müffke
 
Google Integration in Android Apps - Mooscon 2013 Cebit
Google Integration in Android Apps - Mooscon 2013 CebitGoogle Integration in Android Apps - Mooscon 2013 Cebit
Google Integration in Android Apps - Mooscon 2013 CebitFriedger Müffke
 
Serverless Apps - droidcon london 2012
Serverless Apps - droidcon london 2012Serverless Apps - droidcon london 2012
Serverless Apps - droidcon london 2012Friedger Müffke
 
Delegating user tasks in applications
Delegating user tasks in applicationsDelegating user tasks in applications
Delegating user tasks in applicationsFriedger Müffke
 
UXperts 2012: Connectivity Beyond the Web (Android), Friedger Müffke
UXperts 2012: Connectivity Beyond the Web (Android), Friedger MüffkeUXperts 2012: Connectivity Beyond the Web (Android), Friedger Müffke
UXperts 2012: Connectivity Beyond the Web (Android), Friedger MüffkeFriedger Müffke
 
Open intents Open Governance
Open intents Open GovernanceOpen intents Open Governance
Open intents Open GovernanceFriedger Müffke
 
Highlights Google I/O 2011
Highlights Google I/O 2011Highlights Google I/O 2011
Highlights Google I/O 2011Friedger Müffke
 
Google Workshop at International Congress of Youth Enterpreneurship by Friedg...
Google Workshop at International Congress of Youth Enterpreneurship by Friedg...Google Workshop at International Congress of Youth Enterpreneurship by Friedg...
Google Workshop at International Congress of Youth Enterpreneurship by Friedg...Friedger Müffke
 
App inventor for android and similar tools
App inventor for android and similar toolsApp inventor for android and similar tools
App inventor for android and similar toolsFriedger Müffke
 

More from Friedger Müffke (13)

Level Up Your Android Build -Droidcon Berlin 2015
Level Up Your Android Build -Droidcon Berlin 2015Level Up Your Android Build -Droidcon Berlin 2015
Level Up Your Android Build -Droidcon Berlin 2015
 
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger MüffkeAndroid Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
 
Web Wishes, Intents, Extensions, .. Friedger Müffke, droidcon London 2014
Web Wishes, Intents, Extensions, ..  Friedger Müffke, droidcon London 2014Web Wishes, Intents, Extensions, ..  Friedger Müffke, droidcon London 2014
Web Wishes, Intents, Extensions, .. Friedger Müffke, droidcon London 2014
 
Open Governance in Mobile - SFD 2013 - HSBXL
Open Governance in Mobile -  SFD 2013 - HSBXLOpen Governance in Mobile -  SFD 2013 - HSBXL
Open Governance in Mobile - SFD 2013 - HSBXL
 
Google Integration in Android Apps - Mooscon 2013 Cebit
Google Integration in Android Apps - Mooscon 2013 CebitGoogle Integration in Android Apps - Mooscon 2013 Cebit
Google Integration in Android Apps - Mooscon 2013 Cebit
 
Serverless Apps - droidcon london 2012
Serverless Apps - droidcon london 2012Serverless Apps - droidcon london 2012
Serverless Apps - droidcon london 2012
 
Delegating user tasks in applications
Delegating user tasks in applicationsDelegating user tasks in applications
Delegating user tasks in applications
 
UXperts 2012: Connectivity Beyond the Web (Android), Friedger Müffke
UXperts 2012: Connectivity Beyond the Web (Android), Friedger MüffkeUXperts 2012: Connectivity Beyond the Web (Android), Friedger Müffke
UXperts 2012: Connectivity Beyond the Web (Android), Friedger Müffke
 
Open intents Open Governance
Open intents Open GovernanceOpen intents Open Governance
Open intents Open Governance
 
Highlights Google I/O 2011
Highlights Google I/O 2011Highlights Google I/O 2011
Highlights Google I/O 2011
 
Google Workshop at International Congress of Youth Enterpreneurship by Friedg...
Google Workshop at International Congress of Youth Enterpreneurship by Friedg...Google Workshop at International Congress of Youth Enterpreneurship by Friedg...
Google Workshop at International Congress of Youth Enterpreneurship by Friedg...
 
Glass
GlassGlass
Glass
 
App inventor for android and similar tools
App inventor for android and similar toolsApp inventor for android and similar tools
App inventor for android and similar tools
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

Hidden Treasure: Open Android Apps

  • 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
  • 5. Manifest <?xml version="1.0" encoding="utf-8"?> <manifest . . . > <application . . . > <activity android:name="org.openintents.shopping.ShoppingActivity" android:icon="@drawable/small_pic.png" android:label="@string/shopping" . . . > <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.INSERT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType = "vnd.android.cursor.dir/vnd.openintents.shopping.item" /> </intent-filter> </activity> <service . . ./> . . . <uses-permisson . . . /> <uses-library . . . /> </application> </manifest> @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