Получить доступ к классу из другого Activity
Доброго времени суток.
Есть MainActivity, в нем происходит поиск и сопряжение к Bluetooth устройству.
Есть отдельный класс BluetoothConnectionService, в котором происходит соединение и управление устройством. Соединение происходит в MainActivity, после чего вызывается DeviceControlActivity в котором уже должно происходить управление устройством: прием/передача данных и тд. с использованием того же BluetoothConnectionService. Проблема в том, что не получается получить доступ к классу из второго активити. Первичная инициализация BluetoothConnectionService происходит в MainActivity:
mBluetoothConnection = new BluetoothConnectionService(MainActivity.this);
Инициализация в DeviceControlActivity не работает:
mBluetoothConnection = new BluetoothConnectionService(this);
// или
mBluetoothConnection = new BluetoothConnectionService(DeviceControlActivity.this);
Ошибок нет, просто происходит игнор mBluetoothConnection.
Управление устройством удалось реализовать через LocalBroadcastManager, который отправляет Intent'ы из второго активити в первое, а там уже они обрабатываются BluetoothConnectionService, но понимаю что можно обойтись без этого посредника и работать с методами напрямую. Пробовал передать объект в активити через Intent.putExtra() и Serializable - не прокатило (мб не так сделал).
Заранее прошу прощения если я затупил на чем-нибудь простом, т.к. еще новичок. Благодарю.
Часть кода BluetoothConnectionService:
public class BluetoothConnectionService {
public static final String ACTION_SOCKET_NOT_CLOSED = "Socket connection failed";
public static final String ACTION_SUCCESS = "Socket connection successful";
public static final String ACTION_INCOMING_DATA = "Got input data from buffer";
private static final String TAG = "BTCS";
private static UUID USER_UUID = null;
Context mContext;
private final BluetoothAdapter mBluetoothAdapter;
private ConnectThread connectThread;
private ConnectedThread connectedThread;
public BluetoothConnectionService(Context context) {
this.mContext = context;
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
}
// Дальше идет код для создания сокета и обмена данными