com.docomostar
クラス StarApplicationManager

Object
  拡張com.docomostar.StarApplicationManager

public final class StarApplicationManager
extends Object

JAM を表すクラスです。 原則として JAM とやりとりするメソッドが定義されています。 ただし、アプリケーションライフサイクルに関するメソッドや、 リスナ登録に関するメソッドなど、 アプリケーション基底として最低限必要なメソッドについては StarApplication に定義されています。

このクラスのインスタンスを取得するには、 StarApplication.getStarApplicationManager() を呼び出してください。

導入されたバージョン:
Star-1.0
関連項目:
StarApplication.getStarApplicationManager()

フィールドの概要
static int SUSPEND_BY_NATIVE
          サスペンドの理由を表す属性の一つで、 アプリケーション以外からの割り込みによりサスペンドされたことを表します(=1)。
static int SUSPEND_BY_STARAPPLI
          サスペンドの理由を表す属性の一つで、 アプリケーションからのメソッド呼び出しを契機としてサスペンドされたことを表します(=2)。
static int SUSPEND_CALL_IN
          サスペンド理由やサスペンド中の事象を表す属性の一つで、 着信履歴に残る着信があったことを表します(=0x0400)。
static int SUSPEND_CALL_OUT
          サスペンド理由やサスペンド中の事象を表す属性の一つで、 発信履歴に残る発信があったことを表します(=0x0200)。
static int SUSPEND_MAIL_RECEIVE
           サスペンド理由やサスペンド中の事象を表す属性の一つで、 着信記録が残るメール着信 (SMS 着信や CBS メッセージ着信も含みます) があったことを表します(=0x1000)。
static int SUSPEND_MAIL_SEND
          サスペンド理由やサスペンド中の事象を表す属性の一つで、 発信記録が残るメール発信 (SMS 発信も含みます) があったことを表します(=0x0800)。
static int SUSPEND_MESSAGE_RECEIVE
          サスペンド理由やサスペンド中の事象を表す属性の一つで、 着信記録が残るメッセージ(リクエスト、フリー)着信があったことを表します(=0x2000)。
static int SUSPEND_MULTITASK_APPLICATION
           サスペンド中の事象を表す属性の一つで、 マルチタスク機能によって他のアプリケーションに切り替えられたことを表します(=0x8000)。
static int SUSPEND_PACKETIN
          サスペンド理由やサスペンド中の事象を表す属性の一つで、 パケット着信(プッシュ)があったことを表します(=0x0100)。
static int SUSPEND_SCHEDULE_NOTIFY
          サスペンド理由やサスペンド中の事象を表す属性の一つで、 スケジューラからの通知があったことを表します(=0x4000)。
 
メソッドの概要
 void clearMoved() [iアプリオプションAPI]
           このアプリケーションが端末外部から移されたことを示す情報に false を設定します。
static String[] getArgs()
           アプリケーションの起動パラメータを取得します。
 ScheduleDate getLaunchTime(int index)
           このアプリケーションの自動起動時刻を取得します。
static String getParameter(String key)
           ブラウザなどのネイティブアプリケーションまたはStar アプリから起動された場合の パラメータを取得します。
 StarEventObject getPushedEvent(int starEvent)
           直近の Terminated 状態下に、 このアプリケーションに対して発生していたイベントのパラメータを取得します。
static String getSourceURL()
          アプリケーションがダウンロードされた元の URL を取得します。
 int getSuspendInfo()
           直前のサスペンドの理由およびそのサスペンド中に起こった事象を取得します。
 boolean isMoved() [iアプリオプションAPI]
           このアプリケーションが端末外部から移されたかどうかを調べます。
 boolean isMovedFromOtherTerminal() [iアプリオプションAPI]
           このアプリケーションの移動で、 移動先と移動元の端末が異なるかどうかを調べます。
 void setLaunchTime(int index, ScheduleDate date)
           このアプリケーションの自動起動時刻を設定します。
 void upgrade()
          JAM を起動して実行中のアプリケーションの自動バージョンアップを行います。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

SUSPEND_BY_NATIVE

public static final int SUSPEND_BY_NATIVE
サスペンドの理由を表す属性の一つで、 アプリケーション以外からの割り込みによりサスペンドされたことを表します(=1)。

関連項目:
StarApplication.activated(int), 定数フィールド値

SUSPEND_BY_STARAPPLI

public static final int SUSPEND_BY_STARAPPLI
サスペンドの理由を表す属性の一つで、 アプリケーションからのメソッド呼び出しを契機としてサスペンドされたことを表します(=2)。

関連項目:
StarApplication.activated(int), 定数フィールド値

SUSPEND_PACKETIN

public static final int SUSPEND_PACKETIN
サスペンド理由やサスペンド中の事象を表す属性の一つで、 パケット着信(プッシュ)があったことを表します(=0x0100)。
サスペンドの契機となったパケット着信も含みます。 すなわち、 パケット着信後にメールやメッセージ(R,F)を受信するためにサスペンドする場合がありますが、 どちらの場合でもサスペンドが発生すると、 getSuspendInfo()の戻り値には SUSPEND_PACKETIN が設定されています。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_CALL_OUT

public static final int SUSPEND_CALL_OUT
サスペンド理由やサスペンド中の事象を表す属性の一つで、 発信履歴に残る発信があったことを表します(=0x0200)。

ここでいう発信履歴に残る発信とは、以下の発信種別が該当します。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_CALL_IN

public static final int SUSPEND_CALL_IN
サスペンド理由やサスペンド中の事象を表す属性の一つで、 着信履歴に残る着信があったことを表します(=0x0400)。

ここでいう着信履歴に残る着信とは、以下の着信種別が該当します。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_MAIL_SEND

public static final int SUSPEND_MAIL_SEND
サスペンド理由やサスペンド中の事象を表す属性の一つで、 発信記録が残るメール発信 (SMS 発信も含みます) があったことを表します(=0x0800)。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_MAIL_RECEIVE

public static final int SUSPEND_MAIL_RECEIVE

サスペンド理由やサスペンド中の事象を表す属性の一つで、 着信記録が残るメール着信 (SMS 着信や CBS メッセージ着信も含みます) があったことを表します(=0x1000)。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_MESSAGE_RECEIVE

public static final int SUSPEND_MESSAGE_RECEIVE
サスペンド理由やサスペンド中の事象を表す属性の一つで、 着信記録が残るメッセージ(リクエスト、フリー)着信があったことを表します(=0x2000)。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_SCHEDULE_NOTIFY

public static final int SUSPEND_SCHEDULE_NOTIFY
サスペンド理由やサスペンド中の事象を表す属性の一つで、 スケジューラからの通知があったことを表します(=0x4000)。
アラームからの通知を含みます。

関連項目:
getSuspendInfo(), 定数フィールド値

SUSPEND_MULTITASK_APPLICATION

public static final int SUSPEND_MULTITASK_APPLICATION

サスペンド中の事象を表す属性の一つで、 マルチタスク機能によって他のアプリケーションに切り替えられたことを表します(=0x8000)。
マルチタスク機能を搭載している端末でのみ使用されます。

ミニアプリにおいては、Widget View が非表示状態(待ち受け画面)に遷移した場合にも、 このフラグがセットされます。

関連項目:
getSuspendInfo(), 定数フィールド値
メソッドの詳細

isMoved

public boolean isMoved() [iアプリオプションAPI]

このアプリケーションが端末外部から移されたかどうかを調べます。

本メソッドは、 このアプリケーションがメディア等により端末外部から移されたことを示す情報 (以下、移動情報) の値を返します。

このアプリケーションが移されたタイミングで移動情報に true が設定されます。 また、アプリケーションプログラマが clearMoved() を呼び出すと移動情報に false が設定されます。 アプリケーションの終了や、 端末の電源オフによって移動情報が変更されることはありません。 移動情報を false から true とするには、 再び外部から端末にこのアプリケーションを移さなければなりません。

本メソッドと clearMoved() をアプリケーションプログラマが用いることで、 アプリケーションが移された直後に任意の処理を行うことができます。 なお、このアプリケーションの移動で移動先と移動元の端末が異なるかどうかの判定が必要である場合には、 isMovedFromOtherTerminal() を参照して下さい。

端末によっては、外部メモリへの Star アプリケーション移動の操作をサポートしていない場合があります。 その場合、このメソッドは false を返します。

戻り値:
このアプリケーションがメディア等により端末外部から移された場合は true を返します。 このアプリケーションが clearMoved() を呼び出した場合、 または、ダウンロードされてから端末外部に移されていない場合は false を返します。
関連項目:
clearMoved(), isMovedFromOtherTerminal()

clearMoved

public void clearMoved() [iアプリオプションAPI]

このアプリケーションが端末外部から移されたことを示す情報に false を設定します。

設定した値の詳細については isMoved() を参照して下さい。

端末によっては、外部メモリへの Star アプリケーション移動の操作をサポートしていない場合があります。 その場合、このメソッドの呼び出しは無視されます。

関連項目:
isMoved()

isMovedFromOtherTerminal

public boolean isMovedFromOtherTerminal() [iアプリオプションAPI]

このアプリケーションの移動で、 移動先と移動元の端末が異なるかどうかを調べます。

このアプリケーションが端末外部から移された場合に、 移動先と移動元の端末が異なるかどうかを判定します。

移動元の端末とは、次の全ての条件を満たす端末です。

なお、条件を満す端末がない場合、 移動元の端末は、バージョンアップではなく、 一番最初にこのアプリケーションをダウンロードした端末とします。 このアプリケーションで clearMoved() を呼び出さないで、 このアプリケーションを一時的に置いただけの端末は、 移動元の端末とはみなされません。

また、移動先の端末とは、このアプリケーションを実行している端末です。

このアプリケーションが端末外部から移されたかどうかの判定については、 isMoved() を参照して下さい。

端末によっては、外部メモリへの Star アプリケーション移動の操作をサポートしていない場合があります。 その場合、このメソッドは false を返します。

戻り値:
移動先と移動元の端末が異なる場合に true を、 そうでない場合には false を返します。
関連項目:
isMoved()

setLaunchTime

public void setLaunchTime(int index,
                          ScheduleDate date)

このアプリケーションの自動起動時刻を設定します。 「1回限り」 「毎日」 「毎週」 (オプションで 「毎月」 「毎年」)の起動時刻を設定できます。 Star アプリメニューから設定できる起動時刻や ADFのLaunchAtキーで指定される起動時刻とは無関係です。

このメソッドでは、引数 date の情報のうち、 日時指定タイプと期間の集合、 および開始時刻のみが解釈されます。 終了時刻と 繰り返し回数に設定されている内容は無視されます。
また、開始時刻に設定されている日時は、 ローカルタイムゾーン下で再評価された上でネイティブのスケジュール機能に渡されます。 例えば、ローカルタイムゾーンが JST (+0900) である環境下では、 引数 date の開始時刻に 10:00 (+0000) が格納されていた場合、 19:00 がネイティブのスケジュール機能に渡されます。

引数 date に null を指定すると、スケジュールを削除します。 また、すでにスケジュールが設定されているスケジュール番号を指定した場合、 スケジュールは上書きされます。 自動起動がおこなわれても設定したスケジュールの内容は削除されません。 アプリケーションがバージョンアップされると、 このメソッドで設定した起動時刻の設定はすべて削除されます。

自動起動の試みは起動の成否にかかわらず、 次の起動予定時刻に対して1回しか行われません。 次の起動予定時刻を過ぎた端末の時計を起動予定時刻前に戻しても、 すでに実装により自動起動の試みが行われた場合 (電源オフ中に自動起動が失敗していると判断済みの場合も含む)には、 起動予定時刻になっても自動起動は行われません。 これは「1回限り」の起動でも繰り返し起動でも同じです。

パーミッションとしてiアプリ自動起動APIの利用が許可されている トラステッドStar アプリケーションのみ、このメソッドを呼び出すことができます。

ミニマムスペックでは、自動起動時刻の設定は、 「1回限り」「毎日」「毎週」の日時指定タイプを指定できます。 「毎月」「毎年」の日時指定タイプはサポートされないことがあります。
また、ミニマムスペックでは、期間の集合はサポートされません。

1アプリケーションあたり最低4つまでのスケジュール時刻が指定できます。

同一アプリケーションに複数の自動起動時刻を設定したとき、 起動から次の起動までの間隔が10分より短い場合のアプリケーションの動作(切り上げて起動するか、起動しないか)は機種依存です。

パラメータ:
index - 設定するスケジュール番号を指定します。 スケジュール番号は0から始まります。
date - 起動スケジュールを指定します。 nullを指定すると、スケジュールを削除します。 過去の時刻を指定しても例外は発生しませんが、 「1回限り」の起動タイプの場合は即座に起動済み(成功) として解釈され、実際に自動起動することはありません。
関連項目:
getLaunchTime(int)
例外:
IllegalStateException -
ミニアプリ実行時に呼び出された場合に発生します。
IllegalArgumentException -
範囲外のスケジュール番号を指定した場合に発生します。
IllegalArgumentException -
サポートされない日時指定タイプの起動時刻を 指定した場合に発生します。
IllegalArgumentException -
期間の集合に対応しない日時指定タイプについて 期間の集合の値が指定された場合に発生します。
IllegalArgumentException -
サポートされない範囲の日時の起動時刻 (例えば、1900年など)を指定した場合に発生します。

getLaunchTime

public ScheduleDate getLaunchTime(int index)

このアプリケーションの自動起動時刻を取得します。 setLaunchTime(int, ScheduleDate) メソッドで設定した自動起動時刻が取得できます。 Star アプリメニューから設定できる起動時刻や ADFのLaunchAtキーで指定される起動時刻は取得できません。

パーミッションとしてiアプリ自動起動APIの利用が許可されている トラステッドStar アプリケーションのみこのメソッドを呼び出すことができます。

ミニマムスペックでは、最低4つまでのスケジュール時刻が取得できます。

このメソッドの戻り値として取得される ScheduleDate オブジェクトの開始時刻のタイムゾーン (Calendar.getTimeZone()) は、ローカルタイムゾーンとなっています。 終了時刻には null が設定されています。

開始時刻としてCalendar オブジェクトに設定した全てのフィールド値が端末に保存されるとは限りません。 このメソッドでは、Calendar オブジェクトの生成に必要なカレンダフィールド値が端末から渡されない場合、 それらのカレンダフィールド値を補完します。 このため、setLaunchTime(int, com.docomostar.util.ScheduleDate) で設定した開始時刻と、 このメソッドで取得する開始時刻が異なることがあります。

パラメータ:
index - 取得するスケジュール番号を指定します。 スケジュール番号は0から始まります。
戻り値:
指定したスケジュール番号の起動時刻を ScheduleDateオブジェクトで返します。 起動時刻が設定されていない場合、null を返します。
例外:
IllegalStateException -
ミニアプリ実行時に呼び出された場合に発生します。
IllegalArgumentException -
範囲外のスケジュール番号を指定した場合に発生します。

getSuspendInfo

public final int getSuspendInfo()

直前のサスペンドの理由およびそのサスペンド中に起こった事象を取得します。

サスペンド中に起こった事象については、 複数の事象が起こった場合も含めて、全種類取得できることが保証されています。

値はビット論理和により得られます。 サスペンドが起こっていない場合には、0 を返します。
アプリケーションのメソッド呼び出しを契機とするサスペンドの場合、 SUSPEND_BY_STARAPPLIビットが設定されています。 メール着信など外部からの割り込みによるサスペンドの場合、 SUSPEND_BY_NATIVE ビットが設定されています。 サスペンドが起こっていない場合を除き、 この2つのビットの一方が必ず1に設定されています。 両方が1に設定されていることはありません。

取得できる事象には、 SUSPEND_PACKETIN、 SUSPEND_CALL_OUT、 SUSPEND_CALL_IN、 SUSPEND_MAIL_SEND、 SUSPEND_MAIL_RECEIVE、 SUSPEND_MESSAGE_RECEIVE、 SUSPEND_SCHEDULE_NOTIFY、 SUSPEND_MULTITASK_APPLICATION があります。
例えば、パケット着信があり、メールの受信を行った場合、
SUSPEND_BY_NATIVE | SUSPEND_PACKETIN | SUSPEND_MAIL_RECEIVE
が返ります。

戻り値:
サスペンドの理由およびサスペンド中の事象を返します。

getPushedEvent

public StarEventObject getPushedEvent(int starEvent)

直近の Terminated 状態下に、 このアプリケーションに対して発生していたイベントのパラメータを取得します。

Star アプリケーションが取り扱えるイベントの一部には、 Terminated 状態中に発生したことを検知できるものが存在します。 そのようなイベントがTerminated 状態中に発生した場合、 このメソッドを呼び出すことで、 対応するイベントパラメータを取得することができます。

なお、ここで取得できるイベントパラメータについては、 通常のリスナ呼び出しによっては通知されないことに注意してください。

直近の Terminated 状態中に、同じ種類のイベントが複数回発生していた場合、 それぞれ最新のイベントのみが取得できます。 Star アプリケーション起動後に(すなわち Terminated 状態以外の状態で)発生したイベントは、このメソッドでは取得できません。

引数 starEvent に指定可能なイベントタイプは以下の通りです。 これらのイベントタイプ以外が指定された場合は例外 UnsupportedOperationException が発生します。

上記イベントタイプが引数に指定された場合であっても、以下の場合には null を返します。

パラメータ:
starEvent - Terminated 状態中に発生したかどうか確認したいイベントの種類を指定します。 StarEventObject クラスで定義されている定数を指定します。
戻り値:
引数 starEvent で指定されたイベントが直近の Terminated 状態中に発生していた場合、そのイベントパラメータを返します。 そうでない場合は null を返します。
例外:
IllegalArgumentException -
引数 starEvent に不正な値が指定された場合に発生します。
UnsupportedOperationException -
Terminated 状態下における発生の有無が検知できない種類のイベントが、 引数 starEvent に指定された場合に発生します。

getSourceURL

public static final String getSourceURL()
アプリケーションがダウンロードされた元の URL を取得します。 たとえば、アプリケーションが格納されたJAR形式ファイルが、 http://www.example.com/download/prog/App1.jar でロードされた場合、 戻り値は、 "http://www.example.com/download/prog/" になります。

戻り値:
ダウンロード元の URL を表す文字列を返します。

getArgs

public static final String[] getArgs()

アプリケーションの起動パラメータを取得します。 このメソッドで、ADF で指定されたパラメータを取得することができます。

ADF でパラメータが指定されていない場合は長さ 0 の配列を返します。

戻り値:
アプリケーションの起動パラメータを表す文字列の配列を返します。

getParameter

public static final String getParameter(String key)

ブラウザなどのネイティブアプリケーションまたはStar アプリから起動された場合の パラメータを取得します。 このメソッドで、HTML ページやメール、起動元のStar アプリで指定されたパラメータを取得することができます。

アプリケーションの起動から終了までの間に、 このメソッドから取得できる値が変更されることはありません。

パラメータ:
key - 取得するパラメータの名前を指定します。
戻り値:
パラメータを表す文字列を返します。 パラメータがない場合はnullを返します。

upgrade

public void upgrade()
JAM を起動して実行中のアプリケーションの自動バージョンアップを行います。

このメソッドが呼ばれると現在実行中の Java アプリケーションはサスペンドされ、ユーザ確認のダイアログが表示されます。 ユーザが自動バージョンアップの実行を許可した場合、実行中の Java アプリケーションを終了してアプリケーションの自動バージョンアップが行われます。 ユーザが実行を許可しなかった場合は、 このメソッドから戻って Java アプリケーションの実行を継続します。

下記の場合は、このメソッドの実行が禁止されているため、例外が発生します。

例外:
IllegalStateException -
ミニアプリ実行時に呼び出された場合に発生します。
SecurityException -
このアプリケーションが、 IC アプリケーション(のサービス)削除画面から起動したものである (StarApplication.activated(int) の引数が StarApplication.LAUNCHED_FROM_MENU_FOR_DELETION である) 場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 自動バージョンアップを実行できない場合に発生します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。