Android 4.0から装備された機能の1つにアンドロイド・ビーム(Android Beam)があります。ヒーローの必殺技みたいな名前ですが、前回紹介したNFCを使うもので、2つのNFC対応アンドロイドマシンの間でデータを交換するためのものです。他の方法と違い、対応アプリケーションで転送対象などを選択している状態で、2つのデバイスのNFCアンテナ部分(機器背面などに必ずマークがある)を向かい合わせるだけで転送が完了します。

設定の「無線とネットワーク」→「その他」に「Androidビーム」の項目があれば、アンドロイド・ビームは利用可能

他の方法、たとえば、無線LANやWifiダイレクト、Bleutoothなどでは、相手が信頼できる場合にのみ相手機器を登録し、実際の転送処理などは、信頼済みの相手に対して(無線LANの場合には、信頼できるアクセスポイントに接続しているネットワーク機器)に対してのみ通信を行います。

このため、通信に先立って、ペアリングのような作業を行う必要があります。自分が所有している機器や自宅のアクセスポイントなどと利用する場合には問題はないのですが、たとえば、他人にファイルを送るといった場合には、少し面倒な作業です。

こうした登録が必要なのは、無線では、有線のように通信可能な相手を特定できないため、隠れている信頼できない端末などと間違って接続してしまい、セキュリティ上の問題を起こさないようにしてあるのです。

しかし、NFCの場合、前回解説したように、近距離の通信しかできないため、実質、向かい合わせた相手以外と間違って通信してしまう可能性もなければ、通信を盗聴されたり、成りすましが行われる可能性もありません。このため、他の通信方式のようにあらかじめ相手を登録しておくという必要がないわけです。

アンドロイド・ビームの場合、こうした手軽さを生かすために、ユーザーインタフェースにも工夫が必要です。つまり、他の通信方式のように、転送するデータを選択して、相手を指定してといった面倒なやり方では、せっかくのNFCの簡便さが損なわれてしまいます。

たとえば、写真を表示するギャラリーは、写真を選択して表示しているときに、他のNFC対応アンドロイドと向かい合わせにするだけで、転送の確認状態となり、画像をタップするだけで転送が開始されます。

ギャラリーで画像を選択した状態で、アンドロイド機のNFCアンテナ部分を向かい合わせるとアンドロイドビームによる転送待ち状態となる

また、受信はシステム側が行うため、特に転送されるデータに関連したアプリケーションを起動する必要も、受信を確認する必要もありません。

送信側、受信側とも通知領域に転送中であるとの項目が表示され、これを使えば、転送を途中で中断することもできます。

転送したデータは、ダウンロードフォルダにデータが入り、写真ならば、ギャラリーを開けば、画像を表示できるようになります。転送中の通知が転送終了の通知となり、これをタップすることで、受信画像を見ることも可能です。

受信側では操作は必要なく、アンドロイドビームで転送された画像はbeamフォルダに入り、ギャラリーからアクセス可能になる

「連絡先」アプリでは、転送したい連絡先を表示させているときに、アンドロイド同士を向かい合わせれば、送信確認が行われ、受信側では、自動的に「連絡先」アプリが起動します。アンドロイドビームには、受信側でアプリケーションを起動を要求する機能があり、このように特定のアプリケーションで受信データを扱わせることもできます。

4.1で改良されたアンドロイド・ビーム

Android 4.0から装備されたアンドロイドビームですが、4.0と4.1では、動作が少し違っています。NFCの欠点は、400kbps程度と転送速度がはやくないことです。もともと小容量のデータの転送しか想定していないことに加え、利用する周波数も13.56MHzとあまり高くありません。無線を使う通信では、送信周波数(搬送波周波数)が高いほど高速な転送が可能になるという原理があります。このため、逆に周波数が低いと高速な転送ができないのです。

400kbpsでは、1メガバイトの画像を送るのに20秒以上かかってしまいます。これでは、スマートフォン用といえども実用性が低くなってしまいます。アドレス帳データやURLなどの数10キロバイト程度のデータであれば、実用的な時間なのですが、画像データなどのやりとりには向きません。

そこで、Android 4.1では、データの転送にBluetoothを併用するようになっています。NFCの標準化を進めるNFC Forumと、Bluetoothの仕様策定団体であるBluetooth SIGは、共同で、「Bluetooth Secure Simple Pairing Using NFC」という仕様を作りました(BTSSPなどと呼ばれます)。これは、NFCとBluetoothを併用するためのものです。この仕様を利用すると、以下のようなことが可能になります。

  1. デバイスの選択
  2. セキュリティの高い接続(通信)
  3. アプリケーションの起動

ペアリングの動作そのものは定義せず、そのために必要な機能のみを定義しています。このため、実際の動作は、実装にまかされています。アンドロイドの場合、こうした仕組みを使って、ファイル転送時に大きなファイルを直接NFCでは送らずに、Bluetooth側に転送を任せてしまいます。こうした動作を「Handover」といい、そのための仕様(NFC Connection Handover)も定められています。

NFCで転送が開始されるものの、実際の転送はBluetoothで行われるため、アンドロイドマシン同士をずっと向かい合わせておく必要はありません。ただし、現在の実装では、Bluetooth側で転送が始まったことを表示してはくれないので、機器同士を離すときには、転送を開始してちょっとまってから行う必要があるようです。タイミングが悪いとときどき転送が失敗することがあります。

Bluetoothの転送範囲は10メートル程度なので、少しぐらいは離しても問題はありません。ただ、電波なので、なにかに遮られる可能性はあり、転送が終了するまではカバンなどにしまわないほうがいいでしょう。

カメラで撮った写真をその場で相手に渡すなんてときにアンドロイドビームはすごく便利です。Android 4.0以上でNFC対応というとまだ、それほど多くないとおもわれがちですが、今年出た「おサイフ」機能付きの機種は、ほとんどがNFC機能を持っているので、日本国内に限っていえば、それほど少数派というわけでもありません。設定の「無線とネットワーク」→「その他」にAndroidビームの項目があれば、利用可能です。

編集部注: 本稿は、2012年10月22日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。