jhseo
10
2020-10-18 23:31:46
0
82

안드로이드 블루투스 스캔 관련하여 질문이 있습니다.


안녕하세요. 이번에 졸업작품 제작으로 인해 어플리케이션을 제작하게 되었습니다.

일정 조건이 맞으면 블루투스 검색을 이용해 주변에 있는 스마트폰을 찾는 기능을 구현하고자 하는데 두 가지 문제점이 있어 질문드리고자 합니다.


1. 블루투스 스캔의 경우 코틀린으로 다음과 같이 백그라운드 서비스로 작성했습니다(예제 소스를 참조했습니다)

    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()
        val discoverableIntent = Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE)

        createNotificationChannel()

        val notification  = NotificationCompat.Builder(this, CHANNEL_ID)
            .setContentTitle("Foreground Service")
            .build()

        if (bluetoothAdapter?.isDiscovering == true) {
            bluetoothAdapter?.cancelDiscovery()
        }

        discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300)
        startActivity(discoverableIntent)

        var filter = IntentFilter(BluetoothDevice.ACTION_FOUND)
        this.registerReceiver(receiver, filter)
        filter = IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED)
        this.registerReceiver(receiver, filter)
        filter = IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)
        this.registerReceiver(receiver, filter)
        bluetoothAdapter?.startDiscovery()

        startForeground(1, notification)
        return super.onStartCommand(intent, flags, startId)
    }

이때 startDiscovery 후 약 10초정도 후에 검색이 끝나는데, 혹시 검색 시간을 임의로 조정 가능한 방법이 있을지 알고 싶습니다. Discoverable 시간과 동일하게 동작하도록 하고 싶습니다.


2. 블루투스 검색 허용( EXTRA_DISCOVERABLE_DURATION )에 대해서, 검색을 시작할 경우 검색 허용 여부를 묻는 창이 뜨는데, 혹시 안뜨게 하고 자동으로 허용 가능한 방법이 있을까요? 

0
  • 답변 0

  • 로그인을 하시면 답변 을 등록할 수 있습니다.