2014-10-03 74 views
1

我想创建此类通知(如here,在分区卡(带自定义布局)一节中)。也就是说,它包含一个全屏页面(实际上是一张地图)。Android Wear通知:全屏

是(在图片上)扩展通知或磨损应用程序?如何实现这个全屏视图?

我试过按here所述做,但我的活动并非从通知开始。

回答

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(); 
+0

不幸的是,这对我不起作用。也许这是因为我正在使用NotificationCompat库(不是通知),但我不确定。摘录没有效果。没有任何反应。任何线索? – sandkeks 2014-10-06 06:09:31

+0

不需要使用NotificationCompat库,因为此代码应该在可穿戴应用程序而不是手持应用程序上运行。我不认为有什么方法可以直接从手持应用程序中执行此操作。我认为你需要制作可穿戴应用并从那里发布通知。 – 2014-10-06 18:34:48

+0

所以这就是问题所在。这不是一个应用程序,我想以这种方式扩展通知。顺便说一下,经过一番研究,在我看来,这是不可能的,唯一的全屏幕方式是我不需要的应用程序。 – sandkeks 2014-10-07 06:14:51

0

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

我想编写一个自定义库从手机的布局XML磨损和夸大其船舶但那是因为与LayoutInflator限制不可能的。

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