I want to use Android Finger Print Scanner API in my Android application.But as I am I found, I need to have android marshmallow OS to use this feature.
I also downloaded sample app from android official site, and they have also mentioned min required sdk as 23.
So is that mean that, I cant use this API before 23?
Even trustworthy Reference of CommonsWare suggests its not possible
http://stackoverflow.com/questions/32563262/fingerprint-scanner-support-for-lower-android-versions
If I am right that, its must have android marshmallow to support finger print scanner, How can I provide support of Finger Print Scanner function to pre marshmallow?
I don't know what type of app you are building/have.
There are some options.
Use fingerprint only on API level 23 and implement some other security measure on API level lower than 23
Check your app statistics to determine the commonly used devices and check for device specific fingerprint integration. (Samsung has SDK for fingerprinting if the device has a scanner built in.)
Use the Android implementation on API level 23 and the device specific SDK for devices lower than API 23.
Don't use fingerprint at all.
for Device with OS API lower than API 23, just access manufacturer website and find "SDK", "API", ... to find fingerprint sdk (lib file) to use for your app.
For Sky, it is PantechFingerprint SDK (Ex: Sky A890) : https://github.com/pantechfingerprint/PantechFingerSDK
For Samsung, it is Pass SDK : http://developer.samsung.com/sensor-extension#pass
I don't know FingerPrintManger of Android OS API 23 and above will works properly with all kind of FingerPrint sensor of a lot of smart phone on the market. I even haven't any Android 6.0 Phone to check. Too bad for a developer like me.
Related
Android 9/Android P (API 28) is said to support facial recognition via BiometricPrompt. All of the tutorials that I've read use BiometricManager for detecting Facial recognition support - but this class wasn't added until API 29 (Android 10/Android Q).
So, how can I detect facial recognition support on API 28?
My preference is to do this without using the AndroidX support library, as I've read conflicting information about what the support library's version of BiometricManager.canAuthenticate() results mean when run on API 28 and lower.
Answering my own question. It appears that even on Android 10 there is no way to find out if the device supports facial recognition, since BiometricManager.canAuthenticate() will return success if the device supports fingerprint auth. From API Docs:
This is the equivalent of canAuthenticate(int) with Authenticators#BIOMETRIC_WEAK
And BiometricManager.canAuthenticate(int) isn't available until API 30.
So using BiometricManager on Android 10 is no different than using the deprecated FingerprintManager.
So working back to my question about BiometricManager support on Android 9. There is no difference between using FingerprintManager and BiometricManager when it is running on an Android 9 device. Therefore the equivalent of BiometricManager is FingerprintManager.
But this doesn't help someone like me that is looking for a way to determine if the device supports facial recognition. There doesn't seem to be any way to determine this pre Android 11.
I am using the Google SafetyNet API to detect device tampering in my application. Reference:: https://developers.google.com/android/reference/com/google/android/gms/safetynet/package-summary
But I cannot find any reference to the minimum support OS version. I thought I read somewhere that it was 7.0 but can't find that now.
It used to say "since" in the API docs, which was useful to tell the requirements but that seems to have disappeared.
What is the earliest version of Android that SafetyNet will work on, as supported by Android? Thanks.
All Play-enabled Android devices using Android 2.3 and above already use SafetyNet as long as the Play Services package is updated.
here
As mentioned in the prior response, Android 2.3. is the minimum supported version. However it should be noted that prior to Andoird 6.0, the SafetyNet could not read the device's bootstate, limiting the effectiveness of SafetyNet.
See Slide 50
I'm working on an Andriod Studio project and I'm trying to use the Google Cloud Vision API. I've been trying to figure out if I can use it since my target sdk is level 15-25, but I can't find the minimum required sdk level anywhere in the documentation.
The only information relevant to this that I found was the only sample application on their website and it says under prerequisites "
An Android device running Android 5.0 or higher 1
That doesn't necessarily mean it doesn't work for lower API levels. Does anyone know what's the minimum requirement?
According to this link vision API depends on the Google Play Services which are curently available for Android 4.0 and above. So for now I think you can continue using the API for your min SDK version 15.
But on a long run there will be many more cool features that will added to lollipop and above only. So the question is, do you want support or quality? Either comprimise the quality for the devices which has 4.0 or focus on quality by building for 5.0 and above because soon devices below 5.0 are going to be obsolete.
For several days now, I have been trying to work out a way of using a previous Android API's implementation of a method in an app that has been built with a newer API.
Specifically, I am using startBluetoothSco() to initiate a virtual call over a Bluetooth SCO channel. In API 17, this works perfectly, however, in API 18 onwards startBluetoothSco() opens a raw SCO channel instead of a virtual call (as stated in the developer docs: http://developer.android.com/reference/android/media/AudioManager.html#startBluetoothSco() ). The accessory I am working with does not do anything with the raw SCO channel.
In this scenario, it is not an option for me to build the app with API 17 as it is likely that other developers will require features of later APIs in the near future.
I did think that I may be able to wrap the Bluetooth code in a library project, build this with API 17 then integrate it into the main application, which would then be built at API 18. Unfortunately, this didn't work; it appears the OS sees the fact that startBluetoothSco() is being called from an app which was built with API 18, and therefore uses the API 18 implementation of the method.
If anyone could please suggest any way by which I can force an API 18 application to use the API 17 implementation, I would be very grateful.
Thanks
In this scenario, it is not an option for me to build the app with API 17 as it is likely that other developers will require features of later APIs in the near future.
What you build with does not matter. What you are running on is what matters. If you are saying that, starting with API Level 18, startBluetoothSco() does not work with your hardware, then Android 4.3+ devices will not work with your hardware.
Unfortunately, this didn't work; it appears the OS sees the fact that startBluetoothSco() is being called from an app which was built with API 18, and therefore uses the API 18 implementation of the method.
It uses "the API 18 implementation of the method" because that is all that it has, if it is an Android 4.3 device.
If anyone could please suggest any way by which I can force an API 18 application to use the API 17 implementation, I would be very grateful.
Install a ROM mod based on Android 4.2 on the device.
I have an Android device, apparently with API Level 10.
I'm developping an Android Application and I need to test it on API level 12.
I don't know much about Android and API levels, so my question is: Can I update my device to a higer API level ? (it says no New version available, aren't hier APIs considered new version?)
(I can't use the Emulators, as they really need a huge amount of ressources to start.)
Alternatively, is it possible to test the following code, on my API Level 10 device ?
UsbManager manager = (UsbManager) this.context.getSystemService(Context.USB_SERVICE);
I have the following warning:
Yes higher API levels = latest releases.
http://en.wikipedia.org/wiki/Android_version_history#Version_history_by_API_level makes the correlation between API and version number (2.3.4).
You should work with a device supporting latest api and high resolution because many of your users might have that and you NEED as a developer to see and test your work on these platforms.
Get yourself a nexus phone, you can upgrade these to the latest Android version.
Android version release : Google releases it --> manufacturers and Telecom Carriers checks and adjust the release before making it available to you. Hence, for old phone, the manufacturers and carriers don't make the effort and you are stuck to old versions.
If you do no want to or if you cannot find a more recent handset, you can install a custom ROM to try to reach API 12. But in any case, if you start developing, you ll need good handset soon.
good luck
You can try to see if there is a custom rom for your device that is of a higher api version. But this won't accurately test your app because there is probably a very good reason that a newer operating system was not made available for your device. As such, your app and the SDKs in the new API will probably not be able to make use of the hardware resources available, and you won't get an accurate representation of your app's performance.
You mentioned you can't use emulators but have you considered Genymotion's emulators? Although it is resource intensive it is better than Google's emulators and is faster than actual devices.
Assuming your using Eclipse ADT. You DONT have to update your device to level or API 12. All you have to do is specify the minimum required SDK, which is API 8 in most Eclipse ADT setups. and set your target SDK to API 12. That way your app will run on devices from API 8 through to API 12 Including you device. FYI the latest API is now 19 (Android 4.4) Hope this helps.