五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

車載桌面加入AppWidget小部件的支持-千里馬車載車機(jī)android系統(tǒng)實(shí)戰(zhàn)開發(fā)

2023-09-06 09:56 作者:千里馬學(xué)框架  | 我要投稿

背景:

原生的aosp車載系統(tǒng)根本就不支持任何的appwidget,但是國(guó)內(nèi)很多車機(jī)廠都有廣泛適用appwidget的功能。更多干貨實(shí)戰(zhàn)視頻:https://www.bilibili.com/video/BV1ah411d7Y3/[1]

在這里插入圖片描述

明顯左邊的音樂(lè),藍(lán)牙電話等屬于其他應(yīng)用的畫面,熟悉android手機(jī)同學(xué)就肯定知道,這個(gè)其實(shí)就是手機(jī)桌面上的appwidget。

移植小部件展示功能到車載桌面

1、首先確定車載系統(tǒng)是否有appwidget服務(wù)

確認(rèn)方法可以通過(guò)如下命令:

emulator_car_x86_64:/ # service list | grep appwidget ? ? ? ? ? ?

如果系統(tǒng)有相關(guān)服務(wù)則有如下輸出


emulator_car_x86_64:/ # service list | grep appwidget ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
53 appwidget: [com.android.internal.appwidget.IAppWidgetService]

如果沒有,則顯示一片空白,啥也沒有

默認(rèn)aosp情況其實(shí)是沒有開放appwidget的,這里我們就需要考慮怎么開放appwidget功能

這里就需要對(duì)appwidget的加入servicemanager流程比較清晰:

在這里插入圖片描述

其實(shí)它是在這里進(jìn)行的啟動(dòng)加入,但是大家可以看到,這里其實(shí)是有判斷條件的:

?if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_APP_WIDGETS)
? ? ? ? ? ? ? ? ? ?|| context.getResources().getBoolean(R.bool.config_enableAppWidgetService))

即系統(tǒng)是否有開放FEATURE_APP_WIDGETS或者說(shuō)有config_enableAppWidgetService配置為true,正常手機(jī)FEATURE_APP_WIDGETS是有的,config_enableAppWidgetService為false,也就是說(shuō)手機(jī)上其實(shí)靠有FEATURE_APP_WIDGETS這個(gè)Feature,而車機(jī)上沒有是因?yàn)闆]有FEATURE_APP_WIDGETS這個(gè)Feature

那么我們就要考慮在車載要么 1、添加Feature 2、把config_enableAppWidgetService變成true 2選1即可以,這里我們選擇簡(jiǎn)單一點(diǎn)的方案2,修改如下

diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 31229e97024f..f46b0d3a76c0 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -3838,7 +3838,7 @@

? ? <!-- True if the device requires AppWidgetService even if it does not have
? ? ? ? ?the PackageManager.FEATURE_APP_WIDGETS feature -->
- ? ?<bool name="config_enableAppWidgetService">false</bool>
+ ? ?<bool name="config_enableAppWidgetService">true</bool>

? ? <!-- True if the device supports Sustained Performance Mode-->
? ? <bool name="config_sustainedPerformanceModeSupported">false</bool>

修改后進(jìn)行整體編譯,即可以有appwidget這個(gè)服務(wù)運(yùn)行于整個(gè)系統(tǒng)了,那樣才可以進(jìn)行下一步的代碼開發(fā)

2、在CarLauncher移植相關(guān)成為WidgetHost的代碼 具體修改步驟如下: 1、準(zhǔn)備好放置widget的layout,修改布局把左邊空出一片區(qū)域,專門來(lái)放置widget 再接下來(lái)就是下圖的幾個(gè)步驟來(lái)實(shí)現(xiàn)

在這里插入圖片描述

最后再把上面的layout.addView一下上面的mAppWidgetView最后看一下相關(guān)的效果

在這里插入圖片描述

左邊是不是正常的展示出來(lái)時(shí)鐘小部件 相關(guān)patch請(qǐng)關(guān)注公眾號(hào)私聊我。

引用鏈接

[1] 更多干貨實(shí)戰(zhàn)視頻:https://www.bilibili.com/video/BV1ah411d7Y3/: https://www.bilibili.com/video/BV1ah411d7Y3/

更多車載車機(jī)framework實(shí)戰(zhàn)開發(fā)課程請(qǐng)加千里馬本人wx:androidframework007(備注b站粉絲)


車載桌面加入AppWidget小部件的支持-千里馬車載車機(jī)android系統(tǒng)實(shí)戰(zhàn)開發(fā)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
翁源县| 滦平县| 东乡县| 澄江县| 炉霍县| 青铜峡市| 金昌市| 岳普湖县| 施甸县| 巴林左旗| 金堂县| 平乐县| 沅陵县| 龙海市| 青铜峡市| 密山市| 宁德市| 泸州市| 曲阜市| 郧西县| 锡林郭勒盟| 江西省| 南漳县| 五台县| 玛沁县| 屏南县| 永胜县| 文登市| 汽车| 海丰县| 陵川县| 田阳县| 阿荣旗| 溆浦县| 夹江县| 大同县| 曲阜市| 清流县| 手游| 宿松县| 宕昌县|