Intent (Android)

Last updated

An Intent in the Android operating system is a software mechanism that allows users to coordinate the functions of different activities to achieve a task. An Intent is a messaging object [1] which provides a facility for performing late runtime binding between the code in different applications in the Android development environment. Its most significant use is in the launching of activities, where it can be thought of as the glue between activities: Intents provide an inter-application messaging system that encourages collaboration and component reuse. [2]

An Intent is basically a passive data structure holding an abstract description of an action to be performed. [3] For Dummies likens an Intent to flicking a switch: "Your intent is to turn on the light, and to do so, you perform the action of flipping the switch to the On position." [4]

Description

The concept was created as a way to allow developers to easily remix different apps and allow each type of task (called activity) to be handled by the application best suited to it, even if provided by a third party. Although the concept was not new, the Android architecture doesn't require elevated privileges to access the components, which makes it an open platform. [5]

Activities in Android are defined as classes that control the life cycle of a task in the user interface. The activities supported by an application are declared in a manifest, so that other applications can read what activities are supported. Intents in one application can start particular activities in a different application, if the latter supports the message type of the Intent. [6]

An analysis in 2011 by researchers from The University of California at Berkeley found that Intents can pose a security risk, allowing attackers to read content in messages and to insert malicious messages between applications. [2]

Related Research Articles

Security-Enhanced Linux Linux kernel security module

Security-Enhanced Linux (SELinux) is a Linux kernel security module that provides a mechanism for supporting access control security policies, including mandatory access controls (MAC).

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Microsoft Outlook Email client, task and calendar management software developed by Microsoft

Microsoft Outlook is a personal information manager software system from Microsoft, available as a part of the Microsoft Office suite. Though primarily an email client, Outlook also includes such functions as calendaring, task managing, contact managing, note-taking, journal logging, and web browsing.

Mobile app development is the act or process by which a mobile app is developed for mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These software applications are designed to run on mobile devices, such as a smartphone or tablet computer. These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing to provide an "application-like" experience within a web browser. Application software developers also must consider a long array of screen sizes, hardware specifications, and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile app development has been steadily growing, in revenues and jobs created. A 2013 analyst report estimates there are 529,000 direct app economy jobs within the EU then 28 members, 60 percent of which are mobile app developers.

Adobe AIR Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

iOS Mobile operating system by Apple

iOS is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone and iPod Touch; the term also included the versions running on iPads until the name iPadOS was introduced with version 13 in 2019. It is the world's second-most widely installed mobile operating system, after Android. It is the basis for three other operating systems made by Apple: iPadOS, tvOS, and watchOS. It is proprietary software, although some parts of it are open source under the Apple Public Source License and other licenses.

Kernel (operating system) Core of a computer operating system

In an operating system with a layered architecture, the kernel is the lowest level, has complete control of the hardware and is always in memory. In some systems it is a single block of memory, while other systems have mechanisms, e.g., loadable kernel modules, that can extend the kernel. The kernel facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

Chrome OS Linux-based operating system developed by Google

Chrome OS is a Gentoo Linux-based operating system designed by Google. It is derived from the free software Chromium OS and uses the Google Chrome web browser as its principal user interface. Unlike Chromium OS, Chrome OS is proprietary software.

Sencha Touch JavaScript framework

Sencha Touch is a user interface (UI) JavaScript library, or web framework, specifically built for the Mobile Web. It can be used by Web developers to develop user interfaces for mobile web applications that look and feel like native applications on supported mobile devices. It is based on web standards such as HTML5, CSS3 and JavaScript. The goal of Sencha Touch is to facilitate quick and easy development of HTML5 based mobile apps which run on Android, iOS, Windows, Tizen and BlackBerry devices, simultaneously allowing a native look and feel to the apps.

iMessage Instant messaging service by Apple

iMessage is an instant messaging service developed by Apple Inc. and launched in 2011. iMessage functions exclusively on Apple platforms: macOS, iOS, iPadOS, and watchOS.

BlackBerry 10 Proprietary mobile operating system

BlackBerry 10 was a proprietary mobile operating system for the BlackBerry line of smartphones, both developed by BlackBerry Limited. BlackBerry 10 is based on QNX, a Unix-like operating system that was originally developed by QNX Software Systems until the company was acquired by BlackBerry in April 2010.

A mobile application or app is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Mobile applications often stand in contrast to desktop applications which are designed to run on desktop computers, and web applications which run in mobile web browsers rather than directly on the mobile device.

Google Play Digital distribution service by Google

Google Play, also branded as the Google Play Store and formerly Android Market, is a digital distribution service operated and developed by Google. It serves as the official app store for certified devices running on the Android operating system and its derivatives as well as Chrome OS, allowing users to browse and download applications developed with the Android software development kit (SDK) and published through Google. Google Play also serves as a digital media store, offering music, books, movies, and television programs. Content that has been purchased on Google Play Movies & TV and Google Play Books can be accessed on a web browser, and through the Android and iOS apps.

Pop-up notification Graphical notification on a computer

The terms pop-up notification, toast, passive pop-up, snackbar, desktop notification, notification bubble, or simply notification all refer to a graphical control element that communicates certain events to the user without forcing them to react to this notification immediately, unlike conventional pop-up windows. Desktop notifications usually disappear automatically after a short amount of time. Often their content is then stored in some widget that allows the users to access past notifications at a more convenient time.

In the context of mobile apps, deep linking consists of using a uniform resource identifier (URI) that links to a specific location within a mobile app rather than simply launching the app. Deferred deep linking allows users to deep link to content even if the app is not already installed. Depending on the mobile device platform, the URI required to trigger the app may be different.

Android KitKat Eleventh version of the Android operating system

Android KitKat is the codename for the eleventh Android mobile operating system, representing release version 4.4. Unveiled on September 3, 2013, KitKat focused primarily on optimizing the operating system for improved performance on entry-level devices with limited resources.

Tasker (application) Automation app for Android

Tasker is an Android application developed by João Dias. It focuses on performing user-defined actions based on contexts in user-defined profiles, activated by click- or timer-based home screen widgets. It is expandable via plugins from the developer and third-party apps. Although the paid version is available on Google Play, a 7-day free trial version is downloadable as an APK on the developer's website. The trial version does not allow restoring backups.

Firebase Cloud Messaging (FCM), formerly known as Google Cloud Messaging (GCM), is a cross-platform cloud solution for messages and notifications for Android, iOS, and web applications, which as of 2021 can be used at no cost. Firebase Cloud Messaging allows third-party application developers to send notifications or messages from servers hosted by FCM to users of the platform or end users.

References

  1. Ferrill, Paul (2011). Pro Android Python with SL4A. Apress. p. 3. ISBN   9781430235699.
  2. 1 2 Felt, A. P., Chin, E., Hanna, S., Song, D., & Wagner, D. (2011, October). Android permissions demystified. In Proceedings of the 18th ACM conference on Computer and communications security (pp. 627-638). ACM.
  3. Android API retrieved 23-Jul-2013
  4. Felker, Donn. "Common Android Intent Usage". For Dummies. Wiley. Retrieved 3 September 2013.[ dead link ]
  5. "Remixing apps with Android intents". developer.vodafone.com. Vodafone. Archived from the original on 4 October 2013. Retrieved 18 September 2013.
  6. Cooper, Bruce. "Activities, Tasks and Intents, Oh My!". SitePoint . Retrieved 18 September 2013.