API Demos tab1 tab2 tab3 App/Activity/Hello World Hello, World! App/Activity/Dialog Example of how you can use the Theme.Dialog theme to make an activity that looks like a dialog. It also has lots of text to show how text wrapping (and corresponding window size adjustment) can happen in a dialog. Add content Remove content App/Activity/Custom Dialog Example of how you can use a custom Theme.Dialog theme to make an activity that looks like a customized dialog, here with an ugly frame. App/Activity/QuickContactsDemo App/Activity/Wallpaper App/Activity/SetWallpaper Set Wallpaper Randomize App/Activity/Screen Orientation Demonstrates the available screen orientation modes. Often you want to set the desired mode in your manifest instead of programmatically. Screen Orientation App/Activity/Translucent Example of how you can make an activity have a translucent background, compositing over whatever is behind it. App/Activity/Translucent Blur App/Activity/Animation Press a button to launch an activity with a custom animation. Fade in Zoom in App/Activity/Save & Restore State Demonstration of saving and restoring activity state in onSaveInstanceState() and onCreate(). This text field saves its state: This text field does not save its state: Initial text. App/Activity/Soft Input Modes Shows how different soft input modes impact application resizing due to an input method. Resize mode: This is a part of the application\'s UI that can resize to adjust for the IME. Text editor.\n\nTap to show the IME, which will cause this window to resize as requested. App/Activity/Persistent State Demonstration of persistent activity state with getPreferences(0).edit() and getPreferences(0). App/Activity/Recreate Demonstration recreating an activity, to have it reconstructed with significant new changes. In this case the theme is changed. Recreate App/Activity/Receive Result Pick a result to send, or BACK to cancel. Corky Violet App/Activity/Forwarding Press the button to go forward to the next activity. This activity will stop, so you will no longer see it when going back. Go Press back button and notice we don\'t see the previous activity. App/Activity/Redirection Press the button to start the example. The next activity will conditionally redirect to another activity to collect data from the user. You now see the main activity running normally because the user text has been set to: Clear and Exit New Text Enter the text that will be used by the main activity. Press back to cancel. Apply App/Fragment/Alert Dialog App/Fragment/Arguments Demonstrates a fragment that takes arguments as a Bundle at runtime (on the right) or from attributes in a layout (on the left). From Attributes Landscape Only App/Fragment/Custom Animations App/Fragment/Hide and Show App/Fragment/Context Menu Fragment populating a context menu; long press the button to see. Long press me App/Fragment/Dialog Show App/Fragment/Dialog or Activity Demonstrates the same fragment being shown as a dialog and embedded inside of an activity. Fragment embedded inside of the activity: App/Fragment/Layout App/Fragment/List Array App/Fragment/Menu Build menus from two fragments, allowing you to hide them to remove them.. Show fragment 1 menu Show fragment 2 menu App/Fragment/Retain Instance Current progress of retained fragment; restarts if fragment is re-created. Restart App/Fragment/Receive Result App/Fragment/Stack New fragment First Last App/Fragment/Tabs App/Loader/Cursor App/Loader/Custom App/Loader/Throttle App/Activity/Menu Open menu Close menu Toggle scenery Toggle dogs Long click for context menu Local service has started Local service has stopped Sample Local Service App/Service/Local Service Controller This demonstrates how you can implement persistent services that may be started and stopped as desired. Start Service Stop Service App/Service/Local Service Binding This demonstrates how you can connect with a persistent service. Notice how it automatically starts for you, and play around with the interaction between this and Local Service Controller. Bind Service Unbind Service Connected to local service Disconnected from local service App/Service/Messenger Service This demonstrates how you can communicate with a remote service using Messenger. Remote service has started Remote service has stopped Sample Remote Service App/Service/Remote Service Controller This demonstrates how you can implement persistent services running in a separate process that may be started and stopped as desired. App/Service/Remote Service Binding This demonstrates how you can connect with a persistent service running in another process. Use the kill button to see what happens when the process crashes. Kill Process Connected to remote service Disconnected from remote service Unbinding due to disconnect Failure calling remote service App/Service/Remote Service Binding Options Sample Service Start Arguments App/Service/Service Start Arguments Controller This demonstrates how service can be started with arguments, and run until all arguments are processed. Start \"One\" no redeliver Start \"Two\" no redeliver Start \"Three\" w/redeliver Start failed delivery Service created. Service destroyed. Service is in the foreground Sample Foreground Service App/Service/Foreground Service Controller This demonstrates how you can implement services that run in the foreground when needed. Start Service Foreground Start Service Background The one-shot alarm has gone off The repeating alarm has gone off App/Alarm/Alarm Controller This demonstrates how to schedule and handle one-shot and repeating alarms. One Shot Alarm Start Repeating Alarm Stop Repeating Alarm One-shot alarm will go off in 30 seconds based on the real time clock. Try changing the current time before then! Repeating alarm will go off in 15 seconds and every 15 seconds after based on the elapsed realtime clock Repeating alarm has been unscheduled The alarm service has started running The alarm service has finished running Sample Alarm Service App/Alarm/Alarm Service This demonstrates how to schedule a repeating alarm that will initiate a long-lived operation through a service. Start Alarm Service Stop Alarm Service Alarm service will run now, and then every 30 seconds for 15 seconds Alarm service has been unscheduled App/Instrumentation/Local Sample This demonstrates an Instrumentation that runs against one of our own classes. Note that this activity will be killed as a side-effect of starting instrumentation on its own application. App/Instrumentation/Contacts Filter This demonstrates an Instrumentation package that launches the contacts list and simulates user events to filter it. App/Activity/PickImage Pick Image Short notification This is a long notification. See, you might need a second more to read it. Sample Notification This service will update a status bar notification every 5 seconds for a minute App/Activity/Custom Title Left is best Right is always right Change Left Change Right App/Activity/Reorder Activities This is the first of a sequence of four Activities. A button on the fourth will use the Intent.FLAG_ACTIVITY_REORDER_TO_FRONT flag to bring the second of the activities to the front of the history stack. After that, proceeding back through the history should begin with the newly-frontmost second reorder activity, then the fourth, the third, and finally the first. Go to the second This is the second in a sequence of four Activities. Go to the third This is the third of a sequence of four Activities. Go to the fourth This is the last in a sequence of four Activities. Bring the second in front App/Menu/Inflate from XML Select a menu resource and press the menu key. If you want to choose another menu resource, go back and re-run this activity. App/Voice Recognition Supported languages Voice Search in Settings App/Text-To-Speech Again ApiDemos has been updated! Content/Clipboard/Data Types Copy Text Copy Intent Copy URI Clip Type Content/Storage/External Storage Create Delete Content/Resources/Styled Text Initialized from a resource: Plain, bold, italic, bold-italic Assigned programmatically: Content/Resources/Layout Reference Shows how to write layout resource references, so that you can define multiple different configurations of a layout resource that refer to one actual XML definition. Default layout Tablet layout Content/Resources/Width and Height The layouts below use -wNNNdp and -hNNNdp to select between different versions based on the size of the screen. Content/Resources/Smallest Width The layouts below use -swNNNdp to select between different versions based on the size of the screen. Content/Assets/Read Asset Content/Resources/Themes Content/Resources/Resources Content/Provider/Pick Contact Invoke Contacts to pick various kinds of contact data. None of these require that the caller hold the READ_CONTACTS permission. Pick a Contact Pick a Person Pick a Phone Pick an Address Content/Packages/Install Apk App/Activity/Intents Example of launching various Intents. Get Music App/Activity/Intent Activity Flags Example of the use of various intent activity flags. FLAG_ACTIVITY_CLEAR_TASK FLAG_ACTIVITY_CLEAR_TASK (PI) Short notification. Long notification. Short top. Short bottom. Short center. Short left. Short right. Custom Notification: With a Button Icons only Icons and marquee Use remote views in balloon Use default values where applicable :-) :-| :-( I am happy I am ok I am sad Clear notification Mood ring Sound Vibrate All App/Alert Dialogs OK Cancel dialog with a message OK Cancel dialog with traditional theme OK Cancel dialog with Holo Light theme OK Cancel dialog with a long message OK Cancel dialog with ultra long message List dialog Single choice list Repeat alarm Send Call to VoiceMail Progress dialog Text Entry dialog Name: Password: Lorem ipsum dolor sit aie consectetur adipiscing\nPlloaso mako nuto siwuf cakso dodtos anr koop. Header title Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg\n\n Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg\n\n Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg\n\n Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg\n\n Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg\n\n Plloaso mako nuto siwuf cakso dodtos anr koop a cupy uf cak vux noaw yerw phuno. Whag schengos, uf efed, quiel ba mada su otrenzr.\n\nSwipontgwook proudgs hus yag su ba dagarmidad. Plasa maku noga wipont trenzsa schengos ent kaap zux comy.\n\nWipont trenz kipg naar mixent phona. Cak pwico siructiun ruous nust apoply tyu cak Uhex sisulutiun munityuw uw dseg\n\n OK Hide Something Cancel 34% 145/305 KB Header title List dialog Last most often Middle most often First most often Last least often Middle least often First least often Item 1 Item 2 Item 3 Browser visibility Refresh Bookmark Email visibility Reply Forward Jump Dive Preference/1. Preferences from XML Preference/2. Launching preferences Preference/3. Preference dependencies Preference/4. Default values Preference/5. Preferences from code Preference/6. Advanced preferences Preference/7. Fragment Preference/8. Headers Preference/9. Switch Launch PreferenceActivity The counter value is In-line preferences Dialog-based preferences Launch preferences Preference attributes Checkbox preference This is a checkbox Switch preference This is a switch This is a switch with custom text Yes or no preference An example that uses a yes/no dialog Do you like bananas? Edit text preference An example that uses an edit text dialog Enter your favorite animal List preference An example that uses a list dialog Choose one Screen preference Shows another screen of preferences Fragment preference Shows another fragment of preferences Toggle preference Preference that is on the next screen but same hierarchy Intent preference Launches an Activity from an Intent My preference This is a custom counter preference Haunted preference I\'m on! :) I\'m off! :( Parent checkbox preference This is visually a parent Child checkbox preference This is visually a child Example preference dependency WiFi WiFi settings beta Default value App/Search/Invoke Search This activity shows a few different ways to invoke search, and inserts context-specific data for use by the search activity. Ways to invoke search onSearchRequested() Optional search parameters "Prefill query: " "App Data: " App/Search/Query Search Results This activity accepts query strings via the ACTION_SEARCH intent. In a full implementation, you would use the query string to select results from your data source, and present a list of those results to the user. "Query String: " "Query App Data: " "Activity Method: " Search Demo Search Demo Hint App/Launcher Shortcuts ApiDemos Sample This activity creates shortcuts for the launcher (home screen), and receives intents from those shortcuts. To try it, return to the launcher and long-press to create a shortcut. Intent: App/Device Admin Sample Device Admin Sample code for writing a DeviceAdmin class. This implementation provides a UI (in ApiDemos) for you to directly control what the DeviceAdmin does with the system. General Password quality Password expiration Lock screen / Wipe Encryption Enable admin Device capabilities Disable all device cameras Device cameras disabled Device cameras enabled Password controls Set password (user) Set password (via API) Set screen lock password to Password quality Password quality Minimum length Minimum letters Minimum numeric Minimum lower case Minimum upper case Minimum symbols Minimum non-letter Password history / Expiration Password history depth Password expiration timeout (minutes) Password expiration status Lock screen / Wipe Max time to screen lock (minutes) Max password failures for local wipe Lock screen now Wipe data Wipe internal data, like a factory reset Wipe all data Wipe internal data and external storage Encryption Require encryption Activate encryption Current password meets policy requirements Current password does not meet policy requirements You can\'t reset my password, you are a monkey! You can\'t lock my screen, you are a monkey! You can\'t start encryption, you are a monkey! You can\'t wipe my data, you are a monkey! I admit defeat You have just reset your screen lock password to \"%1$s\"" Don\'t forget it Additional text explaining why this needs to be added. Local=%1$s / Global=%2$s Device encryption status=%1$s %1$sd %2$sh %3$sm Bad value \"%1$s\"" This will erase all of your data. Are you sure? Yes No This is not a test. This WILL erase all of your data! Are you really absolutely sure? This is not a test. This WILL erase all of your data, including external storage! Are you really absolutely sure? BOOM! Oops, run away! Encryption is not supported on this device. OK unknown unsupported inactive activating active None Password expired %1$s ago Password will expire %1$s from now Sample Device Admin: %1$s enabled disabled pw changed pw failed pw succeeded This is an optional message to warn the user about disabling. This activity demonstrates the voice recognition APIs. Speak! Results: App/Action Bar/Action Bar Mechanics App/Action Bar/Action Bar Usage App/Action Bar/Action Bar Tabs App/Action Bar/Action Provider/Settings Action Provider App/Action Bar/Action Provider/Share Action Provider Handling in onOptionsItemSelected avoided Search Add Edit Share Sort Alphabetically By size Share with... Settings App/Action Bar/Display Options DISPLAY_HOME_AS_UP DISPLAY_SHOW_HOME DISPLAY_USE_LOGO DISPLAY_SHOW_TITLE DISPLAY_SHOW_CUSTOM Navigation Cycle Custom View Gravity Custom View! Menu Item Add new tab Remove last tab Toggle tab mode Remove all tabs Hide Me! Density: Unknown Screen Device has only one camera! Switch Camera Play Video from Local File Play Streaming Video Play Audio from Local File Play Audio from Resources Vertical Horizontal Top Middle Bottom Left Center Right From: To: Snack "You have selected: " (none) Quit Ctrl-Q Quit Ctrl-Q Tracking on Tracking off from touch Rating: Search Add Edit Share Make a Popup! This activity demonstrates a view that detects when it is potentially obscured by other windows. Click me first: Pop up a toast that will overlay and obscure this window in a poor attempt to fool you into clicking the big red buttons. Don\'t do it! Unfiltered demo: This button does no filtering. This button will still work as usual while the toast is visible and is spoofing the view. Careful! Built-in filtering demo: This button uses the built-in secure touch filtering provided by the framework using the android:filterTouchesWhenObscured attribute. This button will be inoperable while the toast is visible. Custom filtering demo: This button filters touches using a touch listener to examine the MotionEvent flags and warns the user. This button will display a message if touched while the toast is visible. Pop toast Don\'t click! It\'ll cost you! Oh no! Oops... Saved! Careful! There appears to be another window partly obscuring this window... Something unutterably HORRIBLE might have happened. Phew! A toast! A toast! Totally safe, trust me... Clicky? Think of the penguins! This activity demonstrates splitting touch events across multiple views within a view group. Here we have two ListViews within a LinearLayout that has the attribute android:splitMotionEvents set to "true". Try scrolling both lists simultaneously using multiple fingers. Do you have any %1$s?\n%2$s Find something Cheese hunt Expand Iconify Longpress on a dot to start a drag, then drop over another dot. The destination dot will append the drag\'s textual conversion to the EditText. This activity demonstrates how to process input events received from game controllers. Please connect your game controller now and try moving the joysticks or pressing buttons. If it helps, try to imagine that you are a lone space cowboy in hot pursuit of the aliens who kidnapped your favorite llama on their way back to Andromeda... Input Device Axes Keys and Buttons Name Pressed Released This activity demonstrates how to handle hover events with View.onHoverEvent, ViewGroup.onInterceptHoverEvent, and View.setOnHoverListener. Make container intercept hover events Try using a mouse or touch pad to hover over views within this activity. Entered the container at (%1$f,%2$f). Moved within the container at (%1$f,%2$f). Exited the container at (%1$f,%2$f). The pointer may be inside the bounds of a child instead. Try hovering over the button. Intercepted hover event instead of sending it to the button. Om nom nom! Hover Here Use a better username and password, please. Please enter your password: Freedom is nothing else but a chance to be better. — Albert Camus Select an animation: Interpolators Type in the text field for auto-completion. Country: Give me Focus Country: Give me Focus Scroll Down To See Auto Complete Text View Button Country: Type in the text field for auto-completion. Name: You must have contacts in your address book. Typing * will show all of your contacts. Type in the text field for auto-completion. Typing * will show all of your contacts. Name: To: To Subject: Type in the text field for auto-completion by words. Country: Give me Focus Label: Button Bigger Label: Button Bigger Label: Button Bigger This example shows that baseline alignment has no effect when the layout gravity is set to center_vertical. Label: Button Bigger Label Again Label Me This is a\nmulti-line field. Baseline Aligned Big and bold Slim and slick. label Save Checkbox 1 Checkbox 2 RadioButton 1 RadioButton 2 Star Service not running placeholder left jump over me from L to R right left right top bottom 1 2 3 4 5 Testing Login Bad Login Clear Credentials Username: Name: Last Name: Phone: Address: This is the top view. This is the middle view. It has more text in it than either the top view or the bottom view. This is the bottom view. This is the top view. This is the middle view. It has more text in it than either the top view or the bottom view. This is the bottom view. This is the top view. This is the middle view. It has more text in it than either the top view or the bottom view. This is the bottom view. Type Here: Cancel OK One Two This is the third one Four Not much text A lot more text than any of the other columns. This column should set the height of the linear layout. wrap_content A B C Button text1: Various kinds of data that will be auto-linked. In this text are some things that are actionable. For instance, you can click on http://www.google.com and it will launch the web browser. You can click on google.com too. If you click on (415) 555-1212 it should dial the phone. Or just write foobar@example.com for an e-mail link. If you have a URI like http://www.example.com/lala/foobar@example.com you should get the full link not the e-mail address. Or you can put a location like 1600 Amphitheatre Parkway, Mountain View, CA 94043. To summarize: https://www.google.com, or 650-253-0000, somebody@example.com, or 9606 North MoPac Expressway, Suite 400, Austin, TX 78759. text2: Explicit links using <a> markup. This has markup for a link specified via an <a> tag. Use a \"tel:\" URL to dial a phone number. New photo Clear photos No photos + - Default progress: Secondary progress: Show Progress Show Indeterminate Show Indeterminate No Title Toggle Indeterminate Breakfast Lunch Dinner All of them You have selected: (none) Clear Press the button to get an activity result, which will be displayed here: Get Result Top Bottom center_vertical Type here: Ok Cancel Text View 1 Button 1 Text View 2 Button 2 Text View 3 Button 3 Text View 4 Button 4 Text View 5 Button 5 Text View 6 Button 6 Text View 1 Button 1 Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. The Android platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel. If you want to know how to develop applications for Android, you\'re in the right place. This site provides a variety of documentation that will help you learn about Android and develop mobile applications for the platform. An early look at the the Android SDK is also available. It includes sample projects with source code, development tools, an emulator, and of course all the libraries you\'ll need to build an Android application. What would it take to build a better mobile phone? Color: Planet: Choose a color Choose a planet * *** Open\u2026 Ctrl-O Save As\u2026 (Save Document) Quit Application Ctrl-Shift-Q ~/path/to/file/to/open ~/.profile Open Save Save All * *** Open\u2026 Ctrl-O Save As\u2026 (Save Document) Too Long Quit Application Ctrl-Shift-Q Open\u2026 Ctrl-O Save As\u2026 Ctrl-Shift-S Open\u2026 Ctrl-O Save\u2026 Ctrl-S Save As\u2026 Ctrl-Shift-S Import\u2026 Export\u2026 Ctrl-E Quit\u2026 X Open\u2026 Ctrl-O Save\u2026 Ctrl-S Save As\u2026 Ctrl-Shift-S Import\u2026 Export\u2026 Ctrl-E Quit\u2026 X Open\u2026 Ctrl-O Save\u2026 Ctrl-S Save As\u2026 Ctrl-Shift-S Import\u2026 Export\u2026 Ctrl-E Toggle Checkmarks Toggle Shortcuts X Open\u2026 Ctrl-O Save\u2026 Ctrl-S Save As\u2026 Ctrl-Shift-S Import\u2026 Export\u2026 Ctrl-E Toggle Stretch Open\u2026 Ctrl-O Save\u2026 Ctrl-S Save As\u2026 Ctrl-Shift-S Save All And Do A Lot Of Stuff Just To Be Too Long For This Screen Because It Is A Test After All Ctrl-E Import\u2026 Export\u2026 Ctrl-E Toggle Shrink User Password Cancel Login A BB CCCC D E F G H View A View B View C Vis Invis Gone this is the text of a previous message.\nkthx. meet u for dinner. cul8r This is the text of the posted notification. Did you notice that the status bar icon disappeared? New text message: %0$s Do nothing Add Show Long Notification Show Short Notification This use the default marquee animation limit of 3 This will run the marquee animation once This will run the marquee animation forever Next change the time change the date Normal Right Small S R S L S U S D Toggle Sample action Start Stop Reset Set format string Clear format string Initial format: %s Vibrate Large image at normal size Large image scaled to at most 50x50 Large image scaled to at most 70x70 with padding Large image scaled to exactly 70x70 with padding Small image at normal size Small image scaled to at most 50x50 Small image scaled to at most 70x70 with padding Small image scaled to exactly 70x70 with padding textColorPrimary textColorSecondary textColorTertiary listSeparatorTextViewStyle This text will be shown before the date in our example widget. Oh hai %1$s: %2$s WARNING: this demo can send actual text messages (one at a time), so be sure to test with the Android emulator or have a text messaging plan with your carrier. Enable SMS broadcast receiver Recipient # Message Body Send Message from "%1$s": %2$s Reply Dismiss Share Accessibility/Accessibility Service ClockBack 1. Enable TalkBack (Settings -> Accessibility -> TalkBack). \n\n2. Enable Explore-by-Touch (Settings -> Accessibility -> Explore by Touch). \n\n3. Touch explore the Clock application and the home screen. \n\n4. Go to the Clock application and change the time of an alarm. \n\n5. Enable ClockBack (Settings -> Accessibility -> ClockBack). \n\n6. Go to the Clock application and change an alarm. \n\n7. Set the ringer to vibration mode and change an alarm. \n\n8. Set the ringer to muted mode and change an alarm. Ringer audible Ringer vibrate Ringer silent Screen on. Volume %1$s percent. Screen off. Volume %1$s percent. Accessibility/Accessibility Node Querying QueryBack Task App Accessibility Service 1. Enable QueryBack (Settings -> Accessibility -> QueryBack). \n\n2. Enable Explore-by-Touch (Settings -> Accessibility -> Explore by Touch). \n\n3. Touch explore the list. Accessibility/Custom View 1. Enable TalkBack (Settings -> Accessibility -> TalkBack). \n\n2. Enable Explore-by-Touch (Settings -> Accessibility -> Explore by Touch). \n\n3. Touch explore/poke the buttons. On Off Task Task %1$s %2$s is complete is not complete