I've been looking into NFC card emulation on Android and have done some pretty thorough Googling. As far as I understand, some modifications were made way back in Android 2.3 by another XDA member. Later on, a more complete framework for emulation was made by adding PCD tag types to Cyanogen 9.1+, enabling emulation in a semi-supported way for those running Cyanogen. With the latest versions of Android, it seems like Google has semi-official support for card emulation through the com.android.nfc_extras class.
My main question: are there any useful apps out there that take advantage of this? Does this work with the Nexus 4 / GS4, which use a different NFC chip (non-NXP) from all other Android phones? How would I go about taking advantage of this?
Related
Check out what Blackberry is up to:
Code:
youtube. - com/watch?v=EFBh9Hc6P-8
forums.crackberry. - com/blackberry-bold-9930-9900-f235/blackberry-bold-9900-nfc-724062/
Do you know any solution to do this with Android NFC phones?
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Moving to Q&A
Hi lufc,
thanks - sorry that I posted in the wrong forum.
Anyway, this is one of few uses of NFC that I have seen so far, which takes advantage of being able to interact with your environment. Still it would be interesting if there are any apps for Android that enable you to use your smartphone as key.
This would not currently be possible on Android. What BlackBerry are demonstrating is card emulation. Card emulation allows your phone to interact with existing infrastructure by emulating a RFID card. However, card emulation requires access to the secure element, which Google have not provided to developers. Google are trying to push P2P NFC connections as an alternative, but very few existing and deployed access systems work like this.
To summate: technically it is indeed possible on Android (Google Wallet uses card emulation). However, Google restricts card emulation so that only they can use it. Being able to open the doors of your office or school with your phone is not possible.
LoveNFC said:
This would not currently be possible on Android. What BlackBerry are demonstrating is card emulation. Card emulation allows your phone to interact with existing infrastructure by emulating a RFID card. However, card emulation requires access to the secure element, which Google have not provided to developers. Google are trying to push P2P NFC connections as an alternative, but very few existing and deployed access systems work like this.
To summate: technically it is indeed possible on Android (Google Wallet uses card emulation). However, Google restricts card emulation so that only they can use it. Being able to open the doors of your office or school with your phone is not possible.
Click to expand...
Click to collapse
Using P2P NFC would mean though, that the element at the door would need to be a powered device and cannot be a passive NFC tag?
They have a live demo now at world.BlueID.eu
Funny how you are able to do this with Japanese phones already
I will be developing an app to utilize NFC tags for parts identification. More or less I will need to write stuff into NFC tags, read data from NFC tags, act upon that data - open a webpage, fetch something from external database etc. This will also be more of a proof of concept than a commercial app. I am not aiming for performance either.
The thing is - I am not a professional developer nor I am planning to become one. I am a mechanical engineer with some programming done in the past - I've programmed microcontrollers to work with MEMS sensors and made some basic Visual Basic apps.
What would be the best way forward? Should I just stick to developer.android.com and Eclipse, or there is some software or super-duper tutorials that can make my life easier?
As you all know, modifying files on microSD card feature like allowing to delete rename move files is not more supported by android kit Kat 4.4.2 and later versions of android...
I already know that there's a solution and it's rooting and installing SDfix app from Google play and solve it all,, but duo to my own concerns Oki don't preffer that way...
Please answere as much questions as I have and u can ??????
1. Why Google just disabled this key fearure?
2. Is there any hope that this key feature will come back in later android version if customers do show their remonstrance ??
3. Is there any where I can email Google official operators about this problem and ask them why whom responsible for deleting this key feature in android developement department of Google? - as I searched didn't found any where to chat or ask my problem...
4. Do HTC, Samsung, Sony and other mobile manufactures have the legal rights to add this key feature to there android builds of their own in the contrast of Google android developers way?
And can they include this key feature (or better to say exclude this crazy ban) from their own android roms and just include it in an update for their phones for us to get rid of his ban ??
Salar.m said:
As you all know, modifying files on microSD card feature like allowing to delete rename move files is not more supported by android kit Kat 4.4.2 and later versions of android...
I already know that there's a solution and it's rooting and installing SDfix app from Google play and solve it all,, but duo to my own concerns Oki don't preffer that way...
Please answere as much questions as I have and u can ??????
1. Why Google just disabled this key fearure?
2. Is there any hope that this key feature will come back in later android version if customers do show their remonstrance ??
3. Is there any where I can email Google official operators about this problem and ask them why whom responsible for deleting this key feature in android developement department of Google? - as I searched didn't found any where to chat or ask my problem...
4. Do HTC, Samsung, Sony and other mobile manufactures have the legal rights to add this key feature to there android builds of their own in the contrast of Google android developers way?
And can they include this key feature (or better to say exclude this crazy ban) from their own android roms and just include it in an update for their phones for us to get rid of his ban ??
Click to expand...
Click to collapse
If you are rooted there is a way around this. Its is not that big of a issues unless you can not obtain root
Google, for the most part, doesn't like external storage expansion. They consider it a security flaw. Keeping everything internal keeps all your data more secure. Plug it into a computer, and you can't access anything unless you unlock the phone (PUT A LOCK CODE OR PATTERN ON YOUR PHONE!), but if there's a microSD card with sensitive data (app info, dirty pics, whatever), all you have to do is take out the card.
I can understand Google's position, but I also hate it too. Especially when so many phones without expandable storage have such limited internal space (ie: Nexus devices). Even if you don't have a bunch of music/video on your phone, it only takes a couple of big games like Asphalt or GTA to use up all your space. IMO, Google should figure out how to move certain apps to SD storage, even if they don't allow all. Keep sensitive data on the device, but allow the hefty stuff to be stored on card.
Planterz said:
Google, for the most part, doesn't like external storage expansion. They consider it a security flaw. Keeping everything internal keeps all your data more secure. Plug it into a computer, and you can't access anything unless you unlock the phone (PUT A LOCK CODE OR PATTERN ON YOUR PHONE!), but if there's a microSD card with sensitive data (app info, dirty pics, whatever), all you have to do is take out the card.
I can understand Google's position, but I also hate it too. Especially when so many phones without expandable storage have such limited internal space (ie: Nexus devices). Even if you don't have a bunch of music/video on your phone, it only takes a couple of big games like Asphalt or GTA to use up all your space. IMO, Google should figure out how to move certain apps to SD storage, even if they don't allow all. Keep sensitive data on the device, but allow the hefty stuff to be stored on card.
Click to expand...
Click to collapse
You mean after all of these experiences they had till releasing Android 4.4.2, Couldn't they find out any other solution to that matter but to restrict the permissions on microSD card??
I don't have any special skill in software and computer programing but there has to be some other solutions like adding firewall, or setting an unbreakable master password (while accepting just NTFS formatted sd cards) on devices using a default app from Google for it (like the condition we see WD uses to secure its external HDDs)
lacoursiere18 said:
If you are rooted there is a way around this. Its is not that big of a issues unless you can not obtain root
Click to expand...
Click to collapse
Rooting is not a permanent solution for this matter at last!!!!
It does look like they're (officially!!) forcing their customers to root their device witch they not approve rooting way by not supporting guarantee conditions... And it doesn't make sense...
I'm completely aware that the rooting highway is widely open and rooting is a piece a cake...
But, the company should establish ways that don't put its customers to rooting highway!! ,, cause it doesn't make sense...
Salar.m said:
You mean after all of these experiences they had till releasing Android 4.4.2, Couldn't they find out any other solution to that matter but to restrict the permissions on microSD card??
I don't have any special skill in software and computer programing but there has to be some other solutions like adding firewall, or setting an unbreakable master password (while accepting just NTFS formatted sd cards) on devices using a default app from Google for it (like the condition we see WD uses to secure its external HDDs)
Click to expand...
Click to collapse
I can't speak as to why that couldn't or can't or aren't. I'm not a programmer or developer. I'm merely repeating information that I've read regarding SD cards and security. Rumor is that Android L might open things back up.
Planterz said:
I can't speak as to why that couldn't or can't or aren't. I'm not a programmer or developer. I'm merely repeating information that I've read regarding SD cards and security. Rumor is that Android L might open things back up.
Click to expand...
Click to collapse
Really? I hope so...
If you heard anything else about it, share it with us...
And, BTW, I heard that Z2 doesn't have this problem with its Android 4.4.2 Rom... Is that true? Why?
Now that framework modifications are no longer working in newer Android versions, a lot of the research I have over the past few months may be of use in maintaining touchpad support.
The Sony example apps use NativeActivity and the event ID from the native side separates the event (since touchscreen events use the same handler). The trick for an app dev getting it to work was just a matter of returning a false motion event to Java and handling the input natively with a second interface set up for touchpad events. This did not change in later versions of Android. The only real change was the key layouts. In later versions of Android, they added a separate key layout for the gamepad instead of appending the default one. That is why the circle button is no longer alt + back. Instead, you have to check the device name for zeus-gamepad and then handle it as the standard back KeyCode.
You can see the code to handle touchpads in a standalone library I put together to add to reicast. This library is built independent of the emulator and allows handling the touchpads through a secondary NativeActivity that has the methods OnNativeMotion and OnNativeKeyPress handling input identified as coming from an Xperia Play.
https://github.com/reicast/reicast-emulator/blob/master/shell/android/jni/src/XperiaPlay.c
The touchpads no longer dispatch a TouchEvent because a TouchEvent was the catch all for touchscreen, touchpad, mouse interaction. When GenericMotionEvent was added, it allowed better classification of touch and move without all the extra checks and conditions.
Trying to find a workaround from the user end instead of getting the developers to use the proper code is why older apps end up broken in newer versions of Android. A lot of the developers have since moved on to other things and left the app with the hack code. Now that it is no longer possible, it may be too late to get an update with the code that works.
GameKeyboard uses the touchpad support methods and acts as a middleman to convert the interaction into something the app can handle using standard methods. A system modification would be something like that merged with something like tasker to detect when the gamepad was opened. Until that modification exists, GameKeyboard and Tasker are a fully-functional alternative.
https://play.google.com/store/apps/details?id=com.locnet.gamekeyboard2&hl=en
Here is the full source on the various supported ways to handle the touchpads in Android:
https://github.com/AbandonedCart/XperiaPlayNative
And for Unity developers, here is an extension to support touchpads from within a game:
https://www.assetstore.unity3d.com/en/#!/content/18853
And here is a demonstration of an Android app with touchpad support from within Unity:
https://www.dropbox.com/s/lw7lebx4piizw4v/SwordArtUnity.apk?dl=0
hi,thank you for starting this thread, it's nice to se that someone is still interested in the xplay, it's still perfect for my use. i do heavy retrogaming with retroarch, plus all the new game, the walking dead,gta sa nova modern combat ecc. i'm on super jelly bean 8 with lupus 13, oc to1.4ghz for gaming with the touchpad fix,and touch pads lag as hell and make any game unplayable..
unfortunately i'm not a developer, but i will be testing of corse if you need..
This isn't really one of the threads where there will be a build or mod to download and then post error reports about. This is one of those threads (like xda used to be flooded with) meant to show people how to do things so they can add them to something or gather all the parts and build something else. It's source, instructions, and good ol' fashioned information. It's a little late, but it's all the stuff that should have been here when the games were being developed to prevent the support situation currently being faced.
Sent from my iPad using Tapatalk
twistedumbrella said:
This isn't really one of the threads where there will be a build or mod to download and then post error reports about. This is one of those threads (like xda used to be flooded with) meant to show people how to do things so they can add them to something or gather all the parts and build something else. It's source, instructions, and good ol' fashioned information. It's a little late, but it's all the stuff that should have been here when the games were being developed to prevent the support situation currently being faced.
Sent from my iPad using Tapatalk
Click to expand...
Click to collapse
Thank you as soon as I get another Xperia play I'll definitely be trying this
Sent from my VS980 4G using XDA Free mobile app
twistedumbrella said:
This isn't really one of the threads where there will be a build or mod to download and then post error reports about. This is one of those threads (like xda used to be flooded with) meant to show people how to do things so they can add them to something or gather all the parts and build something else. It's source, instructions, and good ol' fashioned information. It's a little late, but it's all the stuff that should have been here when the games were being developed to prevent the support situation currently being faced.
Sent from my iPad using Tapatalk
Click to expand...
Click to collapse
thank you again for your support, by not being a developer i've no idea on how to use your files, not understandable for me. i'm shure it will be useful to developers for eventual new projects
Hi all
We use a few rugged android devices at work as glorified GPS and mapping units. They work great however today I found out that our main data collection service is updating their android application to use TLSv1.2. From my research it looks like all android devices beyond API level 16 (Jellybean) CAN support TLSv1.2, however it is not turned on by default (whatever that means) before API level 20/21 (KitKat wearable/Lollipop). We have devices running 4.1.1, 4.2.1 and 4.4.4.
There is literally zero chance of getting these devices upgraded to Lollipop. They are made by Getac and Aspera - both small companies. Anyone that uses rugged devices knows that you trade in your access to updates and custom roms etc when you opt for one. They are too much of a niche product to attract developers and the manufactures just want a stable device, not the latest and greatest. They also generally run lower end specifications, so updating to newer OS is not always desired. We have a Getac z710 (http://us.getac.com/tablets/Z710/features.html), one Aspera R5 (http://asperamobile.com/products/aspera-r5/) and three Aspera R6s (http://asperamobile.com/products/aspera-r6/). I am not even sure if they have root solutions available for them...
So does anyone out there with a kind heart and some knowledge want to help see if there is anything that can be done on my end to turn on support for TLSv1.2? Here is some stuff I found so far, but most of it seems like it needs to be done on the server side, not client side.
http://stackoverflow.com/questions/24357863/making-sslengine-use-tlsv1-2-on-android-4-4-2
http://www.jordanrejaud.com/android/2015/09/19/android-tls-ssl-engine.html
None of these devices are rooted, so everything needs to be done via adb, or i need a root solution...
bump...
Did you ever find a solution for this? I'm trying looking into this myself but haven't found anything that would modify it for the whole OS, only something that would require modifying the source code for an app.
I have the same problem/question:
GetBackersBH said:
Did you ever find a solution for this? I'm trying looking into this myself but haven't found anything that would modify it for the whole OS, only something that would require modifying the source code for an app.
Click to expand...
Click to collapse
Is there a known solution that would modify the whole OS, not just an app through a code? I would need TLS 1.2 permanently enabled on Android 4.4.2 KitKat. The phone is rooted, BTW.