[解決済み] Android Bluetoothプリント
2022-03-03 11:29:09
質問
私は、ブルートゥースプリンタにデータを送信するアプリケーションを書いています。誰か私を助けることができますか? どのように私は印刷のためのAndroidのBluetoothスタックを使用することができますか?
以下は、ブルートゥースを検索するための私のコードです...
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
registerReceiver(ActionFoundReceiver,
new IntentFilter(BluetoothDevice.ACTION_FOUND));
private final BroadcastReceiver ActionFoundReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent
.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
btArrayAdapter.add(device.getName() + "\n"
+ device.getAddress());
btArrayAdapter.notifyDataSetChanged();
}
}
};
そして、プリンタにデータを送信するためのコードです。
BluetoothDevice mDevice = bluetoothAdapter.getRemoteDevice("00:15:FF:F2:56:A4");
Method m = mDevice.getClass().getMethod("createRfcommSocket",
new Class[] { int.class });
mBTsocket = (BluetoothSocket) m.invoke(mDevice, 1);
System.out.println("Connecting.....");
mBTsocket.connect();
System.out.println("Connected");
OutputStream os = mBTsocket.getOutputStream();
os.flush();
os.write(Receipt.getBytes());
// mBTsocket.close();
socket.close()を書くと、データを印刷する前にソケット接続が閉じられるので、データがプリンタに印刷されません。また、socket.close()を書かないと、データは一度だけ印刷されます。もしsocket.close()を書かなければ、データは一度だけ印刷されることになります。
誰か解決策を持っていますか? それとも、この印刷を取り除く他の方法はありますか?
解決方法を教えてください。
問題が解決しました。
もし、データを複数回印刷したいのであれば、デバイスと新しいソケット接続を作成する必要はなく、outputstream.write(bytes)メソッドを呼び出します。
最後にデバイスを切断したい場合は、mBTScoket.close()メソッドを呼び出してデバイスを切断します。
関連
-
[解決済み】getCheckedRadioButtonId()が無駄なintを返す?
-
[解決済み] android.support.design.widget.FloatingActionButton クラスの展開に失敗しました。
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Intent コンストラクタを解決できない
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み] 現在のテーマでスタイル 'coordinatorLayoutStyle' を見つけることができませんでした。
-
[解決済み] [Solved] Unsupported method: ベースコンフィグ.getApplicationIdSuffix()
-
[解決済み】"ビットマップが大きすぎてテクスチャにアップロードできない"
-
[解決済み】Android Studio 3.2 - com.android.tools.build:aapt2:3.2.0-4818971 を見つけられませんでした。
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み】Android Studio。Android.support.design.widget.FloatingActionButton クラスを膨らませるのにエラーが発生する。
-
[解決済み] SDKの場所がandroid studioで見つからない
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法