com.j_phone.system
クラス ApplicationManager

java.lang.Object
  |
  +--com.j_phone.system.ApplicationManager

public class ApplicationManager
extends java.lang.Object

Java アプリケーションとネイティブシステムを連携するための機能を提供するクラスです。

ApplicationManager クラスは、以下の3つの機能を提供します。

Java VM 一時停止時の機能遷移

Java アプリケーションが Java VM を一時停止した時に遷移するネイティブシステムの機能を setPausedTransitMenu() メソッドによって指定することができます。 指定できる機能を以下に示します。

レコードストアのフラッシュ

flushRMS() メソッドによって、 その時点で Java VM が保持しているレコードストアのデータをストレージにフラッシュすることができます。 このメソッドを呼び出さない場合でも、 Java アプリケーションが終了するときにはレコードストアのデータは自動的にフラッシュされます。

タイマ起動の設定

継続起動型の Java アプリケーションは、 scheduleWakeup() メソッドによって、タイマ起動を設定することができます。 タイマ起動とは、一時停止状態にある Java アプリケーションを指定した時間に再開させる機能のことです。

一時停止状態にある Java アプリケーションがタイマ起動によって再開するときは、 Javaアプリケーションの startApp() メソッドが呼び出されます。 その後 setWakeupListener()メソッドで登録した WakeupListener インタフェースを実装したオブジェクトの wakeup() メソッドが呼び出されます。

getWakeup() メソッドによってタイマ起動までの残り時間を取得できます。 cancelWakeup() メソッドによって一度設定したタイマを解除できます。

以下にタイマ起動を設定する例を示します。
   ApplicationManager am = ApplicationManager.getInstance();
 
   // タイマを5分後に設定してアプリケーションを一時停止
   am.scheduleWakeup(5 * 60);
   pauseApp();
   notifyPaused();
 

導入されたバージョン:
JSCL 1.2

フィールドの概要
static int F_MENU
          setPausedTransitMenu()で設定するネイティブシステムの画面でFメニュー画面を示します。
static int J_SKY_MENU
          setPausedTransitMenu()で設定するネイティブシステムの画面でJ-Sky選択画面を示します。
static int MAIL_MENU
          setPausedTransitMenu()で設定するネイティブシステムの画面でメール画面を示します。
static int WEB_MENU
          setPausedTransitMenu()で設定するネイティブシステムの画面でWeb画面を示します。
 
メソッドの概要
 void cancelWakeup()
          タイマ起動を解除します。
 void flushRMS()
          レコードストアのデータをストレージにフラッシュします。
static ApplicationManager getInstance()
          唯一の ApplicationManager インスタンスを取得します。
 int getWakeup()
          タイマ起動するまでの残りの時間を取得します。
 void scheduleWakeup(int time)
          タイマ起動を設定します。
 void setPausedTransitMenu(int type)
          Java VM が一時停止した時に遷移するネイティブシステムの画面を指定します。
 void setWakeupListener(WakeupListener listener)
          タイマ起動を待ち受けるリスナを登録します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

F_MENU

public static final int F_MENU
setPausedTransitMenu()で設定するネイティブシステムの画面でFメニュー画面を示します。

J_SKY_MENU

public static final int J_SKY_MENU
setPausedTransitMenu()で設定するネイティブシステムの画面でJ-Sky選択画面を示します。

MAIL_MENU

public static final int MAIL_MENU
setPausedTransitMenu()で設定するネイティブシステムの画面でメール画面を示します。

WEB_MENU

public static final int WEB_MENU
setPausedTransitMenu()で設定するネイティブシステムの画面でWeb画面を示します。
メソッドの詳細

getInstance

public static ApplicationManager getInstance()
唯一の ApplicationManager インスタンスを取得します。 ApplicationManger クラスのメソッドを使用する場合はこのメソッドでインスタンスを取得してください。
戻り値:
ApplicationManager のインスタンス

setPausedTransitMenu

public void setPausedTransitMenu(int type)
                          throws java.lang.IllegalArgumentException,
                                 java.lang.RuntimeException
Java VM が一時停止した時に遷移するネイティブシステムの画面を指定します。

このメソッドは、Java VM を一時停止状態にはしません。 Java VM を一時停止状態にしてネイティブシステムのメニュー画面を表示するためには、 MIDlet クラスの notifyPaused() メソッドを呼び出す必要があります。

ユーザーの操作、音声着信、およびメール着信によって Java VM が一時停止した場合は、 このメソッドによる設定は無視されます。

MIDlet セレクタから起動された Java アプリケーションの場合、 notifyPaused()メソッドを呼び出すと Java アプリケーションが一時停止して MIDlet セレクタ画面へ遷移します。 このとき Java VM は一時停止状態になりません。 したがって、 MIDlet セレクタから起動された Java アプリケーションがこのメソッドを呼び出した場合の動作は保証できません。

パラメータ:
type - 遷移するネイティブシステムの画面の種類を以下のどれかで指定する
例外:
java.lang.IllegalArgumentException - typeに指定された値が F_MENU、J_SKY_MENU、MAIL_MENU、 WEB_MENU 以外の値だった場合に発生する
java.lang.RuntimeException - その他の実行時エラーが発生した場合に発生する

scheduleWakeup

public void scheduleWakeup(int time)
                    throws java.lang.IllegalArgumentException,
                           java.lang.RuntimeException
タイマ起動を設定します。

指定されたタイマ通知時刻にJavaアプリケーションが一時停止状態だった場合、 Java アプリケーションの startApp() メソッドが呼び出されて再開されます。 その後、setWakeupListener() メソッドで登録したリスナに対して通知されます。 指定されたタイマ通知時刻に Java アプリケーションが起動していた場合は、 登録されたリスナへの通知だけが行われます。

引数timeには、Java アプリケーションを何秒後に起動するか、その秒数を 1 から 86400 の範囲で指定してください。 指定された値が小さすぎる場合に丸められる最低値は機器に依存します。

継続起動型の Java アプリケーション(JADファイルの MIDlet-Resident デスクリプタが「S」の場合)だけ設定できます。

MIDlet セレクタから起動された Java アプリケーションがこのメソッドを呼び出した場合の動作は保証できません。

パラメータ:
time - タイマ起動するまでの時間(秒)
例外:
java.lang.IllegalArgumentException - time に1〜86400の範囲外の値が指定された場合に発生する
java.lang.RuntimeException - タイマを設定できなかった場合に発生する

cancelWakeup

public void cancelWakeup()
                  throws java.lang.RuntimeException
タイマ起動を解除します。 タイマ起動が設定されていない場合は何もしません。
例外:
java.lang.RuntimeException - タイマを解除できなかった場合に発生する。

getWakeup

public int getWakeup()
              throws java.lang.RuntimeException
タイマ起動するまでの残りの時間を取得します。
戻り値:
残り時間(秒)。タイマを設定していない、またはタイマが起動した後は0。
例外:
java.lang.RuntimeException - 残り時間を取得できなかった場合に発生する

setWakeupListener

public void setWakeupListener(WakeupListener listener)
タイマ起動を待ち受けるリスナを登録します。
パラメータ:
listener - 新しい WakeupListener

flushRMS

public void flushRMS()
レコードストアのデータをストレージにフラッシュします。
導入されたバージョン:
JSCL1.2