2

トースト メッセージを傍受してカスタム ビューに表示するアプリを開発しています。

傍受部分は、 を使用して簡単に実装できますAccessibilityService

トリッキーな部分は、トースト メッセージが表示されないようにする (または、少なくとも非表示にする) 方法です。これが通常の状況では不可能であることは (私の理解の範囲内で) 承知しています。

しかし、トーストの表示を抑制したり、非表示にしたりするためのハックを知っている人はいますか?

root権限で可能でしょうか?

注:私はプログラミングに比較的慣れていません。それにもかかわらず、Toast.java の Android ソース コード (リンク) を確認しました。show()メソッドまたはその他の関連するメソッド を傍受して、それらが表示されないようにすることは可能でしょうか(おそらく root 権限で)。

4

1 に答える 1

1

ここのDianne Hackborn によると、それはできません。はい、投稿が 4 年以上前のものであることは認識していますが、SDK でそれを克服するものは何も見ていません。

はい、アクセシビリティ サービスを使用してトーストを検出できますが、それは、TTS のように、トーストを停止するのではなく、さらに何かを実行できるようにするためだけです。

できれば悪い日です。たとえば、デスクトップにショートカットを貼り付ける迷惑アプリです。SuperUser を必要とするルート アプリ。どちらの場合も、通常とは異なることが起こっていることを知らせるトーストが表示されます。それは良いことです。トーストを抑制しているアプリを見つけたら、すぐに消えてしまいます.


道徳的な問題は別として、OS ソースを変更して独自にコンパイルした場合にこれを行うことができますが、その特定の ROM がインストールされているユーザーに対してのみ機能します。

別のオプションとして、代わりに独自のトーストを作成してみましたか? カスタムを与えることができ、タイミングが合えば、通常のView直後に表示されます。すると重なり、最初のものが見えなくなります。どこまで実現可能かはわかりませんが、あくまでも目安です。

于 2013-08-05T18:05:14.093 に答える