com.docomostar
クラス StarApplication

Object
  上位を拡張 com.docomostar.StarApplication

public abstract class StarApplication
extends Object

Star アプリケーションの雛型を提供します。 アプリケーションは必ずこのクラスを継承して作成しなければなりません。

アプリケーションのライフサイクル

このクラスはアプリケーションのライフサイクルを定義します。 ライフサイクルの状態変更をアプリケーションに通知するメソッドや、 アプリケーションから状態変更を要求するためのメソッドなどが定義されています。

Star アプリケーションのライフサイクルには、 Started 状態、 Active 状態、 Suspended 状態、 Terminated 状態の4つの状態があります。 それぞれの状態の定義は以下の通りです。

Started 状態:

アプリケーション起動直後の状態です。 このクラスのコンストラクタ内のコード実行中も含まれます。 JAM は、アプリケーションを起動すると、 最初にコンストラクタを実行し、その後に started(int) メソッドを呼び出します。 started(int) メソッドの実行が完了すると、 アプリケーションの状態は Active 状態に移行します。 言い換えると、この状態下で実行して欲しいコードは started(int) メソッド内に書いておく必要があります。

この状態下では、アプリケーションが suspend() メソッドにより自発的にサスペンドすることはできません。 音声着信など Suspended 状態に移行するような事象が発生した場合にはサスペンドしますが、 その場合でも復帰時には activated(int) メソッドは呼び出されず、単純にサスペンド直前の状態から実行を再開します。 なお、Started 状態完了後には通常通り activated(int) がコールバックされます。

Active 状態:

アプリケーション実行中を表す状態です。 この状態に移行する時には activated(int) メソッドが呼び出されます。

Active 状態には、以下の2つの副状態が規定されています。 各副状態への遷移は、 JAM により行われ、副状態が変化するごとに stateChanged(boolean) メソッドが呼び出されます。

Full-Active 副状態:
アプリケーションが、 何の制限も無くバイトコードを実行できる状態です。
Semi-Active 副状態:
アプリケーションはバイトコードを実行可能ですが、 実行速度は低下する可能性があります。 また、CPU 資源以外の資源についても、利用が制限されているものがあります。 この状態は、同時に起動している他のアプリケーション(ネイティブのアプリケーションを含む)との協調動作や、 省電力を目的として規定されているものです。
なお、フルアプリでは、この状態を取ることは有りません。
Suspended 状態:

アプリケーションがバイトコードを実行できない状態です。 この状態に移行することをサスペンドすると表現することもあります。 この状態下では、アプリケーションはシステムメモリを占有したままとなっており、 レジューム時には、サスペンド直前の状態から実行を再開します。

Suspended 状態への移行は、 JAMによってなされる事がほとんどですが、 suspend() を呼び出すことで、 アプリケーションが自発的にサスペンドすることもできます。

Active 状態においてサスペンドした場合は、 アプリケーションがレジュームすると、activated(int) が呼び出され、 Active 状態となります。 Started 状態においてサスペンドした場合には、 レジューム時にはコールバックは行われません。

Terminated 状態:
アプリケーションが終了し、システムメモリからもアンロードされた状態です。

状態遷移時の通知メソッド(started(int)、 activated(int)、 stateChanged(boolean))については、以下の事項が保証されています。 そのため、例えば activated(int) からリターンする前に複数回 Suspended 状態に遷移した場合などでは、 Active 状態下で連続して(間にサスペンド・レジュームなしに)複数回 activated(int) がコールバックされる可能性があることに注意してください。

アプリケーションの実行タイプと表示状態

このクラスはライフサイクルのほかに、 アプリケーションの実行タイプや表示状態も定義します。 アプリケーションの実行タイプや表示状態を取得するメソッドなどが定義されています。

Star アプリケーションの実行タイプには、 フルアプリ、 ミニアプリ の 2 つのタイプがあります。 Star アプリケーションでは、アプリケーションを格納する Jar パッケージに両方の実行タイプのアプリケーションを格納することができます。 それぞれの実行タイプについて以下に簡単に説明します。

フルアプリ:

フルアプリ実行環境で動作するアプリケーションです。 フルアプリ実行環境では同時に起動可能なアプリケーションは 1 つです。 フルアプリは、フルアプリ実行環境に与えられる資源を全て占有します。 フルアプリは、Star プロファイルに定義されている全てのクラスを利用できます。

フルアプリの表示状態には通常表示状態のみがあります。 フルアプリの表示状態は遷移することはありません。

ミニアプリ:

ミニアプリ実行環境で動作するアプリケーションです。 ミニアプリ実行環境では同時に起動可能なアプリケーションは複数です。 ミニアプリは、ミニアプリ実行環境に与えられる資源を複数のミニアプリで共有します。 ミニアプリは、Star プロファイルに定義されているクラスのサブセットを利用できます。 ミニアプリから利用できないクラスの一覧は 「ミニアプリ実行環境に関する注意事項」 を参照して下さい。

ミニアプリ実行環境は、複数のミニアプリを同時に表示するためのウィンドウ表示機能 (Widget View) を有しています。 ミニアプリの表示状態には、 Focused 状態、 Unfocused 状態、 Selected 状態、 Unselected 状態 の 4 つの状態があります。 ミニアプリの表示状態はユーザ操作等によって任意のタイミングで遷移します。 ミニアプリのそれぞれの表示状態について以下に簡単に説明します。

Focused 状態:
Widget View の一覧表示状態でフォーカスを取得している状態です。 この表示状態下では、ミニアプリから利用可能な機能のうち一部のみを利用可能です。 また、ミニアプリにキー入力イベントは通知されません。
Unfocused 状態:
Widget View の一覧表示状態でフォーカスを取得していない状態です。 この表示状態下では、ミニアプリから利用可能な機能は Focused 状態下と同じです。 また、ミニアプリにキー入力イベントは通知されません。
Selected 状態:
Widget View の個別表示状態で選択されている状態です。 この表示状態下では、ミニアプリから利用可能な機能のうち全てを利用可能です。 また、ミニアプリにキー入力イベントは通知されます。(※一部のキーを除く)
Unselected 状態:
Widget View の個別表示状態で選択されていない状態です。 この表示状態下では、ミニアプリはサスペンドします。

このクラスに定義されているアプリケーションの実行タイプや表示状態に関するメソッドの利用方法について以下に説明します。

アプリケーションの実行タイプに関するメソッドの利用:

アプリケーションの実行タイプを取得するには getAppType() を呼び出します。 アプリケーションの実行タイプは、アプリケーションの起動から終了まで変わりません。

現在の実行タイプのアプリケーションから、 同一 Jar パッケージ内に格納されている別の実行タイプのアプリケーションを連携起動するには changeAppType(int, Hashtable) を呼び出します。このメソッドは、現在実行中のアプリケーションを終了して、 別の実行タイプのアプリケーションを起動します。

アプリケーションの表示状態に関するメソッドの利用:

アプリケーションの現在の表示状態を取得するには getAppFaceState() を呼び出します。 ミニアプリの起動直後、および、レジューム直後には、必要に応じて現在の表示状態を取得して下さい。 ミニアプリのサスペンド直前とレジューム直後では、表示状態が同じであるとは限りません。

ミニアプリ実行中に表示状態が遷移した場合にその通知を受けるには、 addEventListener(int, StarEventListener) に該当するイベントを登録します。 ミニアプリ実行中に表示状態が遷移すると、対応するリスナにイベントが通知されます。

ミニアプリが自らサスペンド中に表示状態が遷移したことを契機にレジュームするには、 addWakeupEvent(int) に該当するイベントを登録します。 ミニアプリが自らサスペンド中に表示状態が遷移すると、 それを契機にミニアプリはレジュームします。

導入されたバージョン:
Star-1.0

フィールドの概要
static int ACTIVATED_BY_KEY_TOUCHED
          活性化された(レジュームされた)理由を表す定数の一つで、 自らサスペンド中に、 ユーザがキーに触れたことによって活性化されたことを表します(=-4)。
static int ACTIVATED_BY_NATIVE
          活性化された(レジュームされた)理由を表す定数の一つで、 JAM などのネイティブ機能により活性化されたことを表します(=-3)。
static int ACTIVATED_BY_WAKEUP_TIMER
          活性化された(レジュームされた)理由を表す定数の一つで、 起床タイマにより活性化されたことを表します(=-1)。
static int ACTIVATED_BY_WAKEUP_TIMER_DELAYED
          活性化された(レジュームされた)理由を表す定数の一つで、 起床タイマにより活性化されたが、 活性化に遅延が生じたことを表します(=-2)。
static int ACTIVATED_FROM_STARTED_STATE
          活性化された理由を表す定数の一つで、 started(int)の実行完了により活性化されたことを表します(=0)。
static int LAUNCHED_AFTER_DOWNLOAD
          ダウンロード直後(通常起動の1回目)に起動されたことを表す起動タイプです(=1)。
static int LAUNCHED_AS_MAP_PLATFORM_DIRECTLY [iアプリオプションAPI]
          連携起動ではなく、直接、地図プラットフォームとして起動されたアプリであることを表す起動タイプです。
static int LAUNCHED_BY_INVITE_MESSAGE
          招集メッセージによって起動されたことを表す起動タイプです(=25)。
static int LAUNCHED_FROM_BML [iアプリオプションAPI]
          BML ブラウザからの連携によって起動されたことを表す起動タイプです(=21)。
static int LAUNCHED_FROM_BROWSER
           ブラウザからの連携によって起動されたことを表す起動タイプです(=5)。
static int LAUNCHED_FROM_DTV [iアプリオプションAPI]
          デジタルテレビアプリケーションからの連携によって起動されたことを表す起動タイプです(=17)。
static int LAUNCHED_FROM_EXT
          外部インタフェースから起動されたことを表す起動タイプです(=4)。
static int LAUNCHED_FROM_FELICA_ADHOC [iアプリオプションAPI]
          非接触IC 外部 R/W からの連続データ転送によって起動されたことを表す起動タイプです。
static int LAUNCHED_FROM_FULLAPPLI
          同一 JAR パッケージ内のフルアプリからの連携によって起動されたことを表す起動タイプです(=22)。
static int LAUNCHED_FROM_IMAGE [iアプリオプションAPI]
          データ BOX に保存されている画像から起動されたことを表す起動タイプです(=29)。
static int LAUNCHED_FROM_LAUNCHER
          Star アプリからの連携(ランチャモード)によって起動されたことを表す起動タイプです(=8)。
static int LAUNCHED_FROM_LOCATION_IMAGE [iアプリオプションAPI]
           データ BOX に保存されている位置情報埋め込み画像から起動されたことを表す起動タイプです(=14)。
static int LAUNCHED_FROM_LOCATION_INFO [iアプリオプションAPI]
           位置情報から起動されたことを表す起動タイプです(=13)。
static int LAUNCHED_FROM_MAILER
           メーラからの連携によって起動されたことを表す起動タイプです(=6)。
static int LAUNCHED_FROM_MENU
          通常のメニューから起動されたことを表す起動タイプです(=0)。
static int LAUNCHED_FROM_MENU_FOR_DELETION [iアプリオプションAPI]
          ユーザがこのアプリケーションを削除するために、 メニューから起動されたことを表す起動タイプです(=20)。
static int LAUNCHED_FROM_MINIAPPLI
          同一 JAR パッケージ内のミニアプリからの連携によって起動されたことを表す起動タイプです(=23)。
static int LAUNCHED_FROM_PHONEBOOK [iアプリオプションAPI]
           電話帳から起動されたことを表す起動タイプです(=15)。
static int LAUNCHED_FROM_SCHEDULER [iアプリオプションAPI]
           スケジューラからの連携によって起動されたことを表す起動タイプです(=28)。
static int LAUNCHED_FROM_SELECTED_WORDS [iアプリオプションAPI]
          ネイティブアプリ上でユーザが任意に選択した文字列から起動されたアプリであることを表す起動タイプです(=27)。
static int LAUNCHED_FROM_STARAPPLI
          Star アプリからの連携(連携モード)によって起動されたことを表す起動タイプです(=7)。
static int LAUNCHED_FROM_TIMER
          タイマ起動されたことを表す起動タイプです(=2)。
static int LAUNCHED_FROM_TORUCA [iアプリオプションAPI]
           トルカから起動されたことを表す起動タイプです(=18)。
static int LAUNCHED_FROM_WIDGETVIEW
          Widget View が表示状態に遷移したことによって起動されたことを表す起動タイプです(=24)。
static int LAUNCHED_MSG_RECEIVED
          メッセージStar アプリの受信フォルダから起動されたことを表す起動タイプです(=10)。
static int LAUNCHED_MSG_SENT
          メッセージStar アプリの送信フォルダから起動されたことを表す起動タイプです(=11)。
static int LAUNCHED_MSG_UNSENT
          メッセージStar アプリの未送信フォルダから起動されたことを表す起動タイプです(=12)。
static int STAR_FACESTATE_FULL_NORMAL
          アプリケーションの表示状態を表す定数の一つで、 フルアプリの通常表示状態であることを表します(=1)。
static int STAR_FACESTATE_MINI_FOCUSED
          アプリケーションの表示状態を表す定数の一つで、 ミニアプリの Focused 状態であることを表します(=2)。
static int STAR_FACESTATE_MINI_SELECTED
          アプリケーションの表示状態を表す定数の一つで、 ミニアプリの Selected 状態であることを表します(=4)。
static int STAR_FACESTATE_MINI_UNFOCUSED
          アプリケーションの表示状態を表す定数の一つで、 ミニアプリの Unfocused 状態であることを表します(=3)。
static int STAR_STATE_FULLACTIVE
          アプリケーションの状態を表す定数の一つで、 Active 状態で、かつ、Full-Active 副状態であることを表します(=1)。
static int STAR_STATE_SEMIACTIVE
          アプリケーションの状態を表す定数の一つで、 Active 状態で、かつ、Semi-Active 副状態であることを表します(=2)。
static int STAR_STATE_STARTED
          アプリケーションの状態を表す定数の一つで、 Started 状態であることを表します(=0)。
static int STAR_TYPE_FULLAPPLI
          アプリケーションの実行タイプを表す定数の一つで、 フルアプリであることを表します(=1)。
static int STAR_TYPE_MINIAPPLI
          アプリケーションの実行タイプを表す定数の一つで、 ミニアプリであることを表します(=2)。
 
コンストラクタの概要
StarApplication()
           アプリケーションは、直接このクラスのインスタンスを生成してはなりません。
 
メソッドの概要
 void activated(int activateInfo)
           アプリケーションが Active 状態に遷移した直後に呼び出されます。
 void addEventListener(int starEvent, StarEventListener eventListener)
           イベントリスナを登録します。
 void addWakeupEvent(int starEvent)
           Suspended 状態から復帰する契機としたいイベント(起床イベント)を登録します。
 void changeAppType(int type, java.util.Hashtable params)
          アプリケーションの実行タイプを変更します。
 void clearWakeupEvent()
          addWakeupEvent(int) で登録されているイベント(起床イベント)を全て削除します。
 int getAppFaceState()
          このアプリケーションの、現在の表示状態を取得します。
 int getAppState()
          このアプリケーションの、現在の状態、または副状態を問い合わせます。
 int getAppType()
          このアプリケーションの実行タイプを取得します。
 StarApplicationManager getStarApplicationManager()
          アプリケーションマネージャを表すオブジェクトを取得します。
static StarApplication getThisStarApplication()
           現在実行中の StarApplication インスタンスを返します。
 long getWakeupTimer()
           起床タイマが発火するまでの残り時間をミリ秒単位で取得します。
 void removeWakeupEvent(int starEvent)
          addWakeupEvent(int) で登録されているイベント(起床イベント)のうち、 引数で指定された起床イベントを削除します。
 void setWakeupTimer(long duration)
           起床タイマを設定し開始します。
abstract  void started(int launchType)
           アプリケーション開始時に、 JAM によって一度だけ呼び出されます。
 void stateChanged(boolean isFullActive)
           Active 状態下において、 アプリケーションの現在の副状態が変化した場合に呼び出されます。
 void suspend()
           Suspended 状態への遷移を要求します。
 void terminate()
           アプリケーションを終了するための唯一のメソッドです。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ACTIVATED_FROM_STARTED_STATE

public static final int ACTIVATED_FROM_STARTED_STATE
活性化された理由を表す定数の一つで、 started(int)の実行完了により活性化されたことを表します(=0)。

関連項目:
定数フィールド値

ACTIVATED_BY_WAKEUP_TIMER

public static final int ACTIVATED_BY_WAKEUP_TIMER
活性化された(レジュームされた)理由を表す定数の一つで、 起床タイマにより活性化されたことを表します(=-1)。

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

ACTIVATED_BY_WAKEUP_TIMER_DELAYED

public static final int ACTIVATED_BY_WAKEUP_TIMER_DELAYED
活性化された(レジュームされた)理由を表す定数の一つで、 起床タイマにより活性化されたが、 活性化に遅延が生じたことを表します(=-2)。

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

ACTIVATED_BY_NATIVE

public static final int ACTIVATED_BY_NATIVE
活性化された(レジュームされた)理由を表す定数の一つで、 JAM などのネイティブ機能により活性化されたことを表します(=-3)。

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

ACTIVATED_BY_KEY_TOUCHED

public static final int ACTIVATED_BY_KEY_TOUCHED
活性化された(レジュームされた)理由を表す定数の一つで、 自らサスペンド中に、 ユーザがキーに触れたことによって活性化されたことを表します(=-4)。

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

STAR_STATE_STARTED

public static final int STAR_STATE_STARTED
アプリケーションの状態を表す定数の一つで、 Started 状態であることを表します(=0)。

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

STAR_STATE_FULLACTIVE

public static final int STAR_STATE_FULLACTIVE
アプリケーションの状態を表す定数の一つで、 Active 状態で、かつ、Full-Active 副状態であることを表します(=1)。

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

STAR_STATE_SEMIACTIVE

public static final int STAR_STATE_SEMIACTIVE
アプリケーションの状態を表す定数の一つで、 Active 状態で、かつ、Semi-Active 副状態であることを表します(=2)。

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

STAR_TYPE_FULLAPPLI

public static final int STAR_TYPE_FULLAPPLI
アプリケーションの実行タイプを表す定数の一つで、 フルアプリであることを表します(=1)。

関連項目:
getAppType(), changeAppType(int, Hashtable), 定数フィールド値

STAR_TYPE_MINIAPPLI

public static final int STAR_TYPE_MINIAPPLI
アプリケーションの実行タイプを表す定数の一つで、 ミニアプリであることを表します(=2)。

関連項目:
getAppType(), changeAppType(int, Hashtable), 定数フィールド値

STAR_FACESTATE_FULL_NORMAL

public static final int STAR_FACESTATE_FULL_NORMAL
アプリケーションの表示状態を表す定数の一つで、 フルアプリの通常表示状態であることを表します(=1)。

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

STAR_FACESTATE_MINI_FOCUSED

public static final int STAR_FACESTATE_MINI_FOCUSED
アプリケーションの表示状態を表す定数の一つで、 ミニアプリの Focused 状態であることを表します(=2)。

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

STAR_FACESTATE_MINI_UNFOCUSED

public static final int STAR_FACESTATE_MINI_UNFOCUSED
アプリケーションの表示状態を表す定数の一つで、 ミニアプリの Unfocused 状態であることを表します(=3)。

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

STAR_FACESTATE_MINI_SELECTED

public static final int STAR_FACESTATE_MINI_SELECTED
アプリケーションの表示状態を表す定数の一つで、 ミニアプリの Selected 状態であることを表します(=4)。

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

LAUNCHED_FROM_MENU

public static final int LAUNCHED_FROM_MENU
通常のメニューから起動されたことを表す起動タイプです(=0)。

ミニアプリにおいては、通常のメニューから起動された場合、 Widget View のランチャーから起動された場合に、 この起動タイプとなります。

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

LAUNCHED_AFTER_DOWNLOAD

public static final int LAUNCHED_AFTER_DOWNLOAD
ダウンロード直後(通常起動の1回目)に起動されたことを表す起動タイプです(=1)。

ミニアプリにおいても、ダウンロード直後(通常起動の1回目)に起動された場合に、 この起動タイプとなります。

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

LAUNCHED_FROM_TIMER

public static final int LAUNCHED_FROM_TIMER
タイマ起動されたことを表す起動タイプです(=2)。

ADFのLaunchAtキーによる起動に加えて、 Star アプリメニューでの設定による自動起動、 StarApplicationManager.setLaunchTime(int, ScheduleDate) メソッドでの設定による起動の場合も含みます。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_EXT

public static final int LAUNCHED_FROM_EXT
外部インタフェースから起動されたことを表す起動タイプです(=4)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_BROWSER

public static final int LAUNCHED_FROM_BROWSER

ブラウザからの連携によって起動されたことを表す起動タイプです(=5)。

ブラウザからの連携によるバージョンアップの場合も含みます。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_MAILER

public static final int LAUNCHED_FROM_MAILER

メーラからの連携によって起動されたことを表す起動タイプです(=6)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_STARAPPLI

public static final int LAUNCHED_FROM_STARAPPLI
Star アプリからの連携(連携モード)によって起動されたことを表す起動タイプです(=7)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_LAUNCHER

public static final int LAUNCHED_FROM_LAUNCHER
Star アプリからの連携(ランチャモード)によって起動されたことを表す起動タイプです(=8)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_MSG_RECEIVED

public static final int LAUNCHED_MSG_RECEIVED
メッセージStar アプリの受信フォルダから起動されたことを表す起動タイプです(=10)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_MSG_SENT

public static final int LAUNCHED_MSG_SENT
メッセージStar アプリの送信フォルダから起動されたことを表す起動タイプです(=11)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_MSG_UNSENT

public static final int LAUNCHED_MSG_UNSENT
メッセージStar アプリの未送信フォルダから起動されたことを表す起動タイプです(=12)。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_LOCATION_INFO

public static final int LAUNCHED_FROM_LOCATION_INFO [iアプリオプションAPI]

位置情報から起動されたことを表す起動タイプです(=13)。

から起動された場合に、この起動タイプとなります。

この起動タイプで起動しているアプリケーションでは、 StarApplicationManager.getParameter(String) を用いて、起動元から渡された位置情報を取得することができます。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_LOCATION_IMAGE

public static final int LAUNCHED_FROM_LOCATION_IMAGE [iアプリオプションAPI]

データ BOX に保存されている位置情報埋め込み画像から起動されたことを表す起動タイプです(=14)。

この起動タイプで起動しているアプリケーションでは、 StarApplicationManager.getParameter(String) を用いて、起動元から渡された位置情報や、 起動元の位置情報埋め込み画像 ID を取得することができます。
ImageStore.getEntry(int) の引数に、 取得した位置情報埋め込み画像 ID を指定することで、 起動元の位置情報埋め込み画像データへアクセスすることができます。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_PHONEBOOK

public static final int LAUNCHED_FROM_PHONEBOOK [iアプリオプションAPI]

電話帳から起動されたことを表す起動タイプです(=15)。

この起動タイプで起動しているアプリケーションでは、 StarApplicationManager.getParameter(String) を用いて、起動元から渡された位置情報や、 起動元の電話帳エントリ ID を取得することができます。
PhoneBook.getEntry(int) の引数に、 取得した電話帳エントリ ID を指定することで、 起動元の電話帳エントリへアクセスすることができます。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_DTV

public static final int LAUNCHED_FROM_DTV [iアプリオプションAPI]
デジタルテレビアプリケーションからの連携によって起動されたことを表す起動タイプです(=17)。

デジタルテレビアプリケーションから連携起動パラメータとしてサービス識別が渡されます。 サービス識別の値は、以下のいずれかの方法で取得することができます。

サービス識別を文字列として取得した場合、 取得した文字列は、Integer.parseInt(String) メソッドによって整数型に変換できることが保証されています。 ただし、連携起動パラメータとしてサービス識別が渡されなかった場合、 StarApplicationManager.getParameter("service_id") を呼び出すと null が返ります。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_TORUCA

public static final int LAUNCHED_FROM_TORUCA [iアプリオプションAPI]

トルカから起動されたことを表す起動タイプです(=18)。

トルカからの連携によるバージョンアップの場合も含みます。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_FELICA_ADHOC

public static final int LAUNCHED_FROM_FELICA_ADHOC [iアプリオプションAPI]
非接触IC 外部 R/W からの連続データ転送によって起動されたことを表す起動タイプです。(=19)

この起動タイプで起動しているアプリケーションは、 アドホック通信のデータ転送先アプリケーションとして呼び出されたことを意味します。 起動の契機となったイベントには、 StarApplicationManager.getPushedEvent(int) の引数に StarEventObject.STAR_FELICA_ADHOC_REQUEST_RECEIVED を指定することで取得できます。

ミニアプリにおいては、この起動タイプとなることはありません。

関連項目:
started(int), StarApplicationManager.getPushedEvent(int), 定数フィールド値

LAUNCHED_FROM_MENU_FOR_DELETION

public static final int LAUNCHED_FROM_MENU_FOR_DELETION [iアプリオプションAPI]
ユーザがこのアプリケーションを削除するために、 メニューから起動されたことを表す起動タイプです(=20)。

FeliCa 機能を利用するアプリケーション(IC アプリ)のみ、 この起動タイプで起動される可能性があります。 この起動タイプで起動しているアプリケーションは、 アプリケーション削除のための最終処理(FeliCa IC チップ内のエリア/サービス削除、 コンテンツサービスの退会手続きetc) を行なうために呼び出されたことを意味します。 この起動タイプで起動されたアプリケーションは、 すみやかに最終処理を行なって下さい。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_BML

public static final int LAUNCHED_FROM_BML [iアプリオプションAPI]
BML ブラウザからの連携によって起動されたことを表す起動タイプです(=21)。

この起動タイプで起動しているアプリケーションは、 StarApplicationManager.getParameter("bml_param") を呼び出すことで BML ブラウザから渡されたパラメータを取得することができます。 ただし、BML ブラウザからパラメータが渡されなかった場合、 StarApplicationManager.getParameter("bml_param") を呼び出すと null が返ります。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_FULLAPPLI

public static final int LAUNCHED_FROM_FULLAPPLI
同一 JAR パッケージ内のフルアプリからの連携によって起動されたことを表す起動タイプです(=22)。

フルアプリにおいては、この起動タイプとなることはありません。

関連項目:
started(int), changeAppType(int, Hashtable), 定数フィールド値

LAUNCHED_FROM_MINIAPPLI

public static final int LAUNCHED_FROM_MINIAPPLI
同一 JAR パッケージ内のミニアプリからの連携によって起動されたことを表す起動タイプです(=23)。

ミニアプリにおいては、この起動タイプとなることはありません。

関連項目:
started(int), changeAppType(int, Hashtable), 定数フィールド値

LAUNCHED_FROM_WIDGETVIEW

public static final int LAUNCHED_FROM_WIDGETVIEW
Widget View が表示状態に遷移したことによって起動されたことを表す起動タイプです(=24)。 このミニアプリが Widget View に貼り付け設定されている状態で、 Widget View が非表示状態から表示状態に遷移したことによって起動された場合に、 この起動タイプとなります。

フルアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_BY_INVITE_MESSAGE

public static final int LAUNCHED_BY_INVITE_MESSAGE
招集メッセージによって起動されたことを表す起動タイプです(=25)。

から起動された場合に、この起動タイプとなります。

この起動タイプで起動しているアプリケーションは、 StarApplicationManager.getPushedEvent(int) の引数に StarEventObject.STAR_INVITED を指定して呼び出し、 InvitedEvent オブジェクトを取得できます。 InvitedEvent オブジェクトから InvitedEvent.getLaunchParameter() メソッドを呼び出すことで起動パラメータを取得できます。

招集によって、ダウンロードサイトからアプリケーションをダウンロードした場合は、 この起動タイプとはならず、通常のアプリケーションのダウンロード時と同様に振舞うことに注意してください。

ミニアプリにおいては、この起動タイプとなることはありません。

関連項目:
started(int), StarApplicationManager.getPushedEvent(int), 定数フィールド値

LAUNCHED_AS_MAP_PLATFORM_DIRECTLY

public static final int LAUNCHED_AS_MAP_PLATFORM_DIRECTLY [iアプリオプションAPI]
連携起動ではなく、直接、地図プラットフォームとして起動されたアプリであることを表す起動タイプです。(=26)。

この起動タイプで起動しているアプリケーションでは、 StarApplicationManager.getParameter(String) を用いて、起動時に測位した位置情報を取得することができます。 ただし、GPS測位を行わない設定になっている場合には、位置情報を取得することはできません。

ミニアプリにおいては、この起動タイプとなることはありません。

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

LAUNCHED_FROM_SELECTED_WORDS

public static final int LAUNCHED_FROM_SELECTED_WORDS [iアプリオプションAPI]
ネイティブアプリ上でユーザが任意に選択した文字列から起動されたアプリであることを表す起動タイプです(=27)。

この起動タイプで起動しているアプリケーションでは、 StarApplicationManager.getParameter(String) を用いて、起動時にネイティブアプリ上でユーザが任意に選択した文字列を取得することができます。

ミニアプリにおいては、この起動タイプとなることはありません。

導入されたバージョン:
Star-1.1
関連項目:
started(int), 定数フィールド値

LAUNCHED_FROM_SCHEDULER

public static final int LAUNCHED_FROM_SCHEDULER [iアプリオプションAPI]

スケジューラからの連携によって起動されたことを表す起動タイプです(=28)。

ミニアプリにおいては、この起動タイプとなることはありません。

導入されたバージョン:
Star-1.3
関連項目:
started(int), 定数フィールド値

LAUNCHED_FROM_IMAGE

public static final int LAUNCHED_FROM_IMAGE [iアプリオプションAPI]
データ BOX に保存されている画像から起動されたことを表す起動タイプです(=29)。

この起動タイプで起動しているアプリケーションでは、 StarApplicationManager.getParameter(String) を用いて、起動元の画像データのエントリ ID を取得することができます。
ImageStore.getEntry(int) の引数に、 取得した画像データのエントリ ID を指定することで、 起動元の画像データのエントリを取得することができます。

ミニアプリにおいては、この起動タイプとなることはありません。

導入されたバージョン:
Star-1.3
関連項目:
started(int), 定数フィールド値
コンストラクタの詳細

StarApplication

public StarApplication()

アプリケーションは、直接このクラスのインスタンスを生成してはなりません。

このクラスを継承したクラスでコンストラクタを明示的に定義する場合は、 アクセス修飾子が public で、かつ、引数なしである必要があります。

メソッドの詳細

started

public abstract void started(int launchType)

アプリケーション開始時に、 JAM によって一度だけ呼び出されます。 引数には起動タイプが設定されています。 このメソッドの実行が完了するまでが Started 状態です。

パラメータ:
launchType - このアプリケーションの起動タイプを表す定数(LAUNCHED_ から始まる定数)が設定されています。

activated

public void activated(int activateInfo)

アプリケーションが Active 状態に遷移した直後に呼び出されます。 具体的には以下の2つのタイミングで呼び出されます。

サスペンド前と同じ副状態でレジュームするという保証はありません。 アプリケーションプログラマは、 本メソッド内で、 必ず現在の副状態を確認するようにして下さい。

started(int)メソッドの実行が完了した直後にこのメソッドが呼び出された場合、 引数には ACTIVATED_FROM_STARTED_STATE が設定されています。
Suspended状態から復帰した直後にこのメソッドが呼び出された場合、 引数にはレジューム理由が設定されています。 引数に正の値が設定されている場合は、 addWakeupEvent(int) にて登録されたイベント発生によりレジュームされたことを表し、 レジュームする契機となったイベントの種類(StarEventObject で定義されている定数)が設定されています。 StarEventObject クラスの説明もあわせて参照してください。
それ以外の理由でレジュームした場合には、 引数には負の値が設定されています。 その場合には、このクラスで定義されている ACTIVATED_ から始まる定数が、レジューム理由として設定されています。

パラメータ:
activateInfo - 活性化された(レジュームされた)理由を表す定数、または、 レジュームする契機となったイベントの種類が設定されています。
関連項目:
StarEventObject, suspend(), started(int), addWakeupEvent(int)

stateChanged

public void stateChanged(boolean isFullActive)

Active 状態下において、 アプリケーションの現在の副状態が変化した場合に呼び出されます。

Active 状態以外の状態から Active 状態へ遷移した場合には呼び出されません。

パラメータ:
isFullActive - 新しい副状態が Full-Active である場合は true に設定されています。

getAppState

public final int getAppState()
このアプリケーションの、現在の状態、または副状態を問い合わせます。

戻り値:
このアプリケーションの現在の状態、 または副状態を表す定数を返します。 具体的には STAR_STATE_STARTED、 STAR_STATE_FULLACTIVE、 STAR_STATE_SEMIACTIVE のいずれかを返します。

suspend

public final void suspend()

Suspended 状態への遷移を要求します。

このメソッドを呼び出すと、自分自身のスレッドも含め、 このアプリケーションの全てのスレッドが停止し、 Suspended 状態へ移行します。
また、このメソッドを呼び出すと、 Suspended 状態から復帰するまでブロックします。

このメソッド呼び出しによる Suspended 状態は、 addWakeupEvent(int) で登録したイベントの発生や、 setWakeupTimer(long) による起床タイマの発火などによって レジューム復帰しますが、特に、 レジューム復帰の原因となるイベントがイベントキューに残っている状態で、 このメソッドを呼び出すと、即座にレジューム復帰します。 具体的なケースは以下の通りです。

特に、前者のケースは、 キュー内のイベント消費が進んでいない状態で複数回このメソッドを呼び出すと、 同一のイベント発生を理由に、 複数回の activated(int) 呼び出しが発生する可能性があることを意味しています。 一方、イベントリスナは、 イベント発生1回につき1回のみコールバックされることが保証されています。
したがって、イベント発生1回につき複数回処理されてはいけない内容は、 activated(int) ではなく StarEventListener に記述するようにしてください。

Started 状態下または FEP 起動中に、このメソッドを呼び出すと、 Suspended 状態への遷移が JAM によって拒否され、例外が発生します。

関連項目:
addWakeupEvent(int), setWakeupTimer(long)
例外:
IllegalStateException -
Suspended 状態への遷移を JAM によって拒否された場合に発生します。

terminate

public final void terminate()

アプリケーションを終了するための唯一のメソッドです。 アプリケーションは、 自分自身を終了させるためにはこのメソッドを呼び出さなければなりません。

StarApplication のスコープで System.exit() が呼ばれた場合には SecurityException が発生します。


addEventListener

public final void addEventListener(int starEvent,
                                   StarEventListener eventListener)

イベントリスナを登録します。 このメソッドを用いてイベントリスナを登録すると、 引数で指定したイベントが発生した場合に、 登録したリスナへ通知されるようになります。

登録したイベントがサスペンド中に発生した場合の振る舞いは、 そのイベントの種類や、 そのイベントを addWakeupEvent(int) で起床イベントとして登録しているか、などによって異なります。 詳細は StarEventObject クラスの説明と、 そこで定義されている各イベント定数の説明を参照してください。

なお、 このメソッドによって登録された全てのイベントリスナは、 他のスレッドとは独立した同一のイベントスレッドによってコールバックされることが保証されています。

既に登録したリスナを解除するには、引数 eventListener に null を指定してください。

パラメータ:
starEvent - 登録したいイベントの種類を指定します。 StarEventObject クラスで定義されている定数を指定します。
eventListener - 引数 starEvent で指定したイベントが発生した時に、 StarEventListener.updateStarApplication(StarEventObject) を呼び出して欲しいリスナを指定します。 既に登録されているリスナを解除する時には null を指定します。
関連項目:
StarEventObject, addWakeupEvent(int)
例外:
UnsupportedOperationException -
指定した種類のイベントの受信をサポートしていない場合に発生します。
IllegalArgumentException -
引数 starEvent に不正な値が指定された場合に発生します。
IllegalStateException -
指定した種類のイベントについて、 現在のアプリケーション実行タイプでは登録できない場合に発生します。
IllegalArgumentException -
既に、引数 starEvent で指定したイベントに対応するリスナが登録されているにもかかわらず、 引数 eventListener に null で無い値を指定した場合に発生します。
SecurityException -
このアプリケーションが、指定した種類のイベントについて、 リスナを登録する権限を持っていない場合に発生します。

addWakeupEvent

public final void addWakeupEvent(int starEvent)

Suspended 状態から復帰する契機としたいイベント(起床イベント)を登録します。 このメソッドを用いてイベントを登録すると、 登録したイベントがサスペンド中に発生した場合にレジュームするようになります。 サスペンド中に登録したイベント発生によりレジュームした場合には、 その時に JAM から呼び出される activated(int) メソッドの引数に、 レジュームする契機となったイベントの種類が設定されています。

ただし、 ここで登録したイベント発生により Suspended 状態から復帰できるのは、 あくまでもアプリケーション自身が suspend() 呼び出しによって Suspended 状態に移行した場合のみです。 JAM によって Suspended 状態に移行した場合、 たとえここで登録したイベントが発生しても、 アプリケーションがレジュームすることは有りません。

上記も含めて、Suspended 状態中に発生したイベントの取り扱いについては StarEventObject クラスの説明も参照してください。

既に登録したイベントを取り消すには、 removeWakeupEvent(int) や clearWakeupEvent() を利用して下さい。

パラメータ:
starEvent - レジュームする契機としたいイベントの種類を指定します。 StarEventObject クラスで定義されている定数を指定します。
関連項目:
StarEventObject, addEventListener(int, StarEventListener)
例外:
IllegalArgumentException -
引数 starEvent に不正な値が指定された場合に発生します。
IllegalArgumentException -
既に、引数 starEvent で指定したイベントが登録済みである場合に発生します。
IllegalStateException -
指定した種類のイベントについて、 現在のアプリケーション実行タイプでは登録できない場合に発生します。
UnsupportedOperationException -
指定した種類のイベント発生による Suspended 状態からの復帰を、 JAM がサポートしていない場合に発生します。
SecurityException -
このアプリケーションが、指定した種類のイベントについて、 リスナを登録する権限を持っていない場合に発生します。

removeWakeupEvent

public final void removeWakeupEvent(int starEvent)
addWakeupEvent(int) で登録されているイベント(起床イベント)のうち、 引数で指定された起床イベントを削除します。 このメソッドを呼び出すと、 引数で指定されたイベントがサスペンド中に発生しても、 レジュームしなくなります。

パラメータ:
starEvent - 削除したい起床イベントを指定します。
例外:
IllegalArgumentException -
引数で指定したイベントが、 起床イベントとして登録されていない場合に発生します。

clearWakeupEvent

public final void clearWakeupEvent()
addWakeupEvent(int) で登録されているイベント(起床イベント)を全て削除します。 このメソッドを呼び出すと、 登録されていた全ての起床イベントが削除されます。


setWakeupTimer

public final void setWakeupTimer(long duration)

起床タイマを設定し開始します。 起床タイマとは、suspend() メソッド呼び出しによる Suspended 状態から Active 状態に復帰するためのタイマです。 Active 状態に復帰した時の副状態は、システムの状態に依存します。 タイマはこのメソッド呼び出し時から開始されます。 すなわち、このメソッドが呼び出された瞬間から、 引数で指定された時間が経過すると、タイマが発火します。

タイマが発火すると、 一度だけ起床イベントが生成され、アプリケーションがレジュームします。 レジューム時には activated(int) メソッドが呼び出され、 その引数には ACTIVATED_BY_WAKEUP_TIMER が設定されています。

アプリケーションが自ら suspend() している最中に音声着信などが発生した場合など、 引数で指定された時間が経過した時に、アプリケーションが即座にレジュームできない可能性があります。 その場合には、 アプリケーションがレジュームできるようになるまで起床イベントの通知が遅延されます。 イベント通知が遅延した場合、レジューム時に呼び出される activated(int) の引数には、 ACTIVATED_BY_WAKEUP_TIMER の代わりに ACTIVATED_BY_WAKEUP_TIMER_DELAYED が設定されます。

起床イベントは、このメソッドを呼び出してタイマをリセットするか、 或いは、suspend() メソッドを呼び出して Suspended 状態に遷移しその後復帰するまで、 イベントキューに残ります。 起床イベントがイベントキューに残っている状態で suspend()を呼び出すと、 即座にレジュームし、 起床イベントが(ACTIVATED_BY_WAKEUP_TIMER_DELAYED で)通知されます。

このメソッド呼び出しによる起床イベント通知は、 addWakeupEvent(int) で登録された起床イベント通知よりも優先されます。 詳細は StarEventObject クラスの説明を参照してください。

このメソッドを複数回呼び出した場合、最後の呼び出しのみ有効になります。 また、起床イベントがイベントキューに残っている状態でこのメソッドを呼び出すと、 イベントキューに残っている起床イベントは削除されます。

パラメータ:
duration - 起床イベントが生成されるまでに必ず経過しなければならない最小の時間を msec 単位で指定します。 0 を指定した場合、タイマはリセットされ停止します。 この場合、起床イベントは生成されずに、 イベントキューに残っている起床イベントも削除されます。
関連項目:
suspend(), activated(int)
例外:
IllegalArgumentException -
引数 duration に 0 未満の値が指定された場合に発生します。

getWakeupTimer

public final long getWakeupTimer()

起床タイマが発火するまでの残り時間をミリ秒単位で取得します。

戻り値:
このメソッドが呼ばれてからタイマが発火し起床イベントが生成されるまでの時間(ミリ秒)を返します。 タイマが発火済みであり、かつ、 イベントキューに起床イベントが存在する場合は 0 を 返します。 タイマが設定されていない場合は -1 を返します。

getAppType

public final int getAppType()
このアプリケーションの実行タイプを取得します。

戻り値:
このアプリケーションの実行タイプを表す定数を返します。 具体的には STAR_TYPE_FULLAPPLI、 STAR_TYPE_MINIAPPLI のいずれかを返します。

changeAppType

public final void changeAppType(int type,
                                java.util.Hashtable params)
アプリケーションの実行タイプを変更します。 このメソッドが呼ばれると現在実行中のアプリケーションは終了して、 同一 JAR パッケージ内に含まれる別タイプのアプリケーションを起動します。 この際、ユーザ確認ダイアログは表示されません。

引数 type には、変更したい実行タイプを指定します。 ただし、現在の実行タイプを指定した場合、IllegalStateException が発生します。

引数 params には、起動先アプリケーションに渡すパラメータを指定します。 具体的には、キーと値の組を複数個格納した java.util.Hashtable クラスのオブジェクトを指定できますが、 下記の制限があります。

パラメータ:
type - 変更したいアプリケーション実行タイプを指定します。 具体的には STAR_TYPE_FULLAPPLI、 STAR_TYPE_MINIAPPLI のいずれかを指定します。
params - 起動先アプリケーションに渡すパラメータを指定します。
例外:
IllegalStateException -
ミニアプリ実行時の Focused または Unfocused 状態で呼び出された場合に発生します。
IllegalArgumentException -
引数 type に不正な値が指定された場合に発生します。
IllegalStateException -
引数 type に指定された実行タイプが、 現在のアプリケーション実行タイプと同一である場合に発生します。
IllegalArgumentException -
引数 params に格納されているキーの数が 16 個を超える場合に発生します。
ClassCastException -
引数 params に格納されているキーや値が文字列以外である場合に発生します。
IllegalArgumentException -
引数 params に格納されているキーと値の文字数の合計が 20480 バイトを超える場合に発生します。
IllegalArgumentException -
引数 params にシステムが提供している以外のオブジェクト (Hashtable クラスを継承した未知のクラスのオブジェクト) が渡された場合に発生します。
SecurityException -
(フルアプリ実行時のみ) このアプリケーションが IC アプリケーション(のサービス)削除画面から起動したものである (activated(int) の引数が LAUNCHED_FROM_MENU_FOR_DELETION である) 場合に発生します。
SecurityException -
起動先のアプリケーションが同一 JAR パッケージ内に存在しない場合 (ADF の AppType キーのパラメータに指定されていない場合) に発生します。
SecurityException -
(ミニアプリ実行時のみ) 起動先のアプリケーションが IC アプリケーションであるにもかかわらず、 IC カード内の空きブロック数が不足している場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 起動先のアプリケーションを起動できない場合に発生します。
IllegalStateException -
ネイティブ機能との競合により、 起動先のアプリケーションを起動できない場合に発生します。

getAppFaceState

public final int getAppFaceState()
このアプリケーションの、現在の表示状態を取得します。

戻り値:
このアプリケーションの現在の表示状態を表す定数を返します。 具体的には STAR_FACESTATE_FULL_NORMAL、 STAR_FACESTATE_MINI_FOCUSED、 STAR_FACESTATE_MINI_UNFOCUSED、 STAR_FACESTATE_MINI_SELECTED のいずれかを返します。

getThisStarApplication

public static final StarApplication getThisStarApplication()

現在実行中の StarApplication インスタンスを返します。

戻り値:
StarApplication インスタンスを返します。

getStarApplicationManager

public final StarApplicationManager getStarApplicationManager()
アプリケーションマネージャを表すオブジェクトを取得します。 取得できるオブジェクトの詳細については StarApplicationManager クラスの説明を参照してください。

戻り値:
アプリケーションマネージャを表すオブジェクトを返します。 常に同一のオブジェクトを返します。


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ドコモの商標または登録商標です。

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