# Introducing the Activity Result APIs

DevFeed: [Introducing the Activity Result APIs](<https://devfeed.tech/articles/introducing-the-activity-result-apis-25656.md>)

Original publisher: [Read original article](<https://adambennett.dev/2020/03/introducing-the-activity-result-apis/>)

Published: 2020-03-22T09:11:18Z

Content type: tutorial

Language: en

Sources: [Posts on Adam Bennett](<https://devfeed.tech/sources/posts-on-adam-bennett.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [android](<https://devfeed.tech/tags/android.md>), [apis](<https://devfeed.tech/tags/apis.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [blog](<https://devfeed.tech/tags/blog.md>), [callback](<https://devfeed.tech/tags/callback.md>), [camera](<https://devfeed.tech/tags/camera.md>), [career](<https://devfeed.tech/tags/career.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [finance](<https://devfeed.tech/tags/finance.md>), [functional](<https://devfeed.tech/tags/functional.md>), [growth](<https://devfeed.tech/tags/growth.md>), [java](<https://devfeed.tech/tags/java.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [money](<https://devfeed.tech/tags/money.md>), [opinions](<https://devfeed.tech/tags/opinions.md>), [permission](<https://devfeed.tech/tags/permission.md>), [software](<https://devfeed.tech/tags/software.md>), [startups](<https://devfeed.tech/tags/startups.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>), [training](<https://devfeed.tech/tags/training.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [type-parameters](<https://devfeed.tech/tags/type-parameters.md>), [ui](<https://devfeed.tech/tags/ui.md>)

## AI overview

This tutorial introduces Google's Activity Result APIs as a reusable abstraction for handling activity callbacks. It explains the basic workflow, custom contracts, registration, invocation, and built-in contracts for permissions, phone calls, and taking pictures.

## Source excerpt

Google has finally released the new Activity Result APIs, which are something I've been looking forward to for a very long time. In this post I'll run through the basics, how you can create your own contracts, and how this allows us to abstract away even more responsibilities from your UI.