receiver = new BluetoothBroadcastReceiver();
registerReceiver(receiver, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
Takže pokud se BT změní, tak to příjde do broadcastu kde je
následující
publicclass BluetoothBroadcastReceiver extends BroadcastReceiver
{
@Override
publicvoid onReceive(Context context, Intent intent)
{
final String action = intent.getAction();
if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED))
{
finalint state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
switch (state)
{
case BluetoothAdapter.STATE_OFF:
MainActivity main = (MainActivity) context;
main.startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 1);
break;
}
}
}
}
Popíšu funkčnost:
když zapnu aplikaci, vyžádá se zapnutí BT, pokud dám ANO tak se BT
zapne... pokud dám NE tak se vypíše jen ... tzn do onActivityResult to jde -
správně
pokud za běhu aplikace vypnu BT manuálně, okamžitě se děje bod
č.1
takhle to přesně chci..., ale pokud pujdu třeba do SettingsActivity,
vypnu manuálně BT, tak vyskočí hned request na zapnutí BT - to je
správně, ale když zmáčnu NE nechci zapínat BT, tak už to nenapíše "..."
prostě to do onActivityResult neskočí - což je špatně a to je ten
problém
Tzn. funguje to jen v MainActivity a v ostatních ne, snad jsem to vysvětlil
jasně.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.