我想创建这种类型的通知(如here,在Breaking of the card(带有自定义布局)部分)。也就是说,它应该包含一个完整的屏幕页面(事实上,它带有一张地图)。
是(在图片上)延长通知还是磨损应用?如何实现这个全屏视图?
我尝试按照here所述进行操作,但我的活动并非从通知开始。
答案 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。