Android 10 BLE Bluetooth 4.0デバイスをスキャンできません

3660 ワード

Android 6.0以降でBluetoothスキャンをオンにしてもスキャンできない問題はAndroid 6.0以前のバージョンでは完璧に動作するが、Android 6.0以上のシステムに移行した携帯電話では検索できない.これは、Android 6.0以上のシステムで低消費電力のBluetoothに距離検出機能が追加されているため、スキャン時に位置決め機能をオンにする必要があり、より高いバージョンでは正確な位置決め権限をオンにする必要があるためです.
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 // Android 6.0      
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE
                    , Manifest.permission.READ_EXTERNAL_STORAGE
                    , Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};
            for (String str : permissions) {
                if (checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {
                    requestPermissions(permissions, 111);
                    break;
                }
            }
        }
    }

各種権限の問題を解決した後、Android 6.0までにスキャンすれば問題なく、その後スキャンできないデータの問題も解決します