Has anyone worked with NFC with Java, javax.microedition.contactless? - java

I have been trying to look into this and it seems hard to find good solid info. Is there anyone out there that has created any java packages that interact with NFC phones, cards, etc. I haven't been able to find a lot on how NFC works really. I just want to be able to read the id of the phone, or its phone number, when it scans. Any way to do this?
I was reading this:
http://java.sun.com/developer/technicalArticles/javame/nfc/
which mentions the package javax.microedition.contactless
but can't seem to figure out how to implement it. I am not great at Java, only in my second semester. This over my head?

The Android has own Java API, which differs from JavaMe. This applies not only to NFC, but also to other areas. The above mentioned API you can use on JavaMe NFC enabled phones like Nokia 6212, some Samsungs and Sagem.
If you plan to use NFC I suggest you to either use the Android - there are 2 widely available NFC phones on the market or Symbian, where is dozens of models already released. The other option is go with RIM BlackBerry.
BR
STeN

Related

Adding app shortcut on lockscreen

I want to add my app's shortcut on phone's lock screen, is it possible in android ? Below screenshot (which is of iPhone) will make it clear.
Without Widget..
Any help will be appreciated, thanks :)
If you want to add a shortcut in the home-screen then that is obviously possible with the API Android provides.
But you are talking about adding a shortcut to the lock-screen, which only a few (very few) Android devices support officially. I have experience with a lot of different Android devices from a lot of different manufacturers but none of them supports adding an app shortcut on the lockscreen.
You might not be willing to accept my answer as may not provide the answer you were looking for, but still I would try to give you two possible solutions :-
1) You need to create your own lockscreen for this and then you obviously have the privilege of adding any shortcut you want there. See if that's a possible solution for you.
2) Or, if know of any Android device that does support this, then you need to contact the device manufacturer for knowing the API.
I am rest assured there is no official API available to put an app shortcut on the lockscreen.
Hope I could help you with my best.
Check out this article at: http://fieldguide.gizmodo.com/put-your-key-apps-on-the-android-lock-screen-for-easy-a-1621573474. Following these steps should get you what you are looking for.

Java ME on Siemens CX70

I have very old Siemens CX70 in working state and just don't want to throw it out. My idea is to use its math power and peripherals (GSM module, USB, Camera and screen) to build some simple applications for home use (multichannel termometer, timer and cheap security system - for examples).
I know I should use Java ME and IDE (I love Netbeans, for example). Can you tell me what I need more to start developing? I know Java well, I just need to make an environment to developing, debug and deploy. Mobile library documentation will be very helpful too.
Thanks.
There are so many online tutorials about this topic that the only right thing to do is to refer you to google.com
Search after "getting started with j2me".
However, there's something else you should know upfront before getting too excited.
The security model in JavaME will prevent you from doing much useful stuff, in relation to some of the things you mention.
Every time you try to access certain things in the phone, like e.g. the camera, or send SMS, or read/write a file on SD card, etc etc - the phone will show a popup "This app is trying to access camera. Allow this?". And the app will only continue after a manual click on Yes.
As you can imagine, this of course renders a lot of ideas useless.
In order to prevent these popups, you can sign your app with a certificate you buy from Thawte or Verisign. But as that'll cost you $300 a year, it's not the way most sparetime hobby developers chooses.
Personally, I found another way, but it requires you to use a phone from Sony Ericsson.
Because the old Sony Ericsson phones can be patched in order to remove the Java security. After doing this on one of my old phones, I've been having fun making apps like the ones you mention. For example, an app that keeps an eye on my home when we're out, by taking a picture every second. If it detects a difference in the picture, it sends me an MMS with the picture. :-)
I have searched a long time for patching options for other brands, but I just can't find anything useful. Nokia should supposedly also be patchable, but I just can't find anything useful about it.
So in short: If you'd like to make some sparetime hobby apps on a phone like that, you should either find a Sony Ericsson phone and patch it - or go dig up an old used Android device.
Good luck.

Making an Android application that cannot be uninstalled/deleted

I want to make a security app for Android phones. Basically, I don't want anyone to be able to un-install it without having to enter a specific password first.
Also, is there a way to prevent the app from being stopped manually (like being closed via. Taskmanager) etc?
This sounds more akin to Malware-like behaviour than that of a regular Android application, anyway:
For a regular Android application, I'd imagine that making it 'uninstallable' is near enough impossible to achieve - try to contemplate what the state of the Android app market would be like right now if this were possible!
On the other hand, if privileged control (root access) was available then this might be a possibility - an example of that could be like how wireless carriers implement bundled software. However, like I mentioned, there is no regular avenue available for applications released via. the Android market to achieve what you've asked, it should be pretty clear to you why...

RFID + Android --> where do I start?

I've heard that the Google Nexus S has RFID capabilities. I'd like to start learning about RFID and programmatically doing things. Where should I start? Good tutorials or code examples are what I'm after. (or hardware if it's not Android I suppose).
Doesn't have to be Android, could be python or java libraries as well. Preference for Android.
I see this as the future, and I want to get in on it :)
Buy a Nexus-S, buy some tags.
Then take a look at the code of the 'Tags' application that comes with android. Play with it, modify it. Write some tags with your own application.
Learn what Ndef is and how you craft your own messages/records. Learn how to use the transceive function to do direct communication to the tags. This will open up a world on it's own (aka you can write-protect tags that are not write protectable by Android itself etc).
All in all that can be done in two weeks. The Android NFC/RFID subsystem is easy to use. Most of the the hard stuff is hidden from you.
Afterwards write your own little application, show it to advertising agencies that do Android apps and get a high payed job. NFC experience is highly sought after at the moment.

No support for FocusControl in Nokia using Java ME?

I am developing a Java ME application which uses the camera to take a snapshot and then decodes it (using ZXing library). The target is Nokia phones.
I need to use the focus to have a clear image, if not, it is difficult to decode the image.
Since the Series 40, the control "videocontrol" and "SnapShopControl" are available. I thought that for the "FocusControl" it was the same, but it isn't.
I discovered that it is almost non-existent, not only for the Series 40 (only some phones), but (more surprisingly) for the Series 60 and Symbian 3.
You can see that in Java ME API support on Nokia devices.
These mobile phones support JSR-234 but for audio and music, not for camera.
As you can imagine, this is very deceiving, Nokia is not doing their work well.
Did you find any solution? Perhaps another "made-by-hand" control? I am afraid I have to start programming in C++ because I haven't got much time.
The solution has been to use Nokia's APIBridge (an extensible mechanism to access device features in WRT, Flash Lite, and Java applications). You can access the software is installed in the phone for the camera and if it is able to use the autofocus, you can use it, and it returns the image you take.
See Tool details for APIBridge for further details.
The implementation is easy (you install the SIS file for the APIBridge in the device, and you can package your application and this SIS file together).
You use the following code:
APIBridge bridge = APIBridge.getInstance();
bridge.Initialize(midlet);
NewFileService service = (NewFileService) bridge.createService("service.newfileservice");
Hashtable filter = new Hashtable();
filter.put("NewFileType", "Image");
BridgeResult res= service.TakePhoto(filter);
Many phones' hardware just don't support focus. Some Sony Ericsson phones (e.g. G502) support FocusControl, but they don't allow to do anything because the hardware does not support it.
I'm afraid to say that you can do probably nothing with this problem in Java ME.
If the phones support focus control, but it is not availble in Java ME, there are probably two ways how to solve it:
Let user to use the builtin camera and load it (preferably the last photo) from Camera album.
Try to use camera focus from a S60 API.
Note that I'm not a S60 developer.

Categories