2012年1月15日日曜日

イチからつくるADK「AdkLedの作成その7」AndroidManifest.xmlに追加

一からつくるADK「AdkLedの作成その6」の続きです。前回はイベントをフィルタするリソースの設定を行いましたが、今回はそのイベントをキックするアプリケーション設定を行います。AndroidManifest.xmlに、USBアクセサリが接続されたときにときに起動されるアプリの指定をします。


7. AndroidManifest.xmlにIntent Filterを追加する

7.1. プロジェクト「AdkLedProj」ー「AndroidManifest.xml」をダブルクリックします。


7.2. エディタ画面で右下の「AndroidManifest.xml」タブをクリックします。
XMLファイルを直接編集しましょう。

7.3. 以下の<uses-library>属性を追加します。
<uses-library android:name="com.android.future.usb.accessory" /> 
「com.android.future.usb.accessory」というのはライブラリ・パッケージの名称でネームスペース(名前空間)といいます。「com.android.future.usb.accessory」はAndroid 2.3.4 で USB accessory mode をサポートするためのパッケージで、このパッケージを使いたいために新規プロジェクトのビルドターゲットを「Google APIs 2.3.3」を選択していました。

7.3. 以下の<intent-filter>要素、<meta-data>要素を追加します。
<intent-filter>
    <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data
    android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
    android:resource="@xml/accessory_filter" />
「android.hardware.usb.action.USB_ACCESSORY_ATTACHED」はUSBアクセサリ接続が行われた状態(=AndroidがUSBデバイスとして接続された状態)を指します。
インテントフィルター指定でUSB接続の状態を検知したら、先ほど作成したリソースファイルxmlフォルダ内のaccessory_filterに基づいてアプリを起動します。

AndroidManifest.xmlファイルは以下の通りになります。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jp.co.socym.adkled"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="com.android.future.usb.accessory" />
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
            </intent-filter>
            <meta-data
                android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
                android:resource="@xml/accessory_filter" />
        </activity>
    </application>

</manifest>
最後にAndroidManifest.xmlファイルを保管してください。
これで、Androidアプリは完成しました!

次は、Arduino側のスケッチの作成になります。

参考URL: Y.A.M の 雑記帳: Android USB Accessory

0 件のコメント:

コメントを投稿