<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.yamalab.android.AdkArduino01" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="11" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.PERSISTENT_ACTIVITY"/> <application android:icon="@drawable/ic_launcher_demokit" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> <uses-library android:name="com.android.future.usb.accessory" /> <activity android:name=".AdkArduinoLaunch" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="org.yamalab.android.AdkArduino01.UsbAccessoryActivity" android:label="AdkArduino" android:taskAffinity="" android:launchMode="singleInstance"> <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> <activity android:name=".AdkArduinoActivity" android:label="@string/app_name" android:screenOrientation="portrait"> </activity> <service android:name=".AdkService" /> </application> </manifest>
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent){ Log.i(TAG, "BroadcastReceiver-onRecieve"); String action = intent.getAction(); if (ACTION_USB_PERMISSION.equals(action)) { Log.i(TAG, "BroadcastReceiver-onRecieve- ACTION_USB_PERMISSION"); synchronized (this) { UsbAccessory accessory = UsbManager.getAccessory(intent); if (intent.getBooleanExtra( UsbManager.EXTRA_PERMISSION_GRANTED, false)) { openAccessory(accessory); startService(); doBindService(); } else { Log.d(TAG, "permission denied for accessory " + accessory); } mPermissionRequestPending = false; } } else if (UsbManager.ACTION_USB_ACCESSORY_DETACHED.equals(action)) { Log.i(TAG, "BroadcastReceiver-onRecieve- ACTION_USB_ACCESSORY_DETACHED"); UsbAccessory accessory = UsbManager.getAccessory(intent); if (accessory != null && accessory.equals(mAccessory)) { closeAccessory(); } } } };