1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Copyright 2014 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9     http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<sample>
18    <name>CommitContentSampleIME</name>
19    <group>Input</group>
20    <package>com.example.android.commitcontent.ime</package>
21
22    <minSdk>25</minSdk>
23
24    <strings>
25        <intro>
26            <![CDATA[
27                This sample demonstrates how to write an keyboard which sends rich content
28                (such as images) to text fields using the Commit Content API.
29            ]]>
30        </intro>
31    </strings>
32
33    <template src="base-build" />
34
35    <metadata>
36        <status>PUBLISHED</status>
37        <categories>System</categories>
38        <technologies>Android</technologies>
39        <languages>Java</languages>
40        <solutions>Mobile</solutions>
41        <level>INTERMEDIATE</level>
42        <icon>screenshots/icon-web.png</icon>
43        <screenshots>
44            <img>screenshots/screenshot-1.png</img>
45        </screenshots>
46        <api_refs>
47            <android>android.widget.EditText</android>
48            <android>import android.support.v13.view.inputmethod.EditorInfoCompat</android>
49            <android>import android.support.v13.view.inputmethod.InputConnectionCompat</android>
50            <android>import android.support.v13.view.inputmethod.InputContentInfoCompat</android>
51        </api_refs>
52
53        <description>
54<![CDATA[
55This sample demonstrates how to write an keyboard which sends rich content (such as images) to text
56fields using the Commit Content API.
57]]>
58        </description>
59
60        <intro>
61<![CDATA[
62Users often want to communicate with emojis, stickers, and other kinds of rich content. In previous
63versions of Android, soft keyboards (input method editors or IMEs) could send only unicode emoji to
64apps. For rich content (such as images), apps had to either build app-specific APIs that couldn't
65be used in other apps or use workarounds like sending images through the Easy Share Action or the
66clipboard.
67
68Now in Android 7.1 (API 25), the Android SDK includes the [Commit Content API][1], which provides a
69universal way for IMEs to send images and other rich content directly to a text editor in an app.
70The API is also available in the v13 Support Library (ver. 25.0), supporting devices as early as
71Android 3.2 (API 13).
72
73With this API, you can build messaging apps that accept rich content from any keyboard, as well as
74keyboards that can send rich content to any app.
75
76**Note:** This sample does not have a default Activity. After installing it, you will need to enable
77this app as a keyboard by navigating to *Settings > Languages & Input > Virtual Keyboard > Manage
78Keyboards*. This keyboard can then be accessed by pressing the virtual keyboard icon in the
79lower-right hand corner of the display while in a text field.
80
81[1]: https://android-dot-devsite.googleplex.com/preview/image-keyboard.html
82]]>
83        </intro>
84    </metadata>
85</sample>
86