Deprecated API Android and Iphone - android

I am making application which is using a deprecated API. I have to submit it on Apple and Android App Store next month.
In this case, is there any chances to reject the application from app Store of Iphone And Android.

Don't use a deprecated API. Almost nobody deprecates something without providing an alternate means to accomplish the same task. Use the documentation to discover these alternatives, and adjust your code accordingly. What happens if iOS 5 comes out tomorrow, for instance, and all of a sudden your code breaks on those devices. You'll be scrambling to fix it. Fix it now while you have some time.

Android should not be a problem due to the fact that they won't look at your code. Apple will probably check your code and if they see it, they will most likely tell you that you are using deprecated API, but I don't think they will reject it if it is working flawlessly with it.

Related

How to use TextClassificationManager to Detect language

TextClassificationManager is available from API-26. Its public methods available for classify text .
My requirement is i need to detect language from a giver Text offline.
TextClassificationManager also have detectLanguages() method but its hidden.
Can i Use TextClassificationManager to detect language ?
I have searched a bit and i Found This Project Using TextClassificationManager by Reflection. But it throws NoSuchMethodErrror and Returns ..
So if anyone Used TextClassificationManager for this purpose can help me .
It's a bad decision to use hidden functions via reflection. You can never know if the function will be there and available so you have to prepare a fallback mechanism.
For Android SDK 26-27 You can try and use this Android lib project - https://github.com/rmtheis/language-detection but be aware that it's no longer maintained so use it for your own research but it's probably not a good idea to use it for production or apps released in Google Play.

Send SCEP request from Android

I'm looking for a way to send SCEP requests from android devices. I found some incomplete code in this SO-question. Of course I could do all the work and boilerplate code myself, but I wonder if there's a more standard way to enroll android devices to our PKI. Googling around I found a lot of hits regarding jSCEP not being supported on android, but these hits are quite old and jSCEP does not seem to be a very active project.
So my question is: Do newer versions of android (marshmallow and upwards) support a standard way to create and send SCEP requests?
OK, after some trial & error I found out that it is possible to use jScep on Android following the instructions on the github site of jScep.
The only differences are the construction of the client where i had to exchange the ConsoleCertificateVerifier with OptimisticCertificateVerifier to make it work. As the scenario takes place in an enclosed environment this doesn't raise any security issues for our case.
The other changes were to run the request in it's own Thread and handle the result in a Handler to avoid blocking the device while requesting.
In the long run we may fork jScep as it seems to be not well maintained, but that's another cup of tea. :-)

Can we use EffectFactory Class for lower versions

For my new assignment, I wanted to use some library that can provide a "Posterize effect". I found many library like Aviary SDK and jhlabs, Yes, these are easy to use, but these making the code heavier. SO I keep searching for Android's API itself which can do the similar task. And after a lot of RnD, I finally found one my time saver class EffectsFactory which provides the same as I wanted. I applied it in my assignment also. But the bad thing it was added in API level 14, And my app should be compatible with at least API level 8.
So, My question is,
Can I use EffectsFactory class for lower version? If Yes then How?
Or, If No, Then Do we have any API in Android SDK itself which do similar to effectfactory ?
Please avoid referencing any library or NDK's open cv library.
No, there is not an Android API that will posterize an image below API 14. Even above API 14 EffectsFactory may not work, as it says in the Android documentation:
Some effects may not be available on all platforms, so before creating a certain effect, the application should confirm that the effect is supported on this platform by calling isEffectSupported(String).
However, you could easily make a lightweight solution yourself. Posterization is a simple process. For example, the code behind JHlabs' posterize filter is less than 50 lines (and most of them are sugar). In your shoes, if using a 3rd party library was out of the question, I wouldn't hesitate to write my own.
Edit: If you happen to be posterizing images your app takes from the camera, there is also Camera.Parameters.setColorEffect(), but again this is not supported on all devices, as it says in the documentation:
For example, the application should call getSupportedColorEffects() before calling setColorEffect(String).

Is it safe to use the deprecated Android class (Gallery)?

I realized that Gallery class in Android is deprecated, but I can still build my application and it runs correctly.
I don't care much about performance, since it will contain 2-3 pictures at most.
What I'm wondering is, is it safe to use Gallery ?
Will it work in all devices (including API > 16)?
And I hope that Android Dev Team replaces Gallery with another widget, instead of making us write our own galleries using HorizontalScrollView etc.
There are certain functionality deprecated by the Android Engineers just to make the developers use a newer implementation of the same. For example the Dialog Fragment requires a lot of coding to do the same task a showDialog() can possibly do. You are completely safe on this one as far as I know. At the same time, there are some other deprecation made due to security issues as well. In the case of Gallery, I understand that there is nothing wrong with using the deprecated class, except that it is deprecated. You are safe.

Android S/MIME development

I have searched from here to the ends of the earth and have still not figured out how this is possible.
I started with using the custom built javamail/gmail api because I wanted to send the email in the background without any interaction from the user.
I then tried to build ontop of that: crypto ( http://javamail-crypto.sourceforge.net/ ) coupled with bouncycastle ( https://www.bouncycastle.org/ ) to sign the email
Because these api's are so old, they clash a lot and every time I seem to fix one obscure error, I uncover another.
I have seen 1 or 2 apps on the market that provide S/MIME encryption and have emailed the creators but have not received a reply.
I've officially given up, its not a case of how old the API's are but a combination of the following two problems:
There is no java.awt package in Android, but a custom andrioid.awt one. I have tried editing the jar files belonging to bouncycastle to adapt to this but to no avail.
The api's seem to not correspond with each other at all. Every time I got close to signing the email and sending it, I would find a nosuchfieldexception or nosuchmethodexception at runtime where one api was looking for something in another api.
Eventually, I just gave up trying to do it for free and found a site called Chilkat who have a perfectly working API with a 30 day trial from the first time you run the code.
Their android api's are here: Chilkat for Android
The reason I'm putting this up is for anyone else who's gone through as much blood and sweat over this as I have to know that there is some hope, even if you have to pay for it...
Djigzo S/MIME Email encryption, from the author “Djigzo”
For Blackberry devices, download the app from: http://www.djigzo.com/bb.html
And of course it has to be free also? The APIs haven't changed because S/MIME hasn't changed. I think you'll also find the sockets API hasn't changed in eons because TCP hasn't changed. However, if you are willing to pay money, then you might consider IAIK, for example this IAIK toolkit.

Categories

Resources