フラッシュライトAPI概要

【APIの説明】

フラッシュライトAPIについて

 FlashLight はフラッシュライト(モバイルライト)を使用したアプリケーションを開発可能にするため、標準の SDK をベースとした、FlashLight ライブラリを提供します。
FlashLgiht ライブラリの一部は標準の Android ライブラリではないため、標準 のAndroid 上には存在していないかもしれません。
同じく、FlashLight ライブラリは SDK として提供されている標準Android ライブラリに含まれていません。

フラッシュライトの起動、終了について

FlashLight.setFlashLightOn()を使用することで、実機に付属しているフラッシュライトを点灯することが可能です。
この際、点灯する色、パターンを指定することができます。
FlashLight.setFlashLightOff()を使用することで、点灯したライトを消灯することが可能です。
また、点灯中に新しくパラメーターを指定し、FlashLight.setFlashLightOn()を使用することで、点灯中の色、点灯パターンの変更が可能です。

このAPIを使用するには

SDKへAddOnの追加と、Manifestファイルへライブラリの参照およびAPIを使用するためのパーミッションを記述する必要があります。

【パッケージ/クラス一覧】

パッケージ名 クラス名 備考
jp.co.sharp.android.hardware FlashLight フラッシュライトのクラス

【APIの使い方】

Manifestファイルの記述

Android1.6用は以下の設定になります。
まず、Manifestファイルへ、アプリケーションでフラッシュライトが 参照するライブラリの参照設定を行います。
Manifestファイルの<application>要素の子要素に<user-library>を追加します。
<user-library>のandroid:name属性に jp.co.sharp.android.hardware を設定します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.package.name">
  ...
  <application android:name="MyApplication" >
    <uses-library android:name="jp.co.sharp.android.hardware" />
    ...
  </application>
  ...
</manifest>

Android2.1用は以下の設定になります。
まず、Manifestファイルへ、アプリケーションでフラッシュライトが参照するライブラリの参照設定を行います。
Manifestファイルの<manifest>要素の子要素に<uses-feature>と、 <application>要素の子要素に<uses-library>を追加します。
<uses-library>のandroid:name属性にjp.co.sharp.android.hardwareを設定します。
<uses-feature>のandroid:name属性にjp.co.sharp.android.hardware.flashlightを設定します。
<uses-feature>のandroid:required属性にtrueを設定します。
<uses-feature>を設定することにより、弊社端末以外でGoogle Playにアクセスした場合に表示されないようになります。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.package.name">
  ...
  <application android:name="MyApplication" >
    <uses-library android:name="jp.co.sharp.android.hardware" />
    ...
  </application>
  <uses-feature
              android:name="jp.co.sharp.android.hardware.flashlight"
              android:required="true" />

  ...
</manifest>

以下からは共通の設定になります。
次に、アプリケーションで、フラッシュライト を使用するための、パーミッション設定をします。
Manifestファイルの<manifest>要素の子要素に<uses-permission>を追加します。
<uses-permission>のandroid:name属性にandroid.permission.FLASHLIGHT を設定します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.package.name">
  ...
  <application android:name="MyApplication" >
    <uses-library android:name="jp.co.sharp.android.hardware.flashlight" />
    ...
  </application>
  ...
  <uses-permission android:name="android.permission.FLASHLIGHT">
  </uses-permission>

  ...
</manifest>

これらの宣言がなければ、フラッシュライトを使用することができないため、注意してください。

FlashLightを操作するメソッドの使用方法

○FlashLightクラスの作成
FlashLightクラスを作成し、APIを使用します。

FlashLight mFlashLight = new FlashLight();

○フラッシュライトを点灯させる(通常の点灯の場合)

FlashLight mFlashLight = new FlashLight();
 
//通常の点灯時は、ライトの色のみ指定します
mFlashLight.setFlashLightOn(FlashLight.LIGHT_COLOR_WHITE);

○フラッシュライトを点灯させる(点滅させる場合)

FlashLight mFlashLight = new FlashLight();
 
//点滅させる場合は、ライトの色、点灯する時間(ms)、消灯する時間(ms)を
//指定します

mFlashLight.setFlashLightOn(FlashLight.LIGHT_COLOR_WHITE, 500, 500);

○フラッシュライトを消灯させる

FlashLight mFlashLight = new FlashLight();
mFlashLight.setFlashLightOn(FlashLight.LIGHT_COLOR_WHITE);
 
//点灯したライトを消灯します
mFlashLight.setFlashLightOff();

【その他の特記事項】

フラッシュライト点灯のパラメータについて

ライト点灯時に指定できる色の値は次の通りです。

ライトの色 定数
FlashLight.LIGHT_COLOR_WHITE int 1
FlashLight.LIGHT_COLOR_RED int 2

他アプリとの競合について

他アプリケーションがフラッシュライトを使用中は、正常に操作出来ないことが有ります。

Android 1.6とAndroid 2.1の両方に対応させようとした場合

●Android 1.6用SDK AddOnを使用する場合
Android 1.6用API概要とリファレンスの規定に従い、AndroidManifest.xmlでuses-library、uses-permission、uses-sdkを指定してビルドください。
2.1の端末でも動作可能です。

●Android 2.1用ADK AddOnを使用する場合
Android 1.6上で動作できるようにするためには、AndroidManifest.xmlで uses-library、uses-permission、uses-sdk を指定してビルドください。
ただし、uses-sdkはandroid:minSdkVersion="4"に設定する必要があります。
ビルド時に警告メッセージを表示しますが、ビルド後のAPKはAndroid 1.6の端末にもインストール可能です。

なお、上記3つに加えて、Android 2.1で追加したuses-featureを指定してビルドすることも可能です。
feature指定すると、公開APIを利用したアプリケーションをマーケットに公開した際、feature指定した機能がない端末へのインストールを制限することができます。

  • ※この指定をしないと、Android 1.6には存在しない機能を使ったアプリケーションもAndroid 1.6にインストールできてしまいます。その場合、実行時にException発生して強制終了になります。
  • ※ 2011年2月22日 Android2.1用のManifestファイルの記述を修正致しました。
  • ※ 2010年12月10日 Android2.1用のManifestファイルの記述を追記致しました。
このページの先頭へ