通過 Tasker 實(shí)現(xiàn)「wm overscan」命令 [No Root]

Overscan 概念

Overscan(過掃描)是一種獨(dú)特的調(diào)整畫面顯示效果的方法颗祝,常見于老式電視機(jī)习寸。它是通過裁剪畫面外邊緣的方式寂曹,將所需顯示的內(nèi)容填滿整個(gè)電視屏幕爱态,以達(dá)到全屏顯示的要求。

Android 的 Overscan

如今的電視大多是基于 Android 系統(tǒng)的智能電視蜡励,因此 Google 也提供了與 Overscan 相關(guān)的 API令花,讓開發(fā)者可以通過 Overscan 值的設(shè)置,使得所開發(fā)的應(yīng)用在不同的電視上都能以最佳的顯示效果呈現(xiàn)給用戶巍虫。


界面布局彭则,來源:http://blog.csdn.net/longyc2010/article/details/41599209

Android 可通過 wm 工具中的 wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM] 命令設(shè)置用于顯示的 Overscan 區(qū)域鳍刷,例如執(zhí)行 wm overscan 50,50,50,50 命令后占遥,會(huì)將顯示界面往里縮小 50像素;若將 50 改為 -50输瓜,則顯示界面會(huì)往外擴(kuò)大 50 像素瓦胎。

Tasker 實(shí)現(xiàn) wm overscan 命令的原理

通過反射的方式調(diào)用 wm 工具中的 setOverscan 方法

Tasker 項(xiàng)目說明

Overscan

- 任務(wù)

  • *setOverscan

    主任務(wù),用于設(shè)置 Overscan
    
    參數(shù) 1:
      顯示邊緣距離屏幕邊緣的左側(cè)尤揣、上側(cè)搔啊、右側(cè)、下側(cè)的 4 個(gè)參數(shù)北戏,
      它們之間必須以英文逗號(hào)進(jìn)行分隔负芋,如 0,0,0,-100
    
  • *$setOverscan@1

    通過授予 WRITE_SECURE_SETTINGS 權(quán)限的方式設(shè)置 Overscan
    
    參數(shù) 1:
      同任務(wù) *setOverscan
    
    返回:
      若設(shè)置成功,返回 true
      若設(shè)置不成功嗜愈,則顯示錯(cuò)誤信息旧蛾,且不返回任何值
    
  • *$setOverscan@2

    通過 Root 的方式設(shè)置 Overscan
    
    參數(shù) 1:
      同任務(wù) *setOverscan
    
    返回:
      同任務(wù) *$setOverscan@1
    
  • setOverscanSettingMode

    設(shè)置當(dāng)前可用的 Overscan 設(shè)置方式
    
    有以下 2 種方式
      方式 1:WRITE_SECURE_SETTINGS 權(quán)限
      方式 2:Root
    
    若這 2 種方式都可用莽龟,則優(yōu)先使用方式 1,
    若想改用方式 2锨天,可手動(dòng)將全局變量 %OVERSCAN_SETTING_MODE 設(shè)置為 2
    
    若任一方式都不可用毯盈,將顯示錯(cuò)誤信息
    
  • $getOverscan

    獲取當(dāng)前 Overscan 值
    
    返回:
      當(dāng)前 Overscan 值,如 0,0,0,-100
    

- 全局變量

  • %OVERSCAN_SETTING_MODE

    任務(wù) *setOverscan 會(huì)根據(jù)該值調(diào)用設(shè)置 Overscan 的方式
      1: WRITE_SECURE_SETTINGS 權(quán)限
      2: Root
    
    若沒有值病袄,則表示當(dāng)前沒有可用的 Overscan 設(shè)置方式
    
OverscanDemo

Overscan 的使用例子搂赋,僅供參考

- 任務(wù)

  • demo@Shrink Overscan

    縮小 Overscan 區(qū)域的例子
    
  • demo@Expand Overscan

    擴(kuò)大 Overscan 區(qū)域的例子
    
  • demo@Reset Overscan

    重置 Overscan 區(qū)域的例子
    

使用方法

注:對(duì)于 No Root 的設(shè)備,其所安裝的 Tasker 必須為 5.2 及以上版本益缠,并使用 ADB 命令授予 WRITE_SECURE_SETTINGS 權(quán)限

  1. 下載并導(dǎo)入所需的 Tasker 項(xiàng)目(Project)
  2. 通過 執(zhí)行任務(wù)(Perform Task) 動(dòng)作運(yùn)行 *setOverscan 任務(wù)(所傳入的參數(shù) 1 為要設(shè)置的 Overscan 值)

下載

注:需導(dǎo)入以下所有帶星號(hào)的項(xiàng)目(非星號(hào)項(xiàng)目可按需導(dǎo)入)

參考資料

  1. Overscan - Wikipedia
  2. Build layouts for TV | Android Developers
  3. Kitkat小屏幕模式單手操作研究之wm命令的實(shí)現(xiàn)方式分析

更新日志

  • 1/23/2019
    - 發(fā)布

原創(chuàng)內(nèi)容脑奠,轉(zhuǎn)載請(qǐng)注明出處

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市左刽,隨后出現(xiàn)的幾起案子捺信,更是在濱河造成了極大的恐慌,老刑警劉巖欠痴,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迄靠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡喇辽,警方通過查閱死者的電腦和手機(jī)掌挚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菩咨,“玉大人吠式,你說我怎么就攤上這事〕槊祝” “怎么了特占?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)云茸。 經(jīng)常有香客問我是目,道長(zhǎng),這世上最難降的妖魔是什么标捺? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任懊纳,我火速辦了婚禮,結(jié)果婚禮上亡容,老公的妹妹穿的比我還像新娘嗤疯。我一直安慰自己,他們只是感情好闺兢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布茂缚。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脚囊。 梳的紋絲不亂的頭發(fā)上帖汞,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音凑术,去河邊找鬼翩蘸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛淮逊,可吹牛的內(nèi)容都是我干的催首。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼泄鹏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼郎任!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起备籽,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤舶治,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后车猬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霉猛,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年珠闰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了惜浅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伏嗜,死狀恐怖坛悉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情承绸,我是刑警寧澤裸影,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站军熏,受9級(jí)特大地震影響轩猩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜羞迷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一界轩、第九天 我趴在偏房一處隱蔽的房頂上張望画饥。 院中可真熱鬧衔瓮,春花似錦、人聲如沸抖甘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至薇宠,卻和暖如春偷办,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背澄港。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工椒涯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人回梧。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓废岂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親狱意。 傳聞我的和親對(duì)象是個(gè)殘疾皇子湖苞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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