1. 程式人生 > >Android8.0適配那點事(一)

Android8.0適配那點事(一)

懸浮 新增功能 nta onstop config ges 保持 com dfa

1、通知渠道(Channeld)

當然,適配8.0的第一步自然是把targeSdk升級到26,在8.0中所有通知的實現都需要提供通知渠道,否則,所有通知在8.0系統上面都不能正常顯示;

下圖是8.0系統上,APP通知的展示樣式:
技術分享圖片
APP適配渠道通知的實現如下:
技術分享圖片
技術分享圖片

2、懸浮窗

8.0 API 新增了一種懸浮窗的窗口類型,TYPE_APPLICATION_OVERLAY;

如果應用使用 SYSTEM_ALERT_WINDOW 權限並且嘗試使用以下窗口類型之一來在其他應用和系統窗口上方顯示提醒窗口:

TYPE_PHONE
TYPE_PRIORITY_PHONE
TYPE_SYSTEM_ALERT
TYPE_SYSTEM_OVERLAY

TYPE_SYSTEM_ERROR
TYPE_TOAST
技術分享圖片
這些窗口將始終顯示在使用 TYPE_APPLICATION_OVERLAY 窗口類型的窗口下方。
如果該應用適配了8.0,則應用只能使用TYPE_APPLICATION_OVERLAY窗口類型來創建懸浮窗。(其它窗口類型在8.0已經被廢棄掉)

3、畫中畫模式(新增功能)

我們知道Activity是默認支持分屏模式的,但我們也需要聲明Activity是允許分屏的,再增加支持畫中畫模式:
技術分享圖片

App頁面從全屏模式切換到畫中畫模式,它的Activity生命周期也會經歷銷毀後重建的過程,如果開發者想保持App頁面不被重建,則需給該頁面的activity節點加上以下的屬性描述:

android:configChanges="srceenLayout|orientation"

對於視頻播放頁面,Activity代碼同樣不在onPause方法中暫停播放視頻,而應當在onStop方法中暫停播放,並在onStart方法中恢復播放視頻;

技術分享圖片
技術分享圖片

進入畫中畫模式:
技術分享圖片

4、自適應圖標

Android 8.0 引入自適應啟動器圖標,可在不同設備型號上顯示為各種不同的形狀,創建方式如下:
技術分享圖片

然後點擊Next後,直接finish,最後在application中使用:

技術分享圖片

結語

各位看官,別走開,你的留言,你的點贊,是我前進的動力,接下來還有啟動頁的適配,版本更新適配等其他一些功能詳細闡述;文中如有錯誤請留言指出,共同探討。

技術分享圖片

Android8.0適配那點事(一)