簡體   English   中英

Android藍牙設備選擇器用法

[英]Android Bluetooth Device Picker Usage

我的應用程序需要藍牙連接。 在第一階段,我正在嘗試打開標准活動“藍牙設備選擇器”,以幫助用戶掃描新設備或從列表中選擇一個設備。

問題是我無法獲得藍牙設備選擇器的任何工作示例。 任務很簡單。 用Intent “android.bluetooth.devicepicker.action.LAUNCH”啟動一個Activity

並且設備選擇器正在打開而沒有任何問題。

但是設備選擇器需要四個附加功能 ,我無法確定下面列出的兩個附加功能的確切參數。

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

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

我認為參數應該是那個

* “android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE” *

應該有我的包的名稱,所以我只通過了它。 那就是“com.extreme.controlcenter”

第二個應該是必須接收在選擇設備后完成的廣播的組件的名稱。 在這里,我嘗試將具有onReceive()函數的類的名稱。

但問題是當在設備選擇器中拾取設備時,不會調用onReceive()函數!

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);
            }


        };

我創建了一個Intent過濾器,並在主Activity的onCreate()中注冊了一個接收

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


    registerReceiver(mReceiver, filter); 

有一件事是,如果我不提供這兩個額外的東西, 廣播事件就會成功收到。 但是這個代碼只能在我的TAB上運行,但同樣會在手機上崩潰。 所以我認為提供這兩個額外內容是強制性的。

提前致謝 !

您的EXTRA中的“com.extreme.controlcenter.WelcomeActivity”需要是一個BroadcastReceiver類,例如MyBroadcastReceiver.class.getName()。 我也在標簽內的清單中聲明了它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM