私のノートブック(win7)とAndroidのAndroid携帯(Android 4.2)をUSBで接続しようとしています。 ノートブックは、アンドロイド携帯電話の電源にホストとして機能する必要があります。目標は、ノートブックと携帯電話がXML文字列を送受信できることです。Android(アクセサリーモード)とWindows PC(ホスト)とのUSB通信
アクセサリーモード(http://developer.android.com/guide/topics/connectivity/usb/accessory.html)を説明しているアンドロイドページに従いました。
1:彼らはここで行ったよう は、私は、アクセサリフィルタを定義する必要があります:私はしたくないので、特別なハードウェアは
<?xml version="1.0" encoding="utf-8"?> <resources> <usb-accessory model="DemoKit" manufacturer="Google" version="1.0"/> </resources>
を認識すること。私はすべての種類のWindowsコンピュータを認識したい(たとえば、私は別のPCに電話を差し込む)。
2: 私は今Windows側で何もしていません。私はちょうど、アンドロイドのページをフォローし、USBケーブルに差し込んでログを見ました。アプリの起動は許可を求めますが、アクセサリはnullです。なぜそれがnullであるかのヒント? コード:
public class MainActivity extends Activity { private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION"; private static final String TAG = "USB_PERMISSION"; UsbAccessory accessory; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); PendingIntent mPermissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0); IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION); registerReceiver(mUsbReceiver, filter); accessory = (UsbAccessory) getIntent().getParcelableExtra( UsbManager.EXTRA_ACCESSORY); manager.requestPermission(accessory, mPermissionIntent); } private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (ACTION_USB_PERMISSION.equals(action)) { synchronized (this) { if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)) { String manufacturer; Log.d(TAG, "permission accepted for accessory " + accessory); if (accessory != null) { manufacturer = accessory.getManufacturer(); Log.d(TAG, "Manufacturer: " + manufacturer); } } else { Log.d(TAG, "permission denied for accessory "+ accessory); } } } } }; }
3:私は、Windows側のUSB接続を識別するために使用できる任意のlibarys /プロジェクトがありますか?
- 4:それ以上のことについて考えなければなりませんか?物事が間違っている?
- 5:あなたの助けのためのTHX :)
私は今#1がより明確であると思います。 Intentfilterは自動検出にのみ必要です – B770