You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
4.1 KiB
110 lines
4.1 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Copyright 2013 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<sample>
|
|
<name>MessagingService</name>
|
|
<group>Notification</group>
|
|
<package>com.example.android.messagingservice</package>
|
|
|
|
<minSdk>21</minSdk>
|
|
|
|
<strings>
|
|
<intro>
|
|
<![CDATA[
|
|
This sample shows a simple service that sends notifications using
|
|
NotificationCompat. It also extends the notification with Remote
|
|
Input to allow Android N devices to reply via text directly from
|
|
the notification without having to open an app. The same Remote
|
|
Input usage also allows Android Auto users to respond by voice
|
|
when the notifications is presented in that experience.
|
|
Note: Each unread conversation from a user is sent as a distinct
|
|
notification.
|
|
]]>
|
|
</intro>
|
|
</strings>
|
|
|
|
<template src="base-build" />
|
|
<template src="base-application" />
|
|
<metadata>
|
|
<status>PUBLISHED</status>
|
|
<categories>Notification</categories>
|
|
<!-- Old Categories: UI, Notification -->
|
|
<technologies>Android</technologies>
|
|
<languages>Java</languages>
|
|
<solutions>Mobile</solutions>
|
|
<level>ADVANCED</level>
|
|
<icon>screenshots/icon-web.png</icon>
|
|
<screenshots>
|
|
<img>screenshots/1-main.png</img>
|
|
<img>screenshots/2-onemessage.png</img>
|
|
<img>screenshots/3-threemessages.png</img>
|
|
</screenshots>
|
|
<api_refs>
|
|
<android>android.app.Service</android>
|
|
<android>android.content.Intent</android>
|
|
<android>android.support.v4.app.NotificationCompat</android>
|
|
<android>android.support.v4.app.NotificationCompat.CarExtender</android>
|
|
</api_refs>
|
|
<description>
|
|
<![CDATA[
|
|
This sample shows a simple service that sends notifications using
|
|
NotificationCompat. It also extends the notification with Remote
|
|
Input to allow Android N devices to reply via text directly from
|
|
the notification without having to open an App. The same Remote
|
|
Input object also allows Android Auto users to respond by voice
|
|
when the notification is presented there.
|
|
Note: Each unread conversation from a user is sent as a distinct
|
|
notification.
|
|
]]></description>
|
|
<intro>
|
|
<![CDATA[
|
|
#### Checklist while building a messaging app that supports Android Auto:
|
|
1. Ensure that Message notifications are extended using
|
|
NotificationCompat.Builder.extend(new CarExtender()...)
|
|
2. Declare a meta-data tag to your AndroidManifest.xml to specify that your app
|
|
is automotive enabled.
|
|
|
|
example: AndroidManifest.xml
|
|
|
|
```
|
|
<meta-data android:name="com.google.android.gms.car.application"
|
|
android:resource="@xml/automotive_app_desc"/>
|
|
```
|
|
|
|
Include the following to indicate that the application wants to show notifications on
|
|
the Android Auto overview screen.
|
|
|
|
example: res/xml/automotive\_app\_desc.xml
|
|
```
|
|
<automotiveApp>
|
|
<uses name="notification"/>
|
|
</automotiveApp>
|
|
```
|
|
|
|
#### Flow
|
|
MessagingFragment is shown to the user. Depending on the button clicked, the MessagingService is
|
|
sent a message. MessagingService in turn creates notifications which can be viewed either on the
|
|
device or in the messaging-simulator.
|
|
|
|
When a message is read, the associated PendingIntent is triggered and MessageReadReceiver is called
|
|
with the appropriate conversationId. Similarly, when a reply is received, the MessageReplyReceiver
|
|
is called with the appropriate conversationId. MessageLogger logs each event and shows them in a
|
|
TextView in MessagingFragment for correlation.
|
|
]]>
|
|
</intro>
|
|
</metadata>
|
|
</sample>
|