分享不再「等半天」,如何禁用 Direct Share 功能 | 一日一技
分享是原生 Android 功能最為強大但同時使用體驗也最為糟糕的一個特性——我們幾乎可以在任何場景下將任何內容以任意方式分享到任意一個已安裝的其他應用當中,但 Android 6.0 開始一項名為 Direct Share 特性的加入,卻壓垮了這個本已承載了太多分享物件的彈出選單。
所以當下 Android 的分享選單是臃腫且反應遲滯的。具體原因 @KennyMacCormick 當初在介紹 Sharedr 這款應用時已經已經講得非常清楚了:Direct Share 就像是一個「臨時抱佛腳」的考生,在我們點選「分享」按鈕的那一刻才開始在支援這一特性的應用中索引快速分享物件。這個索引過程本身耗費效能不說,Android 系統在等待 Direct Share 索引完成的過程中更是暫時禁用了分享選單的點選反饋。
那些常年對 Android 進行定製的 OEM 廠商自然知道分享選單「不跟手」這個問題,如果你是三星或者 LG 使用者,在設定中搜索 分享
這樣的關鍵詞就能找到關閉 Direct Share 這個「罪魁禍首」的開關,非常方便。

華為、OPPO 等廠商,則是直接對分享選單進行了重做,在效能表現並不理性的前提下,暫時放棄了對 Direct Share 特性的支援,分享選單樣式也更加統一。

原生使用者或 OEM 廠商沒有針對分享選單進行優化又該怎麼辦?
如果你的手機還沒有獲取 root 許可權,Sharedr 應該是除了換機或等待 Android Q 推送以外的唯一選擇。

對 root 使用者而言則要好辦多。
首先,我們需要使用任意文字編輯器建立一份 Direct Share 的禁用規則,這一步你可以在電腦端使用 Notepad++ 或在手機端使用 Solid Explorer 這類自帶文字編輯器的檔案管理器完成。規則內容如下:
<rules> <service block="true" log="true"> <intent-filter> <action name="android.service.chooser.ChooserTargetService" /> </intent-filter> </service> </rules>
將以上內容儲存為 .xml
字尾檔案,檔名隨意(但不建議使用英文),我們這裡不妨將它命名為 nodr.xml
。

開啟任意支援 root 檔案管理的檔案管理器,然後將 nodr.xml
放入 /data/system/ifw
這一目錄下。
恭喜,Direct Share 選單就此成功禁用了——我們甚至不用重啟,這裡用到的 /data/system/ifw
目錄源於 Android 4.4 時代就已經埋藏於系統當中的 Intent Firewall 特性,這個特性一直沒有被 Google 官方給予正式的 API 介面,但任何放入 ifw 資料夾的正確規則都會被立即掃描、解析並執行。

當然,我們最近也分享了不少與 Magisk 相關的內容,針對上述禁用 Direct Share 的需求和辦法,Magisk 自然也提供了更為無痛的 Magisk 模組可供使用(下載地址見文末),使用方法可以參考過往文章。
最後祝分享愉快,也期待 Android Q 最終能為我們帶來更好的分享體驗!
關聯閱讀:
參考連結:
> 下載少數派客戶端、關注少數派公眾號,發現更多 Android 玩機技巧 :smiley:
> 特惠、好用的硬體產品,盡在 少數派 sspai 官方店鋪