ファイルピッカーAPI概要
外部アプリからContentsManager(以下、CMアプリと記載)を起動する際のシーケンスを以下に示します。
外部アプリよりCMアプリは、参照連携(暗黙的/明示的)にてActivity起動(Activity.startActivityForResult)が行われます。
外部アプリから起動されるCMアプリの、Activity起動パラメータは以下の通りです。
アクション (必須:○) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Intent.ACTION_PICK | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
カテゴリ (必須:△) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
クラス指定無し(暗黙)の場合は、Intent.CATEGORY_DEFAULTを、クラス指定あり(明示)の場合は、指定の必要ありません。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MIMEタイプ (必須:△) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
データ (必須:-) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
指定なし | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
クラス (必須:△) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
暗黙的にCMを呼び出す場合は、指定なし、明示的にCMを呼び出す場合には、jp.co.sharp.android.cm を指定してください。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
拡張1(putExtra) (必須:△) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
絞り込み条件(CMにて表示されているコンテンツのクエリー条件) Extraキー《String name》 カテゴリ(種別) jp.co.sharp.android.contentsmanager.EXTRA_KEY_CATEGORY 保存場所 jp.co.sharp.android.contentsmanager.EXTRA_KEY_SAVE_POINT 検索対象文字列 jp.co.sharp.android.contentsmanager.EXTRA_KEY_WORD ソート条件 jp.co.sharp.android.contentsmanager.EXTRA_KEY_SORT_TYPE 選択モード jp.co.sharp.android.contentsmanager.EXTRA_KEY_SELECT_TYPE 設定値《Bundle value》 ArrayList<String> カテゴリ(種別) (指定されたカテゴリパラメータは、CM起動時の選択可能タブです) "0" 1) フォト:指定なし "1" 2) フォト:デジタルカメラ画像(Exifヘッダ有りのJPEGファイルを表示) "2" 3) フォト:絵文字(20x20のgif,jpeg画像を表示) "3" 4) フォト:その他 "4" 5) ムービー:指定なし "5" 6) ムービー:撮影動画(本体またはmicroSDカードの"/movie"以下の動画を表示) "6" 7) ムービー:ダウンロード動画(本体またはmicroSDカードの"/download"以下の動画を表示) "7" 8) ムービー:その他 "8" 9) ミュージック:指定なし "9" 10) ミュージック:ミュージック "10" 11) ミュージック:サウンド "14" 12) ドキュメント:指定なし "15" 13) ドキュメント:Office "16" 14) ドキュメント:PDF "17" 15) ドキュメント:txt "18" 16) その他:指定なし(その他タブは種別指定できません) ※未指定の場合はMimeTypeにそったタブのみを表示するします。MimeTypeが"*/*"の場合は全てのタブを表示します。 ※カテゴリ指定とMIMEタイプ指定が異なっている場合はカテゴリ指定を優先します。未指定の場合は初期値としてフォトを表示します。指定してある場合は最初に指定されたカテゴリのタブを表示します。 ArrayList<String> 保存場所 "0" : 本体 "1" : microSD "2" : プリセットデータ ※未指定の場合はデフォルト:本体+microSDが選択対象となります。 String 検索対象文字列 : 検索文字列 外部アプリより絞り込みを行いたい検索対象文字列を指定 制限事項: 1.最大入力文字数は、100byte(最大文字数100byteを超える場合は切り捨て) 2.文字列内にカンマ(",")等で複数指定は不可 3.基本的な禁則文字は使用不可(下記、例を参照) \ 半角エンマーク / 半角スラッシュ : 半角コロン * 半角アスタリスク ? 半角クエスチョンマーク " 半角ダブルクォーテーション < 半角左アングルかっこ > 半角右アングルかっこ | 半角パイプ 改行コード ; 半角セミコロン , 半角カンマ . 半角ドット 4.絵文字は使用不可 String ソート条件 "4" 1) ファイルサイズ 昇順 "5" 2) ファイルサイズ 降順 "0" 3) 保存日時 昇順 "1" 4) 保存日時 降順 "2" 5) タイトル 昇順 "3" 6) タイトル 降順 ※未指定の場合はデフォルト:4) 保存日時 降順 String 選択モード "0" : 1件選択 "1" : 複数選択 ※未指定の場合はデフォルト:1件選択 ※複数選択モードの場合のチェック可能な上限は100件 |
下記ソースコードは、外部アプリよりCMを起動する際のサンプソースコードです。
上記表の拡張1(putExtra)で設定されるExtraキーの設定値は、CMアプリ画面の下記項目に対応します。
戻り値 | ||
---|---|---|
Activity.setResult(int resultCode, Intent data) | ||
《int resultCode》 | 終了コード Activity.RESULT_OK Activity.RESULT_CANCELED (キャンセル時には、《Intent data》の各パラメータに何も設定されません) |
|
《Intent data》 | 起動先アプリから設定されるIntent(*) |
(*)起動先アプリから設定されるIntent | ||
---|---|---|
項目 | 必須 | 内容 |
データ | ○ | 選択したコンテンツのUri 複数件の場合は、1件目のUriがセットされる。(Androidでの互換性確保の為) content://internal/images/media/[ID] ※ など ※[ID]:ContentsManagerにより選択されたファイルのレコードID 使用方法については、サンプルソースコード("2.5 選択されたコンテンツ(1件)情報の取得")を参照してください。 |
拡張1 (putExtra) |
△ | ファイルパス(選択されたUriのリストを格納したテキストファイル)
選択ファイルが複数件の場合のみファイルパスが設定され、1件の場合ファイルパスは設定されません。 ※本ファイルは、次回CMにて参照連携が行われる際に削除されます Extraキー《String name》 jp.co.sharp.android.contentsmanager.EXTRA_KEY_SELECT_LIST 選択コンテンツのリストファイル 設定値《Bundle value》 String 選択されたUriのリストを格納したテキストファイルのパス ※選択Uriが複数件の場合のみ本ファイルを作成します 使用方法については、サンプルソースコード("2.4 一時ファイルから選択コンテンツ情報の取得")参照してください |
CMアプリで設定されたActivity終了パラメータより、一時ファイル("拡張1")から選択されたコンテンツ情報を取得します。
サンプルコード
CMアプリで設定されたActivity終了パラメータより選択したコンテンツのUri("データ")を取得する。
サンプルコード