Android Wear通知:全屏

时间:2014-10-03 07:45:24

标签: android wear-os

我想创建这种类型的通知(如here,在Breaking of the card(带有自定义布局)部分)。也就是说,它应该包含一个完整的屏幕页面(事实上,它带有一张地图)。

是(在图片上)延长通知还是磨损应用?如何实现这个全屏视图?

我尝试按照here所述进行操作,但我的活动并非从通知开始。

2 个答案:

答案 0 :(得分:3)

您可以将活动嵌入到磨损通知中,如下所示:

Notification myFullScreenNotification = new Notification.Builder(context)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentText(notificationText)
        .extend(new Notification.WearableExtender()
                .setCustomSizePreset(Notification.WearableExtender.SIZE_FULL_SCREEN)
                .setDisplayIntent(PendingIntent.getActivity(context, 0, new Intent(context, MyActivity.class), 0)))
        .build();

确保在AndroidManifest.xml中提供正确的权限:

<activity
    android:name=".MyActivity"
    android:exported="true"
    android:allowEmbedded="true"
    android:taskAffinity="" />

通知显示正常,直到用户向上滑动,然后它将变为全屏并在页面上运行活动。

如果您想将活动用作通知的辅助页面,请将上面的通知作为另一个通知的页面插入,如下所示:

Notification myWearNotification = new Notification.Builder(context)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentText(notificationText)
        .extend(new Notification.WearableExtender()
                .addPage(myFullScreenNotification)
        .build();

答案 1 :(得分:0)

Android Wear应用程序需要完全自定义通知的布局。

我尝试编写一个自定义库,它从手机中发布布局xml以进行磨损和膨胀,但由于与LayoutInflator相关的限制而无法实现。

以下是相关的参考位:出于性能原因,视图通胀在很大程度上依赖于在构建时完成的XML文件的预处理。因此,目前无法在运行时对普通XML文件使用带有XmlPullParser的LayoutInflater;它只适用于从编译资源(R.something文件)返回的XmlPullParser。

相关问题