com.nttdocomo.system
クラス ImageStore

Object
  拡張com.nttdocomo.system.ImageStore

public final class ImageStore
extends Object

携帯電話のネイティブの画像データ管理機能にアクセスする手段を提供します。 このクラスのインスタンスは、 携帯電話のネイティブの画像データの 1 つのエントリを表します。

このクラスに定義されているクラスメソッドの使い方や、 ネイティブのデータへのアクセス方法に関する規定の大原則は com.nttdocomo.system パッケージの記述を参照して下さい。

画像データのエントリからは、エントリ ID を取得することが出来るほか、 画像をメディアイメージオブジェクトとして取り出したり、 画像のファイルイメージを取り出すための InputStream を取得することができます。 また、得られたエントリ ID を PhoneSystem.setImageTheme(int, int) メソッドの引数に指定することにより、 そのエントリの画像を待ち受け画像などに設定することができます。

[DoJa-3.0 (506i) 以降、ただし DoJa-3.5 (900i) を除く] addEntry(MediaImage image , boolean exclusive)exclusive 引数に true を指定して(「独占する」と指定して)画像データを登録することで、 この(addEntry() を呼び出した)アプリケーション以外からの当該画像へ操作を禁止することができます。
加えて、exclusive 引数は、 画像保存時における再配布不可識別子の設定/削除の意味も持ち合わせています。
詳細は、addEntry(MediaImage, boolean) の説明を参照して下さい。

導入されたバージョン:
DoJa-3.0 (505i)

メソッドの概要
static int addEntry(MediaImage image)
           ユーザ操作により画像データを新規登録します。
static int[] addEntry(MediaImage[] images) [iアプリオプションAPI]
           ユーザ操作により複数の画像データを新規登録します。
static int addEntry(MediaImage image, boolean exclusive)
           ユーザ操作により画像データを新規登録します。
static ImageStore getEntry(int id)
          画像データのエントリを取得します。
static int[] getEntryIds(int folderId)
          画像データのエントリ ID のリストを取得します。
 int getId()
          画像データのエントリIDを取得します。
 MediaImage getImage()
          画像データのエントリのイメージをメディアイメージとして取得します。
 java.io.InputStream getInputStream()
          画像データのエントリのイメージをファイルイメージとして取り出すための 入力ストリームを取得します。
static ImageStore selectEntry()
          ユーザ操作により画像データのエントリを取得します。
static int selectEntryId() [iアプリオプションAPI]
          ユーザ操作により画像データのエントリIDを取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

selectEntry

public static ImageStore selectEntry()
                              throws InterruptedOperationException
ユーザ操作により画像データのエントリを取得します。

ADFにAccessUserInfoキーの指定が必要です。 上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.nttdocomo.system パッケージに記述されている 「エントリ取得時の振る舞い」の説明を参照して下さい。

[DoJa-4.1 (902i、902iS)、DoJa-5.0 (903i、904i)]
このメソッドによりベクターグラフィクスを取得することはできません。

[DoJa-5.1 (905i) 以降]
端末によっては、このメソッドによりベクターグラフィックスを取得できます。

戻り値:
取得した画像データのエントリを返します。 ユーザが選択操作をキャンセルするとnullを返します。 また、選択可能なエントリが存在しない場合にもnullを返します。
例外:
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
SecurityException - ADFにAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリを取得できない場合に発生します。
UIException - [DoJa-4.1 (902i) 以降] リソース不足により画像データを取得できなかった場合に発生します (NO_RESOURCES)。
InterruptedOperationException - 競合条件などにより、選択操作が異常終了した場合に発生します。

selectEntryId

public static int selectEntryId()
                         throws InterruptedOperationException [iアプリオプションAPI]
ユーザ操作により画像データのエントリIDを取得します。

このメソッドで得られたエントリ ID を PhoneSystem.setImageTheme(int, int) メソッドの引数に指定することにより、 そのエントリの画像を待ち受け画像などに設定することができます。

パーミッションとしてテーマ設定が許可されているトラステッドiアプリのみ このメソッドを呼び出すことができます。 上記以外の動作の詳細については、 com.nttdocomo.system パッケージに記述されている説明を参照してください。

端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

戻り値:
取得した画像データのエントリIDを返します。 ユーザが選択操作をキャンセルすると -1 を返します。 また、選択可能なエントリが存在しない場合にも -1 を返します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリIDを取得できない場合に発生します。
InterruptedOperationException - 競合条件などにより、選択操作が異常終了した場合に発生します。
導入されたバージョン:
DoJa-4.1 (902i)

getEntry

public static ImageStore getEntry(int id)
                           throws StoreException
画像データのエントリを取得します。

ADFにAccessUserInfoキーの指定が必要です。 上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.nttdocomo.system パッケージに記述されている 「エントリ取得時の振る舞い」の説明を参照して下さい。

[DoJa-4.1 (902i、902iS)、DoJa-5.0 (903i、904i)]
このメソッドによりベクターグラフィクスを取得することはできません。

[DoJa-5.1 (905i) 以降]
端末によっては、このメソッドによりベクターグラフィックスを取得できます。

パラメータ:
id - 取得する画像データのエントリIDを指定します。
戻り値:
取得した画像データのエントリを返します。
例外:
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
SecurityException - ADFにAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリを取得できない場合に発生します。
[DoJa-3.5 (900i) のみ] UIM内情報を用いた実行制限がかけられている場合や、 画像データに再配布不可識別子が設定されている場合も含みます。
[DoJa-3.5 (900iC) 以降] 以下の場合も含みます。
  • UIM 内情報を用いた実行制限がかけられている場合
  • 指定された ID の画像が、 このアプリケーション自身が保存したものではなく、 かつ、その画像データに再配布不可識別子が設定されている場合
StoreException - 指定された ID の画像エントリが存在しない場合に発生します(NOT_FOUND)。
[DoJa-4.1 (902i、902iS)、DoJa-5.0 (903i、904i)] 指定された ID の画像が ベクターグラフィックスであった場合にも発生します。
[DoJa-5.1 (905i) 以降] ベクターグラフィックスの取得をサポートしていない端末において、 指定された ID の画像が ベクターグラフィックスであった場合にも発生します。
UIException - [DoJa-4.1 (902i) 以降] リソース不足により画像データを取得できなかった場合に発生します (NO_RESOURCES)。

getEntryIds

public static int[] getEntryIds(int folderId)
                         throws StoreException
画像データのエントリ ID のリストを取得します。

ユーザの選択によらず、 フォルダのエントリ ID を引数 folderId に指定して、 フォルダ直下にある画像データのエントリ ID のリストを取得します。 なお、アプリケーションがサスペンドすることなく、エントリ ID のリストを取得できます。

フォルダのエントリ ID は DataBoxFolder クラスのメソッドにより取得することができます。 引数で指定したエントリ ID のフォルダが、 データ BOX フォルダ配下のマイピクチャフォルダ直下に存在しない場合に例