I'm trying to test out the new Host Card Emulation features in KitKat, but the only KitKat device with NFC that I have at the moment is a 2012 Nexus 7. It does support card emulation through Google Wallet, and I can send and receive data to the two Master Card AIDs that it uses.
However, when I try to implement my own HostApduService to handle communications with my own custom AID, Android doesn't route any APDUs to my service. I then tried to call CardEmulation.isDefaultServiceForAid to see if my service is the one that should handle my custom AIDs. When I include the CardEmulation class in my code, the application crashes.
Looking at logcat, there's an entry that says "this device does not support card emulation." Is there a reason why the 2012 Nexus 7 does not support this? It has all the necessary hardware and does emulate cards when using Google Wallet.
Card emulation for Google Wallet on the Nexus 7 (2012) is done using an embedded "Secure Element" (essentially a smart card chip). However, the NFC controller on that Nexus 7, unfortunately, does not support HCE under Android 4.4 Kitkat.
Related
I am using a raspberry pi hooked up to an PN532 NFC to print out the following information from an Android phone.
I was wondering if there is any way to also obtain the phone's number using NFC?
I am getting the impression that NFC does not allow this type of information to be present without third party tool, but I wanted to be certain whether or not this is impossible just using a PN532?
Thanks
Most mobile are primary designed as a NFC reader/writer for an end user OR as an emulated payment card in a secure section of the OS.
iOS has limited NFC support compared to Android.
For device to device communication you either need NFC Peer to Peer which iOS does not support and Android is dropping support for.
OR
You need one device to emulate a NFC card and one to be a reader/writer and iOS does not support Card emulation for anything but the OS payment App, where as Android does support card emulation.
This leaves the only common ground as the PN532 emulating a card which it can do and the mobile phone writing it's phone number to an emulated card.
The next hurdle iOS and Android don't natively broadcaster the sensitive info of their mobile number out via NFC, therefore you would have to write an App for that IF you app had permission and was able to read the phone number from the device (I'm note sure that is possible and is the subject of another question) but failing that you could just ask the user to enter in their phone number.
So overall, it might be possible to write various apps and the right software for the Raspberry Pi but a lot of work and require users to launch apps to transfer a mobile number.
I accessed the Chrome BLE API page (5/7/2016). there seem to be conflicting information messages (see image below). Does this work on Chrome OS only, or OS X and Windows also?
EDIT/UPDATE:
I tried the demo application (demo BLE API) on Windows 10. It was able to see paired devices, but not unpaired devices. I got an error message: Battery device not supported on this platform. I'm not sure if this is because of the test vector I used (LightBlue), or another issue.
System:
Windows 10 64 bit
Surface Pro 3
The chrome.bluetoothLowEnergy API works only for paired devices on Windows as it still uses (at that time) Windows 8 APIs to retrieve paired devices only: https://chromium.googlesource.com/chromium/src/+/08c9d69b0c0d625d2ce38e3d8402f36e1226f0fc/device/bluetooth/bluetooth_low_energy_win.h#117
For info, the Web Bluetooth team plans to support Windows 10 as much as feasible: https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementation-status.md#chrome
Reading through your given documentation wherein you referenced the use of navigator.bluetooth, Interact with BLE devices on the Web also states that:
Web Bluetooth API is at the time of writing partially implemented in Chrome OS and Chrome Dev for Android behind an experimental flag.
Hence, you got undefined as a return value.
Functionalities were provided by Bluetooth Low Energy (BLE) through key/value pairs provided by the Generic Attribute Profile (GATT).
I want to capture distances from sensors, using an Arduino and a Windows Phone device. How can I do that?
The Windows Phone 7 SDK does not give access to the USB port or Bluetooth on the phone, so you can't use that. So I think the best way (and probably only way on Windows Phone 7) would be to communcate over Internet or local network with the Arduino acting as a server which the Windows Phone 7 app connects too.
Here are some examples of an Arduino web server and TCP server.
For the Windows Phone client I would check out either WebClient or sockets.
Windows Phone 8 SDK:
Consider establishing an App to Device communication through Bluetooth API which became available for developers in the release. Bluetooth App to Device application sample, available on MSDN, is the way to go.
There is another option in Windows Phone 8, using Proximity (a set of classes which works with NFC), which is more applicable for a short range communication.
As for Arduino, there is certainly a Bluetooth module.
Windows Phone 7 SDK:
No way to establish a peer-to-peer communication with a third party device. A workaround would be to connect them through a network, as was proposed by Johan.
I have actually made a Windows Phone 8 App that connects to an Arduino using the Sparkfun Bluetooth Silver Modem. Issues is, even after I get them connected, I can't get either the Arduino to receive the input OR I can't get the WP8 App to successfully send to the Arduino...
My GitHub for the project is: https://github.com/lanceseidman/Arduino-Bluetooth-WinPhone8
Hoping everyone can try and help on the project.
My Breadboard photos will be up soon and my Arduino Code.
I am asked to come up with a solution for remotely locking and blocking the camera of Windows Phone 8 devices. Also, I have to remotely wipe the data. I am new to Windows Phone development.
In addition, I have to get some device information and send this to a server periodically for tracking purposes.
Could you please provide some inputs?
Sorry, but there's no way lock or block the camera on a Windows Phone.
Also, an application can only access its own data, so there's no way to wipe all data on the phone. But you don't need an app for this specific need, as you can already do that using the integrated Find my phone service: http://www.windowsphone.com/en-US/How-to/wp8/basics/find-a-lost-phone
Windows Phone 8 also has management functions that can be controlled from a server, one of those functions is to wipe / block the phone. Watch the BUILD videos on Channel 9, its somewhere in there, may have been this video: http://channel9.msdn.com/Events/Build/2012/2-014
I would look into a Mobile Device Management provider such as Silverback (http://silverbackmdm.com/), or Zenprise (http://www.zenprise.com). Microsoft is also releasing an extension to Intune services in 2013 for MDM too.
The MDM providers allow the enforcement of device security policies, including thins such as remote wipe, password enforcement, etc. It's a great way to manage BYOD policies.
I have an application that uses the PC/SC API to communicate with smart cards. On Windows 7, I get strange results: the data returned from the cards is inconsistent and invalid with certain commands. If I disable the Smart Card Plug and Play service in group policy then everything works fine. Has anyone experienced anything similar? Is there any way to get the smart card plug and play service to play nice? It would be nice to not have to disable it...
This is happening because you are using a smart card that supports "plug-and-play" under windows 7. In this situation, Windows 7 will automatically attempt to download and install a "Card Mini Driver" for the card when it is inserted. It sounds like the Card Mini Driver that is getting installed is causing the inconsistent behavior.
The obvious workaround is to use a card that doesn't support "plug-and-play" under windows 7. If this isn't possible, you will need to post additional details about the problems you are seeing, specifically what kind of smart card are you using, and what commands are breaking after the card mini driver is installed?
Technet details on Smart Card Plug and Play in windows 7 can be found here:
http://technet.microsoft.com/en-us/library/dd979547(WS.10).aspx