Android適配8.0遇到的一些坑

剛進新公司的時候華為市場對APP提示的是不兼容android8.0,查看了下原代碼發(fā)現(xiàn)項目基本還停留在6.0的適配上,所以就大致適配了7.0、8.0,先記錄幾個主要的問題點,后續(xù)更新。首先必須的把SdkVersion提升到26把(華為市場提示不兼容8.0也是這個原因),然后google了一圈。

大致google+百度了一大圈,基本鎖定會導(dǎo)致程序異常+功能失效的幾個點。

①:通知(會收不到通知)

②:懸浮窗(7.0、8.0)(會崩潰)

③:自適應(yīng)圖標(biāo)(圖標(biāo)終于有所關(guān)注)


一:通知渠道

Android O版本對通知做了規(guī)范性的控制,強制用戶在發(fā)送通知的時候,對通知進行系統(tǒng)性的管理,新增了channel渠道功能,貌似Android P版本對與這一點也做了強調(diào),使用戶能夠更好的管理通知,做到有目的性的屏蔽通知。下面上相關(guān)性的代碼

NotificationChannel mChannel =new NotificationChannel("channel_01","消息推送", NotificationManager.IMPORTANCE_DEFAULT);

notificationManager.createNotificationChannel(mChannel);//創(chuàng)建一個通知渠道

其他和原設(shè)置一樣即可。

二:懸浮窗

在一些廣播中需要彈出對話框的應(yīng)用場景,沒有依附的activity,這個時候就可以用懸浮窗,相關(guān)適配以及源碼有注釋自行查看。附申請權(quán)限源碼

懸浮窗dialog
另外需在AndroidManifest.xml文件中加入"SYSTEM_ALERT_WINDOW"權(quán)限

三:自適應(yīng)圖標(biāo)?

Android O版本對圖標(biāo)做了修改,總體上來講使Android APP從桌面就開始高大上起來了,加入了一些列動畫,詳細的可以看這篇博文。

Android O自適應(yīng)圖標(biāo)

????????另外:設(shè)計到一些需要訪問清單文件,或者是pakageManager類的時候,適配8.0需要加入新的權(quán)限,安裝權(quán)限。

? ??? ??<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>


以上基本就是8.0中著重需要注意的點,其實通知渠道設(shè)置在7.0中就已經(jīng)開始出現(xiàn),如果適配了7.0的話,8.0基本也已經(jīng)可以了。如果還出現(xiàn)8.0崩潰的情況,看看崩潰日志應(yīng)該都可以解決了,還是不行的話請私發(fā)我崩潰信息。對此再做出更新。

最后給大家介紹一款比較好的申請權(quán)限的第三方庫,強烈推薦。一句話解決問題并且可以直接跳轉(zhuǎn)到相關(guān)權(quán)限授權(quán)頁,適配率比較高。簡潔!

一句話解決6.0權(quán)限申請

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容