11package com .espressif .espblufi .ui ;
22
33import android .Manifest ;
4+ import android .annotation .SuppressLint ;
45import android .bluetooth .BluetoothAdapter ;
56import android .bluetooth .BluetoothDevice ;
67import android .bluetooth .le .BluetoothLeScanner ;
4748import java .util .concurrent .Executors ;
4849import java .util .concurrent .Future ;
4950
51+ @ SuppressLint ("MissingPermission" )
5052public class MainActivity extends AppCompatActivity {
5153 private static final long TIMEOUT_SCAN = 4000L ;
5254
@@ -92,7 +94,17 @@ protected void onCreate(Bundle savedInstanceState) {
9294 mDeviceMap = new HashMap <>();
9395 mScanCallback = new ScanCallback ();
9496
95- ActivityCompat .requestPermissions (this , new String []{Manifest .permission .ACCESS_FINE_LOCATION }, REQUEST_PERMISSION );
97+ List <String > permissionList = new ArrayList <>();
98+ permissionList .add (Manifest .permission .ACCESS_FINE_LOCATION );
99+ ActivityCompat .requestPermissions (
100+ this ,
101+ new String []{
102+ Manifest .permission .ACCESS_FINE_LOCATION ,
103+ Manifest .permission .BLUETOOTH_SCAN ,
104+ Manifest .permission .BLUETOOTH_CONNECT
105+ },
106+ REQUEST_PERMISSION
107+ );
96108 }
97109
98110 @ Override
@@ -105,6 +117,7 @@ protected void onDestroy() {
105117
106118 @ Override
107119 public void onRequestPermissionsResult (int requestCode , @ NonNull String [] permissions , @ NonNull int [] grantResults ) {
120+ super .onRequestPermissionsResult (requestCode , permissions , grantResults );
108121 int size = permissions .length ;
109122 for (int i = 0 ; i < size ; ++i ) {
110123 String permission = permissions [i ];
0 commit comments