問題タブ [accessory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
422 参照

printing - バイト パケットを作成し、iOS で Bluetooth を使用して印刷するために外部アクセサリ デバイスに送信します。

iOS で外部アクセサリを使用して画像を印刷しようとしていますが、プリンタに要求を送信するのに問題があります。
ここでは、パケットがプリンターに送信する必要がある画像を添付しました。しかし、このパケットを作成してプリンターに送信する方法がわかりません。

パケットデータ

0 投票する
3 に答える
3450 参照

ios - iOS でのワイヤレス アクセサリの設定: EAWiFiUnconfiguredAccessoryBrowser は未​​設定のアクセサリを 1 回だけ検出します。

EAWiFiUnconfiguredAccessoryBrowser を使用してEAWiFiUnconfiguredAccessoryを検出しています。アクセサリ検索を開始するコードは次のとおりです。

残念ながら、ビューが最初に読み込まれたときにのみアクセサリが見つかります。前のビューに戻ってビューをリロードすると、それらが見つかりません。

私は試した:

  • ブラウザ アクセサリを再作成し、検索を再開する (機能しない)
  • 検索を停止して再開する (機能しない)

これは私が入手した最新のコードです(上記のコードと一緒に参照してください):

APP内のどこかにアクセサリーリストの情報がキャッシュされているようです。アプリを再起動すると、それらが見つかるので、何か不足していると思います。

何か助けはありますか?

0 投票する
0 に答える
213 参照

android - Android USBAccessory の再接続

USB アクセサリのプラグを抜き差しした後、再接続する際に問題があります。アクセサリを初めて接続すると、デバイスと実際に通信するためのすべての手順を実行できます

  1. アクセサリを列挙する
  2. アクセサリへのアクセス許可を取得する
  3. アクセサリを開く
  4. FileDescriptor の I/O ストリームを使用してデバイスの読み取りと書き込みを行う

ケーブルを抜き差しすると、上記の最初の 2 つの手順を完了することができます。問題は、UsbManager のオープン アクセサリが ParcelFileDescriptor として null を返すことです。何が原因でしょうか? 一部のリソースがまだ予約されているため、Android がデバイスへのアクセスを許可できない可能性がありますか? openAccessory を呼び出す前に、I/O ストリームを解放し、ParcelFileDescriptor を閉じています。アクセサリを適切にクリーンアップするために他にすべきことはありますか? USB アクセサリに関する公式ドキュメント ページには、通信の終了に関するセクションがありますが、あまり役に立ちません。

http://developer.android.com/guide/topics/connectivity/usb/accessory.html

0 投票する
1 に答える
134 参照

android - Androidフォンに接続されたUSBホストデバイスはarduinoでなければなりませんか?

AndroidフォンでUSBを使用する組み込みデバイスの作成を検討しているため、AOAPやADKなどを調べています。すべてではないにしても、ほとんどの組み込みデバイスがArduinoに含まれていることがわかります。これは、組み込みデバイスが arduino でなければならないということですか? または、C を使用する Atmel ボードなどの別のデバイスも使用できますか?

0 投票する
1 に答える
862 参照

android - Androidアクセサリプロトコルを実装するためにWindows PCで使用するプラットフォームは何ですか?

Androidフォンと通信するために、Windows PCをアクセサリとしてセットアップする必要があるプロジェクトに取り組んでいます。私の調査の結果、Android デバイスをアクセサリで制御できるようにする Android オープン アクセサリ プロトコルを発見しました。さらに、 ARDUINO MEGA ADKと Android 対応デバイスとのインターフェースについて、インターネットで多くのヘルプを見つけました。ただし、Android対応デバイスとの通信を実現するためのWindows PCでのアクセサリプロトコルの実装に関する情報はほとんどまたはまったく見つかりませんでした。そのような開発に使用できるプラットフォームと、そのようなタスクをどのように達成できるかを知りたいです。どんな助けでも大歓迎です。

0 投票する
0 に答える
92 参照

android - 非アクティビティ ベースでの IOIO オープン アクセサリ接続

USBデバッグがオンの場合にうまく機能する小さなAndroidプログラムを作成しました。このプログラムは、B4A 用の lib になります。Androidの上位バージョン、つまり> 4.2でUSBデバッグなしで動作することを望みますが、テストできる正確に4.2の電話があり、デバッグモードをオフにするとプログラムは接続できません。同じ電話で、公式の Helloioio プログラムはオープン アクセサリ モードで動作できるため (私の場合も同様です)、この場合の問題は確かにデバイスに依存しません。IOIO の Android オープン アクセサリ接続の正しい接続シーケンスは何ですか? これは私のコードの接続部分です:

前もって感謝します!

0 投票する
1 に答える
463 参照

android - USB を取り外した後も USB アクセサリが接続されたままになる

USBアクセサリに接続するアプリがあります。シンプルですが、USB ケーブルを抜いてもアクセサリは接続されたままです。

これは私のコードです:

これは、USB アクセサリに接続されていることを示していますが、そうではありません。電話のすべてを監視し、同じことを言う開発者アプリがあります。

アクセサリが接続されています。また、ブロードキャストをトリガーしたり、バックグラウンド プロセスを強制終了したりすることも試しました。電話を再起動した場合にのみ、アクセサリが表示されません。

私の問題は、Htc One M9、Api 22、Android バージョン 5.1 のみです。あなたたちがそれを助けることができれば、それは素晴らしいことです.私はそれを理解しようと数日を費やしました.

0 投票する
3 に答える
311 参照

android - Android アクセサリ モード中のデバイスの切断

デバイスが切断されたかどうか (USB) をプログラムで検出することはできますか?

アクセサリ モード アプリケーションで切断イベントにフラグを立てようとしています。それで、それは可能ですか?はいの場合、どのように?

0 投票する
0 に答える
615 参照

usb - Android USB アクセサリがデータを受信できず、InputStream.read が返されない

私は 2 台の Android スマートフォンを持っていますが、どちらも Android 6.0 です。USB経由で相互に通信したい。ある電話機を別の電話機に接続する OTG USB ケーブルがあります。1 つは USB ホスト、もう 1 つはアクセサリです。

私のコードは、次のチュートリアルに基づいています。

  1. ホストとアクセサリは
    、このプロジェクトによると接続できます: https://github.com/quandoo/android2android-accessory
    ホストは制御メッセージを送信します:
    private void initStringControlTransfer(final UsbDeviceConnection deviceConnection, final int index, final String string) { deviceConnection.controlTransfer(0x40, 52, 0, index, string.getBytes(), string.length(), USB_TIMEOUT_IN_MS); } initStringControlTransfer(connection, 0, "UsbTest Example"); // MANUFACTURER initStringControlTransfer(connection, 1, "UsbTest"); // MODEL initStringControlTransfer(connection, 2, "Test Usb Host and Accessory"); // DESCRIPTION initStringControlTransfer(connection, 3, "0.1"); // VERSION initStringControlTransfer(connection, 4, ""); // URI initStringControlTransfer(connection, 5, "42"); // SERIAL connection.controlTransfer(0x40, 53, 0, 0, new byte[]{}, 0, USB_TIMEOUT_IN_MS);
  2. ホストは、アクセサリの使用からデータを受信できます UsbRequest
    ホスト コード:
    UsbRequest request = new UsbRequest(); request.initialize(mConnection, mEndIn); boolean ret = request.queue(buffer, BUFFER_SIZE_IN_BYTES); if (ret) { if (mConnection.requestWait() == request) { // Succeed } }
    アクセサリ コード:
    try { mOutStream.write(sendBuff); mOutStream.flush(); } catch (IOException e) { }
  3. アクセサリはデータを受信できません
    ホスト コード
    int len = mInStream.read(msg); // block here, read never return if (len > 0) { // succeed }
    アクセサリ コード:
    UsbRequest request = new UsbRequest(); request.initialize(mConnection, mEndOut); ByteBuffer buffer = ByteBuffer.wrap(text.getBytes()); boolean ret = request.queue(buffer, text.getBytes().length); if (ret) { // request.queue succeed } // if I use bulkTransfer, it always return a negative value //int len = mConnection.bulkTransfer(mEndOut, text.getBytes(), text.getBytes().length, USB_TIMEOUT_IN_MS); //if (len < 0) { // // always run here //} else { //
    //}

誰もこれについて知っていますか?