README.md
1
2Android CommitContentSampleIME Sample
3===================================
4
5This sample demonstrates how to write an keyboard which sends rich content (such as images) to text
6fields using the Commit Content API.
7
8Introduction
9------------
10
11Users often want to communicate with emojis, stickers, and other kinds of rich content. In previous
12versions of Android, soft keyboards (input method editors or IMEs) could send only unicode emoji to
13apps. For rich content (such as images), apps had to either build app-specific APIs that couldn't
14be used in other apps or use workarounds like sending images through the Easy Share Action or the
15clipboard.
16
17Now in Android 7.1 (API 25), the Android SDK includes the [Commit Content API][1], which provides a
18universal way for IMEs to send images and other rich content directly to a text editor in an app.
19The API is also available in the v13 Support Library (ver. 25.0), supporting devices as early as
20Android 3.2 (API 13).
21
22With this API, you can build messaging apps that accept rich content from any keyboard, as well as
23keyboards that can send rich content to any app.
24
25**Note:** This sample does not have a default Activity. After installing it, you will need to enable
26this app as a keyboard by navigating to *Settings > Languages & Input > Virtual Keyboard > Manage
27Keyboards*. This keyboard can then be accessed by pressing the virtual keyboard icon in the
28lower-right hand corner of the display while in a text field.
29
30[1]: https://android-dot-devsite.googleplex.com/preview/image-keyboard.html
31
32Pre-requisites
33--------------
34
35- Android SDK 27
36- Android Build Tools v27.0.2
37- Android Support Repository
38
39Screenshots
40-------------
41
42<img src="screenshots/screenshot-1.png" height="400" alt="Screenshot"/>
43
44Getting Started
45---------------
46
47This sample uses the Gradle build system. To build this project, use the
48"gradlew build" command or use "Import Project" in Android Studio.
49
50Support
51-------
52
53- Google+ Community: https://plus.google.com/communities/105153134372062985968
54- Stack Overflow: http://stackoverflow.com/questions/tagged/android
55
56If you've found an error in this sample, please file an issue:
57https://github.com/googlesamples/android-CommitContentSampleIME
58
59Patches are encouraged, and may be submitted by forking this project and
60submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
61
62License
63-------
64
65Copyright 2017 The Android Open Source Project, Inc.
66
67Licensed to the Apache Software Foundation (ASF) under one or more contributor
68license agreements. See the NOTICE file distributed with this work for
69additional information regarding copyright ownership. The ASF licenses this
70file to you under the Apache License, Version 2.0 (the "License"); you may not
71use this file except in compliance with the License. You may obtain a copy of
72the License at
73
74http://www.apache.org/licenses/LICENSE-2.0
75
76Unless required by applicable law or agreed to in writing, software
77distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
78WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
79License for the specific language governing permissions and limitations under
80the License.
81