Я пытаюсь реализовать Bluetooth Discovery в Android. Я хочу поставить это действие в другом классе, чем MainActivity моего приложения. Я попытался расширить свой новый класс с помощью AppCompatActivity, но он не работает. Я не могу зарегистрировать приемник. Вот небольшая часть кода.Регистрация Broadcastreceiver в классе
public class BTManager extends AppCompatActivity {
public void scanDevices()
{
IntentFilter filter1 = new IntentFilter(BluetoothDevice.ACTION_FOUND);
IntentFilter filter2 = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
registerReceiver(mReceiver, filter1);
registerReceiver(mReceiver, filter2);
myBluetoothAdapter.startDiscovery();
}
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
try {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action))
{
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String deviceName = device.getName();
DiscoveredDeviceList.add(device);
}
if(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action))
{
}
catch(Exception e)
{
}
}
};
}
*, но он не работает *. Что происходит ? – Blackbelt
приложение вылетает при выполнении registerReceiver (mReceiver, filter1); – Daniele
как он падает? – Blackbelt