Android_SmartDeviceLink_Remote Control

我的博客

Remote Control遠程控制

遠程控制提供了一個框架辣恋,允許應用程序控制車輛內(nèi)的某些安全模塊

注意:并不是所有的車輛都有這種功能亮垫。即使它們支持遠程控制,您也可能需要請求汽車制造商的許可權限才能使用它伟骨。
考慮一下的場景:

  • 一個無線電應用程序想要調(diào)用車載無線電調(diào)諧器饮潦。它需要來選擇無線電波段(AM/FM/XM/HD/DAB),調(diào)整無線電頻率或改變電臺携狭,以及獲得一般無線電信息等功能作決策继蜡。
  • 一個氣候控制應用需要打開空調(diào),控制空氣流通模式逛腿,改變風扇轉(zhuǎn)速稀并,設定所需的艙內(nèi)溫度。
  • 用戶概要文件應用程序希望記住用戶最喜歡的設置单默,并在用戶進入相同/另一個車輛時自動應用它碘举。
    目前,遠程控制功能支持這些模塊:


    image.png

下表列出了每個控制模塊中的控制項雕凹。


image.png

image.png

遠程控制還可以允許移動應用程序發(fā)送模擬按鈕按下事件殴俱,以便在車輛中使用以下常用按鈕政冻。
系統(tǒng)應列出所有可用RemoteControlCapabilities遠程控制按鈕。capability對象將有一個可通過getbuttoncapability()獲得的buttoncapability列表


image.png

image.png

Integration綜合

對于遠程控制工作线欲,頭單元必須支持SDL核心版本4.4或更新明场。

SYSTEM CAPABILITY

在使用任何遠程控制rpc之前,您必須檢查head單元是否具有遠程控制能力李丰。當您可能遇到不支持它的頭部單位時苦锨,此檢查非常重要。
要檢查此功能趴泌,請使用以下調(diào)用:

 // First you can check to see if the capability is supported on the module
    if (proxy.isCapabilitySupported(SystemCapabilityType.REMOTE_CONTROL){
        // Since the module does support this capability we can query it for more information
        proxy.getCapability(SystemCapabilityType.REMOTE_CONTROL, new OnSystemCapabilityListener(){
 
            @Override
            public void onCapabilityRetrieved(Object capability){
                RemoteControlCapabilities remoteControlCapabilities = (RemoteControlCapabilities) capability;
                // Now it is possible to get details on how this capability 
                // is supported using the remoteControlCapabilities object
            }
 
            @Override
            public void onError(String info){
                Log.i(TAG, "Capability could not be retrieved: "+ info);
            }
        });
    }

GETTING DATA

可以檢索與這些遠程控制模塊相關的當前數(shù)據(jù)舟舒。數(shù)據(jù)可以用來存儲設置之前的設置,保存用戶的首選項嗜憔,等等秃励。在檢查系統(tǒng)支持遠程控制的能力之后,我們可以實際檢索數(shù)據(jù)吉捶。下面是一個關于無線電模塊獲取數(shù)據(jù)的例子夺鲜。它也訂閱對無線電數(shù)據(jù)的更新,這將在本指南中稍后討論呐舔。

 GetInteriorVehicleData interiorVehicleData = new GetInteriorVehicleData();
   interiorVehicleData.setModuleType(ModuleType.RADIO);
   interiorVehicleData.setSubscribe(TRUE);
   interiorVehicleData.setOnRPCResponseListener(new OnRPCResponseListener() {
        @Override
        public void onResponse(int correlationId, RPCResponse response) {
            GetInteriorVehicleData getResponse = (GetInteriorVehicleData) response;
            //This can now be used to retrieve data
        }
    });
 
   proxy.sendRPCRequest(interiorVehicleData);

SETTING DATA

當然币励,設置這些模塊的能力是遠程控制的重點。設置數(shù)據(jù)與獲取數(shù)據(jù)類似珊拼。下面是一個設置ClimateControlData的例子食呻。

Temperature temp = new Temperature();
    temp.setUnit(TemperatureUnit.FAHRENHEIT);
    temp.setValue((float) 74.1);
 
    ClimateControlData climateControlData = new ClimateControlData();
    climateControlData.setAcEnable(TRUE);
    climateControlData.setAcMaxEnable(TRUE);
    climateControlData.setAutoModeEnable(FALSE);
    climateControlData.setCirculateAirEnable(TRUE);
    climateControlData.setCurrentTemperature(temp);
    climateControlData.setDefrostZone(DefrostZone.FRONT);
    climateControlData.setDualModeEnable(TRUE);
    climateControlData.setFanSpeed(2);
    climateControlData.setVentilationMode(VentilationMode.BOTH);
    climateControlData.setDesiredTemperature(temp);
 
    ModuleData moduleData = new ModuleData();
    moduleData.setModuleType(ModuleType.CLIMATE);
    moduleData.setClimateControlData(climateControlData);
 
    SetInteriorVehicleData setInteriorVehicleData = new SetInteriorVehicleData();
    setInteriorVehicleData.setModuleData(moduleData);
 
    proxy.sendRPCRequest(setInteriorVehicleData);

BUTTON PRESSES

遠程控制的另一個獨特之處是能夠?qū)⒛M的按鈕按到相關的模塊上,模仿硬件本身的按鈕澎现。

 ButtonPress buttonPress = new ButtonPress();
    buttonPress.setModuleType(ModuleType.RADIO);
    buttonPress.setButtonName(ButtonName.EJECT);
    buttonPress.setButtonPressMode(ButtonPressMode.SHORT);
 
    proxy.sendRPCRequest(buttonPress);

SUBSCRIBING TO CHANGES 訂閱改變

還可以訂閱與支持模塊相關的數(shù)據(jù)的更改仅胞。要做到這一點,在獲取數(shù)據(jù)的過程中昔头,只需添加setSubscribe(Boolean)
若要取消訂閱饼问,請將該請求再次發(fā)送到False。設置訂閱的代碼示例在上面的GET示例中揭斧。
對訂閱的響應將以通知的形式出現(xiàn)。您可以通過提供給SdlProxyALM對象的IProxyListenerALM接收此通知;當接收到RPC時峻堰,將調(diào)用ononinteriorvehicle數(shù)據(jù)的方法讹开。
USING IPROXYLISTENERALM

 @Override
    public void onOnInteriorVehicleData(OnInteriorVehicleData response) {
        //Perform action based on notification
    }

SETTING NOTIFICATION LISTENER

  proxy.addOnRPCNotificationListener(FunctionID.ON_INTERIOR_VEHICLE_DATA, new OnRPCNotificationListener() {
         @Override
         public void onNotified(RPCNotification notification) {
             OnInteriorVehicleData onInteriorVehicleData = (OnInteriorVehicleData)notification;
             //Perform action based on notification
         }
    });
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市捐名,隨后出現(xiàn)的幾起案子旦万,更是在濱河造成了極大的恐慌,老刑警劉巖镶蹋,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件成艘,死亡現(xiàn)場離奇詭異赏半,居然都是意外死亡,警方通過查閱死者的電腦和手機淆两,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門断箫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秋冰,你說我怎么就攤上這事仲义。” “怎么了剑勾?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵埃撵,是天一觀的道長。 經(jīng)常有香客問我虽另,道長暂刘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任捂刺,我火速辦了婚禮谣拣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叠萍。我一直安慰自己芝发,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布苛谷。 她就那樣靜靜地躺著辅鲸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腹殿。 梳的紋絲不亂的頭發(fā)上独悴,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音锣尉,去河邊找鬼刻炒。 笑死,一個胖子當著我的面吹牛自沧,可吹牛的內(nèi)容都是我干的坟奥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼拇厢,長吁一口氣:“原來是場噩夢啊……” “哼爱谁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起孝偎,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤访敌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后衣盾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寺旺,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡爷抓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阻塑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蓝撇。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖叮姑,靈堂內(nèi)的尸體忽然破棺而出唉地,到底是詐尸還是另有隱情,我是刑警寧澤传透,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布耘沼,位于F島的核電站,受9級特大地震影響朱盐,放射性物質(zhì)發(fā)生泄漏群嗤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一兵琳、第九天 我趴在偏房一處隱蔽的房頂上張望狂秘。 院中可真熱鬧,春花似錦躯肌、人聲如沸者春。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钱烟。三九已至,卻和暖如春嫡丙,著一層夾襖步出監(jiān)牢的瞬間拴袭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工曙博, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拥刻,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓父泳,卻偏偏與公主長得像般哼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惠窄,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,007評論 6 13
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,304評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理逝她,服務發(fā)現(xiàn),斷路器睬捶,智...
    卡卡羅2017閱讀 134,707評論 18 139
  • 楊老板到訪,hb興奮一天近刘,待客熱情的很擒贸,干杯臀晃,給吃的,讓坐板凳介劫,讓人抱抱徽惋,不吝嗇自己的東西,一直精神都很好座韵,陪吃飯...
    ebf8bf373fdf閱讀 166評論 0 0
  • /小雨文圖 眼睛誉碴,溫柔拂過 笑容宦棺,爬上眉梢 陽光,漫過心上 所有的歡愉 只是因為 我在轉(zhuǎn)身的瞬間 多看了你一眼
    小雨飄飄閱讀 257評論 4 6