Ответ 1
Шаги, необходимые для реализации этой функции, зависят от того, отправлено ли уведомление с телефона или с устройства для ношения.
Уведомление с телефона:
Если ваше уведомление поступило с телефона - страница действия "Открыть по телефону" добавляется автоматически, когда установлено ваше уведомление setContentIntent (намерение PendingIntent).
Из вашего загружаемого приложения:
Если вам нужно воспроизвести эту анимацию в уведомлении, которое отправляется с переносимого устройства напрямую (или из любого другого места из вашего носящего приложения), вам нужно будет запустить эту анимацию самостоятельно.
Есть хороший ConfirmationActivity
, который поддерживает несколько предопределенных типов анимации:
-
ConfirmationActivity.SUCCESS_ANIMATION
-
ConfirmationActivity.OPEN_ON_PHONE_ANIMATION
-
ConfirmationActivity.FAILURE_ANIMATION
Ожидаемая анимация - ConfirmationActivity.OPEN_ON_PHONE_ANIMATION
. Вам нужно передать тип анимации в ConfirmationActivity.EXTRA_ANIMATION_TYPE
extra.
Intent intent = new Intent(context, ConfirmationActivity.class);
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.OPEN_ON_PHONE_ANIMATION);
startActivity(intent);
ВАЖНО:
Чтобы запустить ConfirmationActivity
, вам нужно добавить его в свой файл манифеста:
<activity android:name="android.support.wearable.activity.ConfirmationActivity" />
Тема:
Следующий шаг - настроить стиль этого ConfirmationActivity
. Например, если вы хотите отключить скользящую анимацию по умолчанию или сделать окно прозрачным, вам нужно будет установить в своем манифеста пользовательскую тему:
<activity android:name="android.support.wearable.activity.ConfirmationActivity"
android:theme="@style/TransparentTheme"/>
и определите TransparentTheme
в themes.xml
:
<style name="TransparentTheme" parent="@android:style/Theme.DeviceDefault">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
</style>