ルート権限を取得しているがXposedを使用したくない場合は、Androidのネイティブインテントファイアウォールを使用して直接共有をブロックできます。これはAndroid 6.0から8.1まで機能します。
以前にここで答えたように:
マシュマロの共有パネルから連絡先(別名「直接共有」)を削除する
根ざした人々のために-直接共有を完全にオフにする方法があることがわかりました!
この愚かな機能が私を悩ませないようにする方法を探していたとき、開発者がアプリでこの機能を実際にどのように実装しているかを調べました。彼らはインテントレシーバー(読み取り:イベントリスナー)にサービスを登録していることに気付き、そのことに気付いたとき、私は特定のインテントがシステムを通じてブロードキャストされないようにする方法を探し始めました。そうですね、Androidには実際にそれが組み込まれています。これはIntent Firewallと呼ばれています。アプリが受信できないようにするためのルールを作成する方法をすぐにわかりました。 -イベント。
次のような単純なxmlファイルを作成し、それにドロップします。
<rules>
<service block="true" log="true">
<intent-filter>
<action name="android.service.chooser.ChooserTargetService" />
</intent-filter>
</service>
</rules>
次に、それを電話に置き、Intent Firewallディレクトリにコピーする必要があります。ほとんどのデバイスで
/data/system/ifw/
私は単にルートエクスプローラーを使用してそこにファイルをコピーし(chmodは必要ありません)、直接共有ターゲットをポップアップしてBOOMする原因となる何かを共有しようとしました!何もない!
特にインテントファイアウォールがどのように機能し、どのようにフォルダーを見つけるかについて、バックグラウンドで読むことをお勧めします(上記のリンクを参照)。
共有しないでください。