2014-10-03 73 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文件)。