My Application required bluetooth connectivity. And in the first phase I am 
trying to open up the standard Activity *"Bluetooth Device Picker"* to help 
user scan for new device or chose a device from the list.

The problem is that I am unable to get any working example for the 
bluetooth device picker. The task is simple. To start an Activity with 
Intent *"android.bluetooth.devicepicker.action.LAUNCH"*

And the device picker is opening without any problem.

But the device picker requires four *extras* and I am unable to figure out 
the exact parameters for two of the extras listed below.

.putExtra("android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE","com.extreme.controlcenter"

.putExtra("android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS","com.extreme.controlcenter.WelcomeActivity")

What I thought the parameters should be that 

*"android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE"*

should have the name of my package, so I passed that only. That is *
"com.extreme.controlcenter"*

The second should be the name of the component that must receive the 
broadcast that is done after a device is selected. Here I tried putting the 
name of the class that has the *onReceive()* function.

But the problem is that the onReceive() function is NOT getting called when 
a device is picked in device picker!

public void onReceive(Context context, Intent intent) {

            String action = intent.getAction();

            //Device Selected on Device Picker
            
if("android.bluetooth.devicepicker.action.DEVICE_SELECTED".equals(action)) {
                //context.unregisterReceiver(this);

                BluetoothDevice device = (BluetoothDevice) 
intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

                Toast.makeText(context, "device" + device.getAddress(), 
Toast.LENGTH_SHORT).show();

                String MAC = device.getAddress();
                //Log.d("my", MAC);

                Intent intent2 = new Intent(WelcomeActivity.this, 
ControlActivity.class);
                intent2.putExtra(EXTRA_DEVICE_ADDRESS, MAC);
                startActivity(intent2);
            }


        };

I have created an *Intent filter* and registered a receive in the 
onCreate() of the main Activity

 // Register the BroadcastReceiver
    IntentFilter filter = new 
IntentFilter("android.bluetooth.devicepicker.action.DEVICE_SELECTED");


    registerReceiver(mReceiver, filter); 

One thing is that if I don't provide those two extras, the *Broadcast*event is 
received successfully. But that code only runs on my TAB, but same 
is crashing in cell phone. So I think providing those two extras are 
mandatory. 

Thanks in Advance !

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to