Я разработал приложение, которое содержит функцию ble. И это приложение хорошо работало на моем телефоне. Но когда я использую это приложение на Samsung Galaxy S10e, Bluetooth не работает. И я нашел BluetoothLeScanner
не называется. Мой телефон для разработки - galaxy S8, и его версия - Android 9.0 (Pie), API 28. И еще один телефон для разработки с низкой версией (например, galaxy 5, galaxy note 4) тоже работал хорошо.
Но galaxy S10e - это та же ОС, что и galaxy S8 (Android 9.0 Pie, API 28). Интересно, почему приложение не работает на Galaxy S10e.
Я так и объявил разрешение
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
И BluetoothLeScanenr
называется здесь.
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public boolean BleDeviceScan(boolean enable)
{
logD(TAG, "BleDeviceScan ( " + enable + " )");
if(mBluetoothAdapter == null)
{
return false;
}
logD(TAG, "mBluetoothAdapter : " + mBluetoothAdapter.toString());
if(mBluetoothAdapter.isEnabled())
{
if (enable)
{
Log.d(TAG, "BleDeviceScan Build.VERSION.SDK_INT < MIN_SDK_INT - ELSE");
timerFlag = true;
timer = new Timer();
bleTimer();
mLEScanner.startScan(filters, settings, mScanCallback);
mListener.bleScanStart();
}
else
{
deviceShowCount = 0;
timerFlag = false;
bHandler.obtainMessage(1).sendToTarget();
mLEScanner.stopScan(mScanCallback);
mListener.bleScanStop();
}
logD(TAG, "BleDeviceScan Fin");
return true;
}
return false;
}
эта функция не вызывается в галактике S10e.
mLEScanner.startScan(filters, settings, mScanCallback);
Должен ли я объявить что-то для использования BluetoothLeScanner
на galaxy S10e? В чем проблема?