Android 6.0で、StickyBoroadcastがDeprecatedになりました。2回目

A+ a-

タオソフトウェア株式会社のブログの方で、昨年「Sticky broadcastsがロリポップで非推奨になりました」というブログを書いたのですが、Android 6.0でもSticky broadcastが非推奨になりました。

何を言っているのかわからないですが....

ContentWrapperのドキュメントを見てたら、StickyBroadcast系の以下のメソッドの記載を見つけてしまいました。
  • removeStickyBroadcast 
  • removeStickyBroadcastAsUser 
  • sendStickyBroadcast 
  • sendStickyBroadcastAsUser 
  • sendStickyOrderedBroadcast 
  • sendStickyOrderedBroadcastAsUser



public void removeStickyBroadcast (Intent intent)

Added in API level 1
This method was deprecated in API level 23.
Sticky broadcasts should not be used. They provide no security (anyone can access them), no protection (anyone can modify them), and many other problems. The recommended pattern is to use a non-sticky broadcast to report that something has changed, with another mechanism for apps to retrieve the current value whenever desired.

スティッキーブロードキャストは使用すべきではありません。
スティッキーブロードキャストは、何の保証(誰もがアクセスできます)、何の保護(誰もが変更する事が出来る)もされていません。また多くのその他の問題があります。
何かが変更したことを報告するためには、ノンスティッキーブロードキャストを使用するのをお勧めします。

 あれ?ロリポップで非推奨だったのでは?と思いContextクラスを見てみたら、

public abstract void removeStickyBroadcast (Intent intent)

Added in API level 1
This method was deprecated in API level 21.
Sticky broadcasts should not be used. They provide no security (anyone can access them), no protection (anyone can modify them), and many other problems. The recommended pattern is to use a non-sticky broadcast to report that something has changed, with another mechanism for apps to retrieve the current value whenever desired.
という記載があり最初の一行以外完全一致です。
公式見解では、ContextのStickyBroadcastは、API level21で非推奨、ContextWapperクラスのStickyBroadcastは、API level 23で非推奨になりました。注意してくださいというか、注意することなく、普通にスティッキーブロードキャスト使うの辞めましょう(誰も使ってない気がしますが...)

宣伝他

非常に下らないネタですみません。
只気が付いてしまったので、書きたくなりました。
ちなみに、RiskFinderでは、アプリケーションのスティッキーブロードキャストの使用検知も行います。(只、今回のようなおかしな所があると、検知した時のメッセージとかどうしようか迷うのでやめてください)


がく

がく

リスクファインダーはAndroidアプリのセキュリティホールを見つけます!

Androidスマートフォンが急速に普及するとともにアプリの脆弱性報告も急増しています。
リスクファインダーは、Androidアプリの脆弱性診断WEBサービスです。
500項目以上のチェックでアプリの脆弱性や問題を検出し、セキュアなアプリ開発をサポートします。

  • ブラウザでファイルをアップロードするだけ
  • アプリの脆弱性を指摘するだけでなく対処方法も提示
  • 頻繁にバージョンアップするAndroidの最新情報に素早く対応

リスクファインダーの詳細はこちら