实现此功能所需的步骤取决于通知是从手机提交还是从可穿戴设备提交。
电话通知:
如果您的通知来自手机 - 当您的通知设置了setContentIntent(PendingIntent intent) 时,会自动添加“在手机上打开”操作页面。
来自您的可穿戴应用:
如果您需要在直接从可穿戴设备(或从您的可穿戴应用程序的任何其他位置)提交的通知中播放此动画,您需要自己启动此动画。
有一个很好的 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"/>
并在themes.xml 中定义TransparentTheme:
<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>