n1990

مشکل در یافتن دستگاه های دیگر با استفاده از بلوتوث

1 ارسال در این موضوع قرار دارد

سلام دوستان.

من دارم رو برنامه ای کار می کنم که تو قسمتی از اون نیاز دارم توسط بلوتوث دستگاه های دیگرو پیدا کنم, به این صورت که وقتی از منوی برنامه وارد اکتیویتی مورد نظر میشم اول وضعیت بلوتوث رو چک می کنه که روشنه یا نه و در اون اکتیویتی دکمه ای گذاشتم که اگر روش کلیک شد لیست دستگاه های دیگرو نشون بده. . کد های زیادی رو امتحان کردم تا به یه کد نسبتا قابل فهم تر رسیدم. زمانی که برنامم رو با این کد توی گوشیم اجرا میکنم بخش بررسی وضعیت بلوتوث و روشن کردن آن توسط برنامه به درستی کار میکنه اما زمانی که روی دکمه کلیک می کنم تا لیست دستگاه های دیگرو نشون بده خطا میده و از برنامه میاد بیرون و چون نمیتونم برنامم رو روی امولاتور اجرا کنم نمیتونم بفهمم مشکل از کجاست. می خواستم ببینم کسی از دوستان می تونه به من کمک کنه یا نه. ممنون

public class BluetoothDevicesActivity extends Activity{private ListView lv1;private ArrayAdapter< String> adapter;private BluetoothAdapter BA;private final static int REQUEST_ENABLE_BLUETOOTH = 1;private Button  ScanBtn;@Overrideprotected void onCreate(Bundle savedInstanceState) {	super.onCreate(savedInstanceState);	setContentView(R.layout.activity_bluetooth_devices);	ScanBtn=(Button)findViewById(R.id.btn_scan);	lv1= (ListView) findViewById(R.id.lst_bluetooth);	 adapter=new ArrayAdapter(BluetoothDevicesActivity.this,       		android.R.layout.simple_list_item_1);	 BA = BluetoothAdapter.getDefaultAdapter();	 lv1.setAdapter(adapter);	 findBluetoothState();	 ScanBtn.setOnClickListener(new OnClickListener() {		@Override		public void onClick(View arg0) {			adapter.clear();			BA.startDiscovery();		}	});	 //adapter.clear();	 //BA.startDiscovery();	 registerReceiver(BR,new IntentFilter(BluetoothDevice.ACTION_FOUND));}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {	if(requestCode==REQUEST_ENABLE_BLUETOOTH)	{		findBluetoothState();	}}private void findBluetoothState() {              if(BA==null)       {         Toast.makeText(getApplicationContext(), "Bluetooth service not available in the device", Toast.LENGTH_LONG).show();                }       else       {        if(BA.isEnabled())        {           if(BA.isDiscovering())           {                   Toast.makeText(getApplicationContext(), "Finding Devices", Toast.LENGTH_LONG).show();           }           else           {                         Toast.makeText(getApplicationContext(), "Bluetooth is Enabled", Toast.LENGTH_LONG).show();            }        }         else         {                        Toast.makeText(getApplicationContext(), "Bluetooth is not enabled", Toast.LENGTH_LONG).show();            Intent startBT=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);             startActivityForResult(startBT,REQUEST_ENABLE_BLUETOOTH);         }       }      }private final BroadcastReceiver BR=new BroadcastReceiver(){       @Override       public void onReceive(Context context, Intent intent) {       String act=intent.getAction();      if(BluetoothDevice.ACTION_FOUND.equals(act)){       BluetoothDevice device=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);       adapter.add(device.getName()+" - "+device.getAddress());       adapter.notifyDataSetChanged();     } }};}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری