I'm not sure if I understood correctly. There are several Android verisons like 5.x, 7.x, 8.x.
Apart from that, the minSdkVersion is not 21 when using the BLE extension:
Yes, ACCESS_FINE_LOCATION is automatically requested with Bluetooth.StartScanning.
version code detect on smartphone:
android 11 (redme note 9) = versioncode 30
android 12 (samsung s10p) = versioncode 31
I will try with trigger at 30 inside of 28
The > operator will coerce the strings to numbers so what I proposed will work so long as the version number is specified as major.minor and minor never goes above 10, but 4.2.2 is not a number so the block will raise an error.
While the BLE extension does not force a minSdk, the logic of the component is written such that its blocks do nothing on versions less than 21. We didn't want to surprise people who added the BLE extension to their app with the increase to minSdk 21, especially if the BLE functionality might be optional. Of course, this decision made way more sense when BLE first came out and most phones didn't support it yet.
Hi,
please help i tried your code Anke
but it doesn't list my hc-05
it exists on android and i can pair but in app inventor application it is not listed
il m'affiche le message suivant dans appinventor
Need android.permission.BLUETOOTH_SCAN permission for AttributionSource { uid = 10686, packageName = edu.mit.appinventor.aicompanion3, attributionTag = null, token = android.os.BinderProxy@9e88c90, next = null }: GattService registerScanner Note: Vous n'allez pas voir une autre erreur rapportée pour 5 secondes.
This is an issue related to the Android 12 update. The currently published BluetoothLE extension is not aware of Google's latest changes to Bluetooth, and so it fails for that reason. You should be able to use the AskForPermission block to request the BLUETOOTH_SCAN and BLUETOOTH_CONNECT permissions to connect to BLE devices on Android 12+.
Edit: I should mention that I am in the process of updating the BLE extension to address the changes in Android 12. Please keep an eye on the IOT category of this community for the update announcement.
Hi.
Thanks to Anke's help, it is getting better, but with Android 11 sdk v30,I have the msg that the permission ACCESS_FINE_LOCATION has been denied and that I should enable it in the app settings.
It aready asked for granting access to location right before ( the "common" location request ) so the main location authorization is there.
I have read on Internet that for Android 11, on Java; it also needs "coarse" and "background" location authorization requesst. I have tried again for "coarse", no change. And I do not see a "background" location inside the available authorization list.
I moved all authorization request blocks up before any scanning operation. No luck.
It would really help if you provided a screenshot of your relevant blocks, so we can see what you are trying to do, and where the problem may be.
To get an image of your blocks, right click in the Blocks Editor and select "Download Blocks as Image". You might want to use an image editor to crop etc. if required. Then post it here in the community.