یکی از راههای روشن کردن بلوتوث در اندروید، این است که با استفاده از Intent، از کاربر بخواهیم این کار را انجام دهد. و سپس داخل متد onActivityResult، بررسی کنیم که آیا بلوتوث توسط کاربر فعال شد یا خیر! البته ما به صورت مستقیم و بدون Intent نیز میتوانیم بلوتوث را روشن و خاموش کنیم؛ این روش در «اینلینک» توضیح داده شده است.
با دو خط زیر میتوان درخواست روشن کردن بلوتوث را صادر کرد:
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
همچنین دسترسی زیر را هم وارد کنید:
<uses-permission android:name="android.permission.BLUETOOTH"/>
مثال
در کد زیر که داخل یک اکتیویتی نوشته شده است، درخواست روشن کردن بلوتوث از کاربر، پس از بررسی حالتهای مختلف بلوتوث انجام شده و سپس داخل متد onActivityResult، نتیجهی درخواست بررسی شده است:
public class MainActivity extends Activity { private static final int REQUEST_ENABLE_BT = 1; private TextView stateBluetooth; private BluetoothAdapter bluetoothAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtBluetoothState = (TextView) findViewById(R.id.bluetoothstate); bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); CheckBlueToothState(); // وضعیت بلوتوث را بررسی کن } private void CheckBlueToothState(){ if (bluetoothAdapter == null){ txtBluetoothState .setText("بلوتوث در این دستگاه پشتیبانی نمیشود."); }else{ if (bluetoothAdapter.isEnabled()){ if(bluetoothAdapter.isDiscovering()){ txtBluetoothState .setText("بلوتوث در حال پیدا کردن دستگاهها است."); }else{ txtBluetoothState .setText("بلوتوث روشن است."); } } else{ txtBluetoothState .setText("بلوتوث خاموش است."); Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == REQUEST_ENABLE_BT){ CheckBlueToothState(); } } }
نظرات ثبت شده بدون دیدگاه