2015年5月21日 11:00
iOSと似て非なるAndroid開発 (1) 「iOSと同じで」と言われたら? Android版アプリ開発コストの抑え方【前編】
シェア機能
メールやTwitter、Facebookなどでユーザーにシェアしてもらえるように、シェア機能などをつけることがよくあります。
基本的にはIntentのアクションに ACTION_SEND を設定してtextを送る、という方法が一番簡単です。
ただ、端末に多くのアプリをインストールしているユーザーでは、大量の選択肢が出ることがあるので、メール・LINE・Twitterなどのアイコンを配置して、事前にある程度選択肢を狭めておきたいという要望が多くありました。そのなかでちょっとしたハマりポイントがあったので、ここで紹介したいと思います。
まずは、SMS(メッセージ)やメールでのシェアですが、これはIntentの規格が決まっているので、対応するアプリに暗黙的インテントを投げるだけで特に問題なく実装できます。
続いて、LINEなどのメッセージ系アプリにシェアを行う場合ですが、これは特に規格がないので、明示的インテントでパッケージ名を指定することで、ひとまず対応ができると思います。
最後に問題になったのはTwitterでした。Twitterは特に規格が決まっていないのでLINEと同様に公式アプリのパッケージ名で明示的インテントを投げる想定でしたが、ここが問題でした。