Однако я не могу заставить работать обнаружение новых устройств Bluetooth.
В моем классе плагина (который также обрабатывает отправку данных и т. д., что работает нормально):
Код: Выделить всё
public void startBluetoothDeviceDiscovery(){
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
currentActivity.registerReceiver(receiver, filter);
if (bluetoothAdapter.isDiscovering()){
bluetoothAdapter.cancelDiscovery();
}
bluetoothAdapter.startDiscovery();
}
Также внутри класса плагинов:
Код: Выделить всё
BroadcastReceiver receiver = new MyBroadcastReceiver();
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// a device was found, do stuff
}
}
}
https://developer.android.com/guide/top ... verDevices
Я подумал, может быть, вокруг просто нет устройств, поэтому я хотел, чтобы приемник уже срабатывал при запуске обнаружения, поэтому я попытался поискать BluetoothAdapter.ACTION_DISCOVERY_STARTED:
Код: Выделить всё
IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
currentActivity.registerReceiver(receiver, filter);
Код: Выделить всё
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) {
// discovery started, do stuff
}
}
Моим последним предположением было то, что из-за того, что плагин не является активностью, доступ к BroadcastReceiver невозможен. Поэтому я изменил действие на BluetoothAdapter.ACTION_STATE_CHANGED, а затем, когда я включал и выключал Bluetooth на своем устройстве, оно внезапно было получено в onReceive().
Мой манифест (скопирован в правильное расположение папки Unity):
Код: Выделить всё
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="preferExternal">
Спасибо за ЛЮБУЮ помощь или идеи
Подробнее здесь: https://stackoverflow.com/questions/610 ... oid-plugin
Мобильная версия