私のアプリケーションでは、Janos Gyerik の BluetoothViewerコードを使用して Bluetooth 経由で接続しています。
TCPServer
USB経由で接続 するクラスもあります。
public void connectViaUSB() {
if (GlobalVariables.connectionstatus == 0) {
mTCPServer = new TCPServer(2222, getCurrentActivity());
mTCPServer.start();
mTCPServer.setResponseReceivedListener(this);
}
問題は、BluetoothViewer
と書かれていることActivity
です。接続するにはアクティビティを開始する必要がありますが、別のアクティビティに切り替えると接続が失われます。
その活動を常に維持するか、それを変更する方法を見つける必要があります。どうすればこの状況を修正できますか?
編集
`
public class MyService extends Service {
private static final String TAG = "MyService";
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "My Service Created", Toast.LENGTH_LONG).show();
Log.d(TAG, "onCreate");
BluetoothAdapter mAdapter = BluetoothAdapter.getDefaultAdapter();
mAdapter.enable();
BluetoothChatService mChatService = new BluetoothChatService(mHandler);
BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice("00:12:11:13:19:26");
mChatService.connect(device);
}
@Override
public void onDestroy() {
Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
//stop thread
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
//start thread (again)
}
}`
このサービス クラスから Bluetooth 接続を確立するにはどうすればよいですか? mHandler を移動する必要があり、移動しました。今、私は RuntimeException: Unable to create .MyService: NullPointerException を取得しています