• 検索結果がありません。

第 9 章 待ち受けアプリケーション

10.4 IrSimple

DoJa-5.1 プロファイル以降の携帯電話の中には、オプショナル機能としてiアプリからの IrSimple

の利用をサポートするものがあります。 IrSimple を利用すると高速、大容量の赤外線通信が行える 一方、一部機能の利用に制限が生じるなどの注意事項もあります。

以下に、iアプリからの IrSimple の利用方法とその注意点について記載します。

IrSimple をサポートする機種のために、 DoJa-5.1 プロファイルでは OBEX 外部接続 API に以下のメ

ソッド、フィールドが追加されています。

● ClientObexConnection.connect(int mode)

OBEXクライアント側から、通信モードを指定して赤外線通信のリンクを確立します(通信モードとは ObexConnectionのCOMM_MODE定数のことです)。IrSimpleを利用するための指定は、connect() メソッドに設定する通信モード引数で行います。

● ObexConnection.getCommMode()

リンクが確立されたコネクションオブジェクトから、現在の通信モードを取得します。

● ObexConnection.COMM_MODE_IRDA

通信モード定数で、従来互換のIrDA通信であることを表します。

● ObexConnection.COMM_MODE_IRSIMPLE_INTERACTIVE

通信モード定数で、IrSimple双方向通信であることを表します。IrSimple双方向通信では、従来のIrDA などと同様に、OBEXサーバーとOBEXクライアントの間でデータ転送の送達確認や再送制御などを行 い、信頼性の高い通信を実現します。

● ObexConnection.COMM_MODE_IRSIMPLE_UNILATERALLY

通信モード定数で、IrSimple片方向通信であることを表します。IrSimple片方向通信では、OBEXクライ アント側から一方通行的にデータを送信し、クライアント・サーバー相互の送達確認や再送制御は行い ません。このため、双方向通信のような高い信頼性は得られませんが、より高速、高効率な通信を行う ことができます。

IrSimple を使用する場合には、OBEX クライアント側iアプリの通信リンク確立処理において、

connect(int)メソッドの引数に ObexConnection.COMM_MODE_IRSIMPLE_INTERACTIVE も しくは ObexConnection.COMM_MODE_IRSIMPLE_UNILATERALLY を指定してください。

IrSimple を使用する場合、従来の IrDA と比較して以下の点が異なります。

・ OBEXクライアントは、GETオペレーションを使用することはできません。IrSimpleを使用する場合、OBEX クライアントはPUTオペレーションのみ使用することができます。さらにIrSimple片方向通信では、1回 の通信リンク確立につき、実行可能なオペレーションの回数は1回に限られます。

・ OBEXクライアントが一度のPUTオペレーションで送信可能なデータサイズの制限は、2Mバイト以内ま でに緩和されます。

なお、 OBEX サーバーが IrSimple に対応していない状況で、 OBEX クライアントが IrSimple の利用

を試みた場合は以下のような動作となることに注意してください。

Copyright Ⓒ 2008-2012 NTT DOCOMO, Inc. All Rights Reserved.

1. OBEXクライアントがIrSimple双方向通信で接続しようとした場合

IrSimpleをサポートしていないOBEXサーバーに対して、OBEXクライアントがIrSimple双方向通信で接

続しようとすると、IrSimpleではなく、従来互換のIrDA通信の通信リンクが確立されます。

2. OBEXクライアントがIrSimple片方向通信で接続しようとした場合

IrSimple片方向通信では、OBEXクライアントはOBEXサーバーがIrSimpleをサポートしているかどうか、

さらには対向側にIrDA機器が存在しているかどうかにも関係なく、一方的にデータを送信し、例外等も 発生することなく正常に処理を完了させます。対向側のOBEXサーバーがIrSimpleをサポートしていない 場合、OBEXクライアントは正常にデータ転送を完了させますが、OBEXサーバー側は接続要求に応答せ ず、受信待ち状態で待ち続けます。

注意事項:

● IrSimpleを使用する際も、Connector.open()メソッドに指定するURL文字列は、通常のIrDA通信を行う 際と同じもの(”obex:/irclient”、” obex:/irserver”)を指定します。

● IrSimpleをサポートしていない携帯電話でClientObexConnection.connect(int)メソッドや

ObexConnection.getCommMode()メソッドを使用した場合、UnsupportedOperationExceptionがス ローされます。

● IrSimple片方向通信では、OBEXクライアントからOBEXサーバーに向けて一方通行的に通信が行われるた

め、OBEXクライアントのリクエストに対してOBEXサーバーがレスポンスを返すことはありません。しか し、iアプリのOBEXサーバーにIrSimple片方向通信を処理させる場合には、ServerObexConnection.

receiveRequest()メソッドでリクエストを受け取ったら、それに対応してServerObexConnection.

sendResponse()メソッドを使用するようにしてください(これらのメソッドの利用方法については10.2.2 項も参照してください)。

【DoJa-5.1】

IrSimpleのためのAPIは、DoJa-5.1プロファイルにて新設されました。

Copyright Ⓒ 2008-2012 NTT DOCOMO, Inc. All Rights Reserved.

第 11 章 アプリケーション連携

DoJa-2.0 プロファイルでは、iアプリと、ブラウザやメーラなど携帯電話上のネイティブアプリケ

ーションとの間での連携起動がサポートされました。また DoJa-3.0 プロファイル以降では、連携 起動の範囲を拡大(iアプリ-iアプリ間など)するとともに、iアプリからブックマーク管理機 能や画像データ管理機能などネイティブ機能の呼び出しをサポートするなどアプリケーション連 携の拡張が図られました。これらの機能を利用することで、iアプリの機能だけでなく携帯電話の 機能をフル活用したサービスをiアプリで提供することができます。

なお、機能の性格上、アプリケーション連携機能の一部はトラステッドiアプリの範囲に含まれま す。本書ではトラステッドiアプリに含まれる機能の解説は行いません。本書で解説される機能は、

トラステッドiアプリ以外の一般のiアプリでも使用することができます。

各プロファイルでサポートされているアプリケーション連携機能の内容は以下の通りです。

※ アプリケーション連携起動

連携機能の概要 DoJa-2.0 以降

DoJa-3.0 以降

DoJa-4.1 以降

DoJa-5.0 以降

ブラウザからのiアプリ起動

iアプリからのブラウザ起動

メーラからのiアプリ起動

外部機器(赤外線ポート)からのiアプリ起動

iアプリからのiアプリ起動 ×

iアプリからのiアプリ更新機能(JAM)の起動 ×

※ iアプリからのネイティブ機能呼び出し

連携機能の概要 DoJa-2.0 以降

DoJa-3.0 以降

DoJa-4.1 以降

DoJa-5.0 以降

通話機能の呼び出し(通話発信)

通話機能の呼び出し(個体識別情報の参照) △(*1) 電話帳管理機能の呼び出し(電話帳エントリ、電話帳グループの新規登録) × ブックマーク管理機能の呼び出し(ブックマークの新規登録) × スケジュール管理機能の呼び出し(スケジュールの新規登録、iアプリから

のスケジューラの起動) × ○(*3) ○(*3) ○(*3) 画像データ管理機能の呼び出し(画像の新規登録・選択読み込み・ID指定読

み込み) ×

カメラ機能の呼び出し(撮影および撮影画像の取得) △(*2) 映像データ管理機能の呼び出し(映像データ(iモーション)の新規登録) × × (*1) 個体識別情報の参照は、DoJa-2.1プロファイルでiアプリ基本APIに追加されました。

(*2) カメラ機能の呼び出しは、DoJa-2.0プロファイルではiアプリオプションAPIとして一部の機種でサポートされまし た。DoJa-3.0プロファイルでは、それらの機能を一部強化した上でiアプリ基本APIに取り入れられています。

Copyright Ⓒ 2008-2012 NTT DOCOMO, Inc. All Rights Reserved.

(*3) スケジュール管理機能の呼び出しのうち、iアプリからのスケジューラの起動についてはDoJa-4.1プロファイルまで はiアプリオプションAPIの位置づけです。この機能は、DoJa-5.0プロファイルにてiアプリ基本APIの位置づけに 変更されました。

本章では、アプリケーション連携機能の利用方法、および各種制限事項などについて解説します。