|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.StarApplication
public abstract class StarApplication
Star アプリケーションの雛型を提供します。 アプリケーションは必ずこのクラスを継承して作成しなければなりません。
このクラスはアプリケーションのライフサイクルを定義します。 ライフサイクルの状態変更をアプリケーションに通知するメソッドや、 アプリケーションから状態変更を要求するためのメソッドなどが定義されています。
Star アプリケーションのライフサイクルには、 Started 状態、 Active 状態、 Suspended 状態、 Terminated 状態の4つの状態があります。 それぞれの状態の定義は以下の通りです。
アプリケーション起動直後の状態です。
このクラスのコンストラクタ内のコード実行中も含まれます。
アプリケーションマネージャ
は、アプリケーションを起動すると、
最初にコンストラクタを実行し、その後に started(int)
メソッドを呼び出します。
started(int) メソッドの実行が完了すると、
アプリケーションの状態は
Active
状態に移行します。
言い換えると、この状態下で実行して欲しいコードは started(int)
メソッド内に書いておく必要があります。
この状態下では、アプリケーションが
suspend() メソッドにより自発的にサスペンドすることはできません。
音声着信など
Suspended 状態に移行するような事象が発生した場合にはサスペンドしますが、
その場合でも復帰時には activated(int)
メソッドは呼び出されず、単純にサスペンド直前の状態から実行を再開します。
なお、Started 状態完了後には通常通り
activated(int) がコールバックされます。
アプリケーション実行中を表す状態です。
この状態に移行する時には activated(int) メソッドが呼び出されます。
Active 状態には、以下の2つの副状態が規定されています。
各副状態への遷移は、 アプリケーションマネージャ により行われ、副状態が変化するごとに
stateChanged(boolean) メソッドが呼び出されます。
アプリケーションがバイトコードを実行できない状態です。 この状態に移行することをサスペンドすると表現することもあります。 この状態下では、アプリケーションはシステムメモリを占有したままとなっており、 レジューム時には、サスペンド直前の状態から実行を再開します。
Suspended
状態への移行は、 アプリケーションマネージャによってなされる事がほとんどですが、
suspend() を呼び出すことで、
アプリケーションが自発的にサスペンドすることもできます。
Active 状態においてサスペンドした場合は、
アプリケーションがレジュームすると、activated(int)
が呼び出され、
Active
状態となります。
Started 状態においてサスペンドした場合には、
レジューム時にはコールバックは行われません。
状態遷移時の通知メソッド(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 つの状態があります。 ミニアプリの表示状態はユーザ操作等によって任意のタイミングで遷移します。 ミニアプリのそれぞれの表示状態について以下に簡単に説明します。
このクラスに定義されているアプリケーションの実行タイプや表示状態に関するメソッドの利用方法について以下に説明します。
アプリケーションの実行タイプを取得するには getAppType() を呼び出します。
アプリケーションの実行タイプは、アプリケーションの起動から終了まで変わりません。
現在の実行タイプのアプリケーションから、
同一 Jar パッケージ内に格納されている別の実行タイプのアプリケーションを連携起動するには
changeAppType(int, Hashtable)
を呼び出します。このメソッドは、現在実行中のアプリケーションを終了して、
別の実行タイプのアプリケーションを起動します。
アプリケーションの現在の表示状態を取得するには getAppFaceState() を呼び出します。
ミニアプリの起動直後、および、レジューム直後には、必要に応じて現在の表示状態を取得して下さい。
ミニアプリのサスペンド直前とレジューム直後では、表示状態が同じであるとは限りません。
ミニアプリ実行中に表示状態が遷移した場合にその通知を受けるには、
addEventListener(int, StarEventListener) に該当するイベントを登録します。
ミニアプリ実行中に表示状態が遷移すると、対応するリスナにイベントが通知されます。
ミニアプリが自らサスペンド中に表示状態が遷移したことを契機にレジュームするには、
addWakeupEvent(int) に該当するイベントを登録します。
ミニアプリが自らサスペンド中に表示状態が遷移すると、
それを契機にミニアプリはレジュームします。
| フィールドの概要 | |
|---|---|
static int |
ACTIVATED_BY_KEY_TOUCHED
活性化された(レジュームされた)理由を表す定数の一つで、 自らサスペンド中に、 ユーザがキーに触れたことによって活性化されたことを表します(=-4)。 |
static int |
ACTIVATED_BY_NATIVE
活性化された(レジュームされた)理由を表す定数の一つで、 アプリケーションマネージャ などのネイティブ機能により活性化されたことを表します(=-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]
連携起動ではなく、直接、地図プラットフォームとして起動されたアプリであることを表す起動タイプです(=26)。 |
static int |
LAUNCHED_BY_BLUETOOTH_REMOTE_DEVICE [iアプリオプションAPI]
Bluetooth 外部機器からの接続により起動されたことを表す起動タイプです(=30)。 |
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_CONTENTS_PACKAGE
コンテンツパッケージから起動されたことを表す起動タイプです(=31)。 |
static int |
LAUNCHED_FROM_DTV [iアプリオプションAPI]
デジタルテレビアプリケーションからの連携によって起動されたことを表す起動タイプです(=17)。 |
static int |
LAUNCHED_FROM_EXT
外部インタフェースから起動されたことを表す起動タイプです(=4)。 |
static int |
LAUNCHED_FROM_FACE
MyFACE から起動されたことを表す起動タイプです(=32)。 |
static int |
LAUNCHED_FROM_FELICA_ADHOC [iアプリオプションAPI]
非接触IC 外部 R/W からの連続データ転送によって起動されたことを表す起動タイプです(=19)。 |
static int |
LAUNCHED_FROM_FULLAPPLI
同一 JAR パッケージ内のフルアプリからの連携によって起動されたことを表す起動タイプです(=22)。 |
static int |
LAUNCHED_FROM_ICCARD_USAGE [iアプリオプションAPI]
IC カード利用状況から起動されたことを表す起動タイプです(=33)。 |
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)
アプリケーション開始時に、 アプリケーションマネージャ によって一度だけ呼び出されます。 |
void |
stateChanged(boolean isFullActive)
Active 状態下において、 アプリケーションの現在の副状態が変化した場合に呼び出されます。 |
void |
suspend()
Suspended 状態への遷移を要求します。 |
void |
terminate()
アプリケーションを終了するための唯一のメソッドです。 |
| クラス Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int ACTIVATED_FROM_STARTED_STATE
started(int)の実行完了により活性化されたことを表します(=0)。
public static final int ACTIVATED_BY_WAKEUP_TIMER
activated(int),
setWakeupTimer(long),
定数フィールド値public static final int ACTIVATED_BY_WAKEUP_TIMER_DELAYED
activated(int),
setWakeupTimer(long),
定数フィールド値public static final int ACTIVATED_BY_NATIVE
activated(int),
定数フィールド値public static final int ACTIVATED_BY_KEY_TOUCHED
activated(int),
suspend(),
定数フィールド値public static final int STAR_STATE_STARTED
getAppState(),
定数フィールド値public static final int STAR_STATE_FULLACTIVE
getAppState(),
定数フィールド値public static final int STAR_STATE_SEMIACTIVE
getAppState(),
定数フィールド値public static final int STAR_TYPE_FULLAPPLI
getAppType(),
changeAppType(int, Hashtable),
定数フィールド値public static final int STAR_TYPE_MINIAPPLI
getAppType(),
changeAppType(int, Hashtable),
定数フィールド値public static final int STAR_FACESTATE_FULL_NORMAL
getAppFaceState(),
定数フィールド値public static final int STAR_FACESTATE_MINI_FOCUSED
getAppFaceState(),
定数フィールド値public static final int STAR_FACESTATE_MINI_UNFOCUSED
getAppFaceState(),
定数フィールド値public static final int STAR_FACESTATE_MINI_SELECTED
getAppFaceState(),
定数フィールド値public static final int LAUNCHED_FROM_MENU
ミニアプリにおいては、通常のメニューから起動された場合、 Widget View のランチャーから起動された場合に、 この起動タイプとなります。
started(int),
定数フィールド値public static final int LAUNCHED_AFTER_DOWNLOAD
ミニアプリにおいても、ダウンロード直後(通常起動の1回目)に起動された場合に、 この起動タイプとなります。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_TIMER
ADFのLaunchAtキーによる起動に加えて、
Star アプリメニューでの設定による自動起動、
StarApplicationManager.setLaunchTime(int, ScheduleDate)
メソッドでの設定による起動の場合も含みます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_EXT
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_BROWSER
ブラウザからの連携によって起動されたことを表す起動タイプです(=5)。
ブラウザからの連携によるバージョンアップの場合も含みます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_MAILER
メーラからの連携によって起動されたことを表す起動タイプです(=6)。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_STARAPPLI
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_LAUNCHER
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_MSG_RECEIVED
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_MSG_SENT
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_MSG_UNSENT
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_LOCATION_INFO [iアプリオプションAPI]
位置情報から起動されたことを表す起動タイプです(=13)。
から起動された場合に、この起動タイプとなります。
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getParameter(String)
を用いて、起動元から渡された位置情報を取得することができます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_LOCATION_IMAGE [iアプリオプションAPI]
データ BOX に保存されている位置情報埋め込み画像から起動されたことを表す起動タイプです(=14)。
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getParameter(String)
を用いて、起動元から渡された位置情報や、
起動元の位置情報埋め込み画像 ID を取得することができます。
ImageStore.getEntry(int) の引数に、
取得した位置情報埋め込み画像 ID を指定することで、
起動元の位置情報埋め込み画像データへアクセスすることができます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_PHONEBOOK [iアプリオプションAPI]
電話帳から起動されたことを表す起動タイプです(=15)。
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getParameter(String)
を用いて、起動元から渡された位置情報や、
起動元の電話帳エントリ ID を取得することができます。
PhoneBook.getEntry(int) の引数に、
取得した電話帳エントリ ID を指定することで、
起動元の電話帳エントリへアクセスすることができます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_DTV [iアプリオプションAPI]
デジタルテレビアプリケーションから連携起動パラメータとしてサービス識別が渡されます。 サービス識別の値は、以下のいずれかの方法で取得することができます。
StarApplicationManager.getParameter("service_id")
を呼び出す方法。
この場合、サービス識別は文字列として取得できます。StarApplicationManager.getPushedEvent(int)
の引数に StarEventObject.STAR_CALLED_BY_DTV
を指定して呼び出し、CalledByDTVEvent
オブジェクトを取得する方法。
この場合、サービス識別は CalledByDTVEvent.getServiceId()
呼び出しにより、整数として取得できます。
サービス識別を文字列として取得した場合、
取得した文字列は、Integer.parseInt(String)
メソッドによって整数型に変換できることが保証されています。
ただし、連携起動パラメータとしてサービス識別が渡されなかった場合、
StarApplicationManager.getParameter("service_id") を呼び出すと null が返ります。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_TORUCA [iアプリオプションAPI]
トルカから起動されたことを表す起動タイプです(=18)。
トルカからの連携によるバージョンアップの場合も含みます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_FELICA_ADHOC [iアプリオプションAPI]
この起動タイプで起動しているアプリケーションは、
アドホック通信のデータ転送先アプリケーションとして呼び出されたことを意味します。
起動の契機となったイベントには、
StarApplicationManager.getPushedEvent(int)
の引数に StarEventObject.STAR_FELICA_ADHOC_REQUEST_RECEIVED
を指定することで取得できます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
StarApplicationManager.getPushedEvent(int),
定数フィールド値public static final int LAUNCHED_FROM_MENU_FOR_DELETION [iアプリオプションAPI]
FeliCa 機能を利用するアプリケーション(IC アプリ)のみ、 この起動タイプで起動される可能性があります。 この起動タイプで起動しているアプリケーションは、 アプリケーション削除のための最終処理(FeliCa IC チップ内のエリア/サービス削除、 コンテンツサービスの退会手続きetc) を行なうために呼び出されたことを意味します。 この起動タイプで起動されたアプリケーションは、 すみやかに最終処理を行なって下さい。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_BML [iアプリオプションAPI]
この起動タイプで起動しているアプリケーションは、
StarApplicationManager.getParameter("bml_param")
を呼び出すことで BML ブラウザから渡されたパラメータを取得することができます。
ただし、BML ブラウザからパラメータが渡されなかった場合、
StarApplicationManager.getParameter("bml_param") を呼び出すと null が返ります。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_FULLAPPLI
フルアプリにおいては、この起動タイプとなることはありません。
started(int),
changeAppType(int, Hashtable),
定数フィールド値public static final int LAUNCHED_FROM_MINIAPPLI
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
changeAppType(int, Hashtable),
定数フィールド値public static final int LAUNCHED_FROM_WIDGETVIEW
フルアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_BY_INVITE_MESSAGE
から起動された場合に、この起動タイプとなります。
この起動タイプで起動しているアプリケーションは、
StarApplicationManager.getPushedEvent(int) の引数に StarEventObject.STAR_INVITED を指定して呼び出し、
InvitedEvent オブジェクトを取得できます。
InvitedEvent オブジェクトから InvitedEvent.getLaunchParameter() メソッドを呼び出すことで起動パラメータを取得できます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
StarApplicationManager.getPushedEvent(int),
定数フィールド値public static final int LAUNCHED_AS_MAP_PLATFORM_DIRECTLY [iアプリオプションAPI]
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getParameter(String)
を用いて、起動時に測位した位置情報を取得することができます。
ただし、GPS測位を行わない設定になっている場合には、位置情報を取得することはできません。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_SELECTED_WORDS [iアプリオプションAPI]
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getParameter(String)
を用いて、起動時にネイティブアプリ上でユーザが任意に選択した文字列を取得することができます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_SCHEDULER [iアプリオプションAPI]
スケジューラからの連携によって起動されたことを表す起動タイプです(=28)。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_IMAGE [iアプリオプションAPI]
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getParameter(String)
を用いて、起動元の画像データのエントリ ID を取得することができます。
ImageStore.getEntry(int) の引数に、
取得した画像データのエントリ ID を指定することで、
起動元の画像データのエントリを取得することができます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_BY_BLUETOOTH_REMOTE_DEVICE [iアプリオプションAPI]
この起動タイプで起動しているアプリケーションでは、
StarApplicationManager.getPushedEvent(int) の引数に
StarEventObject.STAR_BLUETOOTH_CONNECT_REQUEST_RECEIVED を指定して呼び出すと、
BluetoothConnectionEvent オブジェクトを取得することができます。
BluetoothConnectionEvent.getDeviceDiscoveryResult() により、
接続要求元の外部機器を表すオブジェクトを取得することができます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
StarApplicationManager.getPushedEvent(int),
定数フィールド値public static final int LAUNCHED_FROM_CONTENTS_PACKAGE
ミニアプリにおいても、 コンテンツパッケージから起動された場合は、 この起動タイプとなります。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_FACE
MyFACE から起動されたことを表す起動タイプです(=32)。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値public static final int LAUNCHED_FROM_ICCARD_USAGE [iアプリオプションAPI]
IC カード利用状況から起動されたことを表す起動タイプです(=33)。
IC カード利用状況からの起動によるバージョンアップの場合も含みます。
ミニアプリにおいては、この起動タイプとなることはありません。
started(int),
定数フィールド値| コンストラクタの詳細 |
|---|
public StarApplication()
アプリケーションは、直接このクラスのインスタンスを生成してはなりません。
このクラスを継承したクラスでコンストラクタを明示的に定義する場合は、 アクセス修飾子が public で、かつ、引数なしである必要があります。
| メソッドの詳細 |
|---|
public abstract void started(int launchType)
アプリケーション開始時に、 アプリケーションマネージャ によって一度だけ呼び出されます。 引数には起動タイプが設定されています。 このメソッドの実行が完了するまでが Started 状態です。
launchType - このアプリケーションの起動タイプを表す定数(LAUNCHED_
から始まる定数)が設定されています。public void activated(int activateInfo)
アプリケーションが Active 状態に遷移した直後に呼び出されます。 具体的には以下の2つのタイミングで呼び出されます。
started(int) メソッドの実行が完了した直後サスペンド前と同じ副状態でレジュームするという保証はありません。 アプリケーションプログラマは、 本メソッド内で、 必ず現在の副状態を確認するようにして下さい。
started(int)メソッドの実行が完了した直後にこのメソッドが呼び出された場合、
引数には ACTIVATED_FROM_STARTED_STATE が設定されています。
Suspended状態から復帰した直後にこのメソッドが呼び出された場合、
引数にはレジューム理由が設定されています。
引数に正の値が設定されている場合は、
addWakeupEvent(int)
にて登録されたイベント発生によりレジュームされたことを表し、
レジュームする契機となったイベントの種類(StarEventObject
で定義されている定数)が設定されています。
StarEventObject クラスの説明もあわせて参照してください。
それ以外の理由でレジュームした場合には、
引数には負の値が設定されています。
その場合には、このクラスで定義されている ACTIVATED_
から始まる定数が、レジューム理由として設定されています。
activateInfo - 活性化された(レジュームされた)理由を表す定数、または、
レジュームする契機となったイベントの種類が設定されています。StarEventObject,
suspend(),
started(int),
addWakeupEvent(int)public void stateChanged(boolean isFullActive)
Active 状態下において、 アプリケーションの現在の副状態が変化した場合に呼び出されます。
Active 状態以外の状態から Active 状態へ遷移した場合には呼び出されません。
isFullActive - 新しい副状態が
Full-Active である場合は true に設定されています。public final int getAppState()
STAR_STATE_STARTED、
STAR_STATE_FULLACTIVE、
STAR_STATE_SEMIACTIVE のいずれかを返します。public final void suspend()
Suspended 状態への遷移を要求します。
このメソッドを呼び出すと、自分自身のスレッドも含め、
このアプリケーションの全てのスレッドが停止し、
Suspended 状態へ移行します。
また、このメソッドを呼び出すと、
Suspended
状態から復帰するまでブロックします。
このメソッド呼び出しによる Suspended 状態は、
addWakeupEvent(int) で登録したイベントの発生や、
setWakeupTimer(long) による起床タイマの発火などによって
レジューム復帰しますが、特に、
レジューム復帰の原因となるイベントがイベントキューに残っている状態で、
このメソッドを呼び出すと、即座にレジューム復帰します。
具体的なケースは以下の通りです。
addWakeupEvent(int) により登録されているイベントが
addEventListener(int, StarEventListener)
で登録されたリスナを管理しているイベントキューに残っている状態で、
このメソッドを呼び出した場合。
この場合に、レジューム時に呼び出される activated(int)
の引数は、
当該キューに残っている一番古い(一番先に発火するはずの)イベントを表す定数となります。
setWakeupTimer(long)
による起床タイマイベントがイベントキューに残っている状態で、
このメソッドを呼び出した場合。
この場合に、レジューム時に呼び出される activated(int)
の引数は ACTIVATED_BY_WAKEUP_TIMER_DELAYED となります。
特に、前者のケースは、
キュー内のイベント消費が進んでいない状態で複数回このメソッドを呼び出すと、
同一のイベント発生を理由に、
複数回の activated(int)
呼び出しが発生する可能性があることを意味しています。
一方、イベントリスナは、
イベント発生1回につき1回のみコールバックされることが保証されています。
したがって、イベント発生1回につき複数回処理されてはいけない内容は、
activated(int) ではなく
StarEventListener に記述するようにしてください。
Started 状態下または FEP 起動中に、このメソッドを呼び出すと、 Suspended 状態への遷移が アプリケーションマネージャ によって拒否され、例外が発生します。
addWakeupEvent(int),
setWakeupTimer(long)
IllegalStateException -
public final void terminate()
アプリケーションを終了するための唯一のメソッドです。 アプリケーションは、 自分自身を終了させるためにはこのメソッドを呼び出さなければなりません。
StarApplication のスコープで System.exit() が呼ばれた場合には
SecurityException が発生します。
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 -
public final void addWakeupEvent(int starEvent)
Suspended
状態から復帰する契機としたいイベント(起床イベント)を登録します。
このメソッドを用いてイベントを登録すると、
登録したイベントがサスペンド中に発生した場合にレジュームするようになります。
サスペンド中に登録したイベント発生によりレジュームした場合には、
その時に アプリケーションマネージャ から呼び出される activated(int)
メソッドの引数に、
レジュームする契機となったイベントの種類が設定されています。
ただし、
ここで登録したイベント発生により
Suspended
状態から復帰できるのは、
あくまでもアプリケーション自身が suspend()
呼び出しによって
Suspended
状態に移行した場合のみです。
アプリケーションマネージャ によって
Suspended
状態に移行した場合、
たとえここで登録したイベントが発生しても、
アプリケーションがレジュームすることは有りません。
上記も含めて、Suspended 状態中に発生したイベントの取り扱いについては
StarEventObject クラスの説明も参照してください。
既に登録したイベントを取り消すには、
removeWakeupEvent(int) や clearWakeupEvent()
を利用して下さい。
starEvent - レジュームする契機としたいイベントの種類を指定します。
StarEventObject クラスで定義されている定数を指定します。StarEventObject,
addEventListener(int, StarEventListener)
IllegalArgumentException -
starEvent に不正な値が指定された場合に発生します。
IllegalArgumentException -
starEvent
で指定したイベントが登録済みである場合に発生します。
IllegalStateException -
UnsupportedOperationException -
SecurityException -
public final void removeWakeupEvent(int starEvent)
addWakeupEvent(int)
で登録されているイベント(起床イベント)のうち、
引数で指定された起床イベントを削除します。
このメソッドを呼び出すと、
引数で指定されたイベントがサスペンド中に発生しても、
レジュームしなくなります。
starEvent - 削除したい起床イベントを指定します。
IllegalArgumentException -
public final void clearWakeupEvent()
addWakeupEvent(int)
で登録されているイベント(起床イベント)を全て削除します。
このメソッドを呼び出すと、
登録されていた全ての起床イベントが削除されます。
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 -
public final long getWakeupTimer()
起床タイマが発火するまでの残り時間をミリ秒単位で取得します。
public final int getAppType()
STAR_TYPE_FULLAPPLI、
STAR_TYPE_MINIAPPLI のいずれかを返します。
public final void changeAppType(int type,
java.util.Hashtable params)
引数 type には、変更したい実行タイプを指定します。 ただし、現在の実行タイプを指定した場合、IllegalStateException が発生します。
引数 params には、起動先アプリケーションに渡すパラメータを指定します。
具体的には、キーと値の組を複数個格納した
java.util.Hashtable クラスのオブジェクトを指定できますが、
下記の制限があります。
type - 変更したいアプリケーション実行タイプを指定します。
具体的には
STAR_TYPE_FULLAPPLI、
STAR_TYPE_MINIAPPLI のいずれかを指定します。params - 起動先アプリケーションに渡すパラメータを指定します。
IllegalStateException -
IllegalArgumentException -
IllegalStateException -
IllegalArgumentException -
ClassCastException -
IllegalArgumentException -
IllegalArgumentException -
SecurityException -
activated(int) の引数が
LAUNCHED_FROM_MENU_FOR_DELETION である)
場合に発生します。
SecurityException -
SecurityException -
SecurityException -
IllegalStateException -
public final int getAppFaceState()
STAR_FACESTATE_FULL_NORMAL、
STAR_FACESTATE_MINI_FOCUSED、
STAR_FACESTATE_MINI_UNFOCUSED、
STAR_FACESTATE_MINI_SELECTED
のいずれかを返します。public static final StarApplication getThisStarApplication()
現在実行中の StarApplication インスタンスを返します。
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。