最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
新安县| 长顺县| 利津县| 大名县| 临泉县| 视频| 陵川县| 绵阳市| 金沙县| 皋兰县| 炎陵县| 仙桃市| 永济市| 嵊州市| 陵水| 镇赉县| 永登县| 景德镇市| 东海县| 彭泽县| 寿宁县| 五寨县| 张家口市| 台中县| 烟台市| 广东省| 卓尼县| 乌鲁木齐市| 安宁市| 长宁县| 百色市| 荣昌县| 桃江县| 吴桥县| 博罗县| 上高县| 宁国市| 丰台区| 拉萨市| 洪湖市| 文化|