共有メニュー追加2017/06/13

Androidカメラアプリ

に、画像の共有機能を追加しました。

撮った画像や動画を、すぐにTwitterに投稿したりメールに添付したりすることができます。


共有メニュー

「静止画キャプチャ」「動画キャプチャ」後の確認画面、タイトルバーに共有ボタン(共有メニューボタン)が追加されています。

共有メニュー

ボタンを押すと共有先のメニューが現れます。端末にインストールされているアプリによってメニューの内容は変わります。

Twitter共有

例えば Twitterを選択すると、このように投稿画面に遷移します。
ここからそのまま画像を Twitterに投稿することができます。

撮った画像の共有はアルバム等、別アプリで行えば良いと思っていましたが、調べてみたらそう難しいものではなかったので機能を追加してみました。


ということで、アプリに共有機能を追加する手順をごく簡単に挙げてみます。
詳しくはここにあるキーワードで検索して、ちゃんと解説しているサイトをご覧ください。

・共有メニュー
リソースにメニューを追加して、onCreateOptionsMenu()で設定します。
任意のタイミングで共有ボタンを追加・削除するときは invalidateOptionsMenu()を呼びます。

・共有データ
画像や動画を共有する場合 Intentにそのファイルの Urlを設定しますが、Android7.0からセキュリティの強化でちょっと準備が必要になりました。
 共有ディレクトリをリソースで指定
 AndroidManifest.xmlで FileProviderタグを追加
 FileProvider.getUriForFileで Urlを取得
という手順になります。