Android Studio 経由で ADK を使用して mbed を制御する手順に従っています
ただし、それらの mbed adkport コード(スクロールダウンして adkport ハイパーリンク) にはこれらのインポートが必要です
import com.android.future.usb.UsbAccessory;
import com.android.future.usb.UsbManager;
開発者の解決策は android.hardware.usb に切り替えることであると示唆する別のスレッドに気付きましたが、そうすると、ハードウェア ベースのパッケージがgetAccessoryおよびgetInstanceシンボルをサポートしていないため、3 つの異なる行が機能しません。
この問題の解決策はありますか? それについて私の頭を得ることができません
代わりに android.hardware.usb を使用するようにコードを置き換える手順に従ってみましたが、それでも独自のandroid 開発者ルーチンで問題が発生します
//mManager = UsbManager.getInstance(context);
UsbManager mManager = (UsbManager) getSystemService(Context.USB_SERVICE);
ただし、現在は getSystemService を認識しません
ここで失敗します。
public void setup(Context context)
{
//mManager = UsbManager.getInstance(context);
UsbManager mManager = (UsbManager) getSystemService(Context.USB_SERVICE); //<-----
UsbAccessory[] accessoryList = mManager.getAccessoryList();
PendingIntent mPermissionIntent = PendingIntent.getBroadcast(context, 0,
new Intent(ACTION_USB_PERMISSION), 0);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
context.registerReceiver(mUsbReceiver, filter);
mManager.requestPermission(accessoryList[0], mPermissionIntent);
if (accessoryList[0] != null) {
mAccessory = accessoryList[0];
if(mManager.hasPermission(mAccessory))
{
openAccessory(mAccessory);
}
}
}