README.md
1
2Android DirectShare Sample
3===================================
4
5Sample demonstrating how to show some options directly in the list of share intent candidates.
6
7Introduction
8------------
9
10[Direct Share][1] is a feature that allows apps to show their internal options directly in the
11system Intent chooser dialog. This sample is a dummy messaging app, and just like any other
12messaging apps, it receives intents for sharing a plain text. When a user shares some text from some
13other app, this sample app will be listed as an option. Using the Direct Share feature, this app
14also shows some of contacts directly in the chooser dialog.
15
16To enable Direct Share, apps need to implement a Service extending
17[ChooserTargetService][2]. Override the method [onGetChooserTargets][3] and return a list of Direct
18Share options.
19
20In your AndroidManifest.xml, add a meta-data tag in your Activity that receives the Intent. Specify
21android:name as android.service.chooser.chooser_target_service, and point the android:value to the
22Service.
23
24[1]: https://developer.android.com/reference/android/service/chooser/package-summary.html
25[2]: https://developer.android.com/reference/android/service/chooser/ChooserTargetService.html
26[3]: https://developer.android.com/reference/android/service/chooser/ChooserTargetService.html#onGetChooserTargets(android.content.ComponentName%2C%20android.content.IntentFilter)
27
28Pre-requisites
29--------------
30
31- Android SDK 27
32- Android Build Tools v27.0.2
33- Android Support Repository
34
35Screenshots
36-------------
37
38<img src="screenshots/1-main.png" height="400" alt="Screenshot"/> <img src="screenshots/2-intent.png" height="400" alt="Screenshot"/> <img src="screenshots/3-message.png" height="400" alt="Screenshot"/>
39
40Getting Started
41---------------
42
43This sample uses the Gradle build system. To build this project, use the
44"gradlew build" command or use "Import Project" in Android Studio.
45
46Support
47-------
48
49- Google+ Community: https://plus.google.com/communities/105153134372062985968
50- Stack Overflow: http://stackoverflow.com/questions/tagged/android
51
52If you've found an error in this sample, please file an issue:
53https://github.com/googlesamples/android-DirectShare
54
55Patches are encouraged, and may be submitted by forking this project and
56submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
57
58License
59-------
60
61Copyright 2017 The Android Open Source Project, Inc.
62
63Licensed to the Apache Software Foundation (ASF) under one or more contributor
64license agreements. See the NOTICE file distributed with this work for
65additional information regarding copyright ownership. The ASF licenses this
66file to you under the Apache License, Version 2.0 (the "License"); you may not
67use this file except in compliance with the License. You may obtain a copy of
68the License at
69
70http://www.apache.org/licenses/LICENSE-2.0
71
72Unless required by applicable law or agreed to in writing, software
73distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
74WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
75License for the specific language governing permissions and limitations under
76the License.
77