Androidプログラミングの新機能ですが、問題が発生しました。 私はAndroidの携帯電話をBluetoothサーバーとして使用したいと考えています。これは、特別なアクティビティを開いたときに、他のBluetoothデバイス(既にペアになっている)を聞いて、他のデバイスがAndroid携帯電話に接続できることを意味します。だから、それはbtスピーカーのような携帯電話のようなものでなければなりません。 ペアリングはまだ行われています。そして、私はSPPモードを使用しなければならないことを知りました。それが接続されているとき、私は単純なバイトストリームを受信して送信したい。 「bluetooth spp tools pro」(https://play.google.com/store/apps/details?id=mobi.dzs.android.BLE_SPP_PRO&hl=de)というアプリが見つかりました。しかし、ここでの問題は、電話機がクライアントとして機能し、接続を開くことです。Android Bluetooth SPP Server
多分私を助けて、私が何をしなければならないかを理解するためのヒントを教えてください。助けのための
感謝:)
EDITは:今、私は、Androidからの例を試してみましたが、それはほとんど働いているように思えます。私はスマートフォンと私のPCを接続することができ、スマートフォンはそれに接続します。しかし、それは、アプリのクラッシュを接続していると私はなぜ知らないとき... 多分あなたはここに...なぜミリアンペアアプリがクラッシュするコードを私に言うことができる:
public class BluetoothServer extends AppCompatActivity {
public BluetoothAdapter mBluetoothAdapter;
private static final UUID MY_UUID_SECURE = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
private AcceptThread mSecureAcceptThread;
private TextView textViewStatus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bluetooth_server);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
textViewStatus = (TextView) findViewById(R.id.BluetoothServerTextView);
}
@Override
protected void onDestroy() {
super.onDestroy();
mSecureAcceptThread.cancel();
mSecureAcceptThread = null;
}
public void onClickOpenBluetoothServer(View view) {
// Setup Bluetooth Adapter
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
//Enable Discoverbility
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);
textViewStatus.append("\nDiscoverable Added!");
//Starting Accepting Thread
mSecureAcceptThread = new AcceptThread();
mSecureAcceptThread.start();
}
/**
* Accepting Thread mit run();
*/
private class AcceptThread extends Thread {
private final BluetoothServerSocket mmServerSocket;
public AcceptThread() {
BluetoothServerSocket tmp = null;
try {
// MY_UUID is the app's UUID string, also used by the client code
tmp = mBluetoothAdapter.listenUsingRfcommWithServiceRecord("PAKSAFE", MY_UUID_SECURE);
} catch (IOException e) { }
mmServerSocket = tmp;
textViewStatus.append("\nAcceptThread Created!");
}
public void run() {
BluetoothSocket socket = null;
// Keep listening until exception occurs or a socket is returned
while (true) {
try {
textViewStatus.append("\nListening");
socket = mmServerSocket.accept();
} catch (IOException e) {
break;
}
// If a connection was accepted
if (socket != null) {
// Do work to manage the connection (in a separate thread)
//manageConnectedSocket(socket);
textViewStatus.setText("Acccepted");
try {
mmServerSocket.close();
} catch (IOException e) {
break;
}
break;
}
}
}
/** Will cancel the listening socket, and cause the thread to finish */
public void cancel() {
try {
mmServerSocket.close();
} catch (IOException e) { }
}
}
}
を見つけることができます。 2番目の質問を新しい質問に移動します。あなたが試したことを示し、より多くの情報を提供してください。このような広い意味でのここでの質問は、ルールに反しています。 – deimus