Is ther a way to use WiFi Direct on Samsung Galaxy S II on yor App,
calling some sort of API's or anything?
Beacuse the feature does work on these mobiles...
There's must be a way...
WiFi Direct is an ICS feature and must be supported by the hardware. You will have to wait for the Galaxy SII to get ICS. Even then, I am not sure if the hardware supports it (for example, Nexus S on ICS does not support it).
Related
I have an app that runs on all android devices.
I have specific functionality that work only for Samsung KNOX supported devices.
I'm looking for a way to programmatically detect if a device is a Samsung Knox supported device
Thank
I follow Bluetooth Low Energy guide, and try to test discovery feature on Samsung Galaxy Note 3 and Samsung Galaxy S3.
But they can not find together via my application.
Therefore, I try to download nRF Utility from market place.
But it shows notification :
Device not supported
While in market place, it said that :
Note: Samsung Galaxy S3, Samsung Note 2 and Samsung Note 10.1 are currently supported handsets.
I think it gets the same issues.
I have no idea.
Anyone know this issue?
p/s : It will run good on Google Nexus 4, 5, 7?
From the note you wrote, it doesn't seem like the Note 3 is supported (it probably searches for specific models). You can see supported devices and sources here:
http://www.nordicsemi.com/Products/nRFready-Demo-APPS
There's a different nRF Utility for Nexus devices, as they use a different driver.
The samsung BLE drivers are for Android 4.2.2, while nexus devices run 4.3 and use the Google BLE API.
I haven't tested the Samsung BLE drivers myself, but from my experience, the Google API is not very stable, even on 4.4.
You might have to make some changes to your code if it's based on the Samsung drivers and you want to try the Nexus devices.
It seem Bluetooth Low Energy (aka Bluetooth Smart) has no official support on Android, even version 4.2. Anyone know if the standard Android API can discovery BLE devices? (I don't need pairing just discovery would be good)
It is correct that Android took a switch from Bluez -> Broadcom Bluetooth. This switch was causing lots of problems for Android users. Missing BT classic profiles and Wifi v.s. BT coexistence (one probably reset the other since they are in the same chipset in most phones). iPhone and MAC computers suffer a lot from the same problem (BT v.s. Wifi).
The Broadcom Open Source Low Energy API was not included in 4.2.
HTC One X+ got slightly modified (?) Broadcom BLE API on top of Bluez in 4.1.x and it works reasonably good though I have to retry connection sometimes. The package name is htc not broadcom but sometimes Eclipse error messages tells that it is missing some broadcom references.
Also Samsung got a "secret" API for BT BLE with their own package name which can discover devices but seems to be not really robust (which may be why it is "secret")
Google have officially said that "BLE is the next big thing we will release". So maybe in Android 5.0? but hopefully before so Galaxy S2 (which have such a big marketshare and uses the same chipset as iPhone 4s) can get BLE support. (Just speculations and hopes from my side). If Android 5.0 get's BLE API's then Samsung Galaxy S3 should get it as Samsung has listed this as getting Android 5.0.
Only time or Google will tell... It's way overtime getting this old Nokia Research Center technology out in other than Meego and iOS devices.
EDIT 2: Seems like my lucky day is today ;) : new link
EDIT: Seems like today is your lucky day: Open Source API
I guess this answer is not adequate, but it is: on some devices yes, on others no.
A company I worked for did some testing with it and they could pair in on a Galaxy S3 while my HTC One S didn't even discover it.
So if a manufacturer has implemented this feature it will work, but most times it won't.
Some discussion about this: Texas Instruments
Sounds like a standard api will be coming to Android api 18 http://www.androidpolice.com/2013/05/15/bluetooth-low-energy-and-avrcp-1-3-coming-to-android-with-api-level-18/
Devices with the relevant hardware will work with Android 4.3.x support. I just put a Galaxy S2 GT-I9100 to 4.3.1 Slimbean and can now pair it with a Bluetooth 4.0 LE/Smart heart rate monitor. This, in spite of the stock hardware only ever supporting BT 3.0+, according to Samsung.
I am trying to connect two unpaired android devices via Bluetooth for P2P networking purposes. MitM protection is not required. Android has the createInsecureRfcommSocketToServiceRecord and listenUsingInsecureRfcommWithServiceRecord for this (since API level 10), which works perfectly on modern devices. However, on a Galaxy Ace (Android 2.3.3 = API level 10, connecting with a Galaxy Nexus), it creates a pairing dialog. This happens both on incoming and outgoing connections. (Update: Updating the Galaxy Ace to Android 2.3.6 apparently fixes the problem. Is there a specific Android version that always/never does this?)
After the pairing is accepted, the connection works. For this reason, I think this is not related to Issue 40101: createInsecureRfcommSocketToServiceRecord causes pairing dialog on Android 4.2 which should only happen if the service record does not exist.
I assume this dialog cannot be avoided on devices where it comes up (if it can, explaining how to do this is a valid answer). For this reason, I would like to know when such a dialog is brought up. I did not find anything in the Android Java source (it goes native pretty quickly). I doubt it has anything to do with the Bluetooth version, since the Ace has Bluetooth 2.1 which is supposed to support the required "just works" connections.
If there is anything that would allow me to detect whether a device will support connections without popping the dialog, or if it was clearly fixed to a certain android version, that would immensely help me.
Also, I am looking for a way to easily exclude such devices.
Currently I have the same problem as you. I've developed an application to exchange messages between BT terminals and I'm testing it on different phones ( I have S3, S2, S plus, Nexus One and Galaxy Y) to analize the behaviour. Phones have this specs:
Samsung S2 : Custom ROM (Android v4.2.1) - Rooted
Samsung S3 : Stock ROM (Android v4.1.2)
Samsung S+ : Custom ROM (Android v4.1.2) - Rooted
Samsung GY : Custom ROM (Android v2.3.6) - Rooted
Nexus One : Stock ROM (Android v2.3.6) - Rooted
As far i can tell you from my experience, S2 and S3 after some time start to show the pairing dialog even if they are already paired and exchanging data. This happens all the time I include one of this two phones in my testbed, others are working fine and never ask for pairing ( expecially Nexus One that has a flawless behaviour).
I have made long running tests (from 4 to 6 hours) and I still can't figure out why this phones ask for pairing sometimes after 3 hours.. sometimes after 10 minutes.
The only thing that i would like to point you out is that even if u are using insecure connection you could still be asked for human interaction for pairing. Give a look at that (taken from http://en.wikipedia.org/wiki/Bluetooth) :
Just works: As implied by the name, this method just works. No user
interaction is required; however, a device may prompt the user to
confirm the pairing process. This method is typically used by headsets
with very limited IO capabilities, and is more secure than the fixed
PIN mechanism which is typically used for legacy pairing by this set
of limited devices. This method provides no man in the middle (MITM)
protection.
I'm thinking about investing in one of the newer android phones, but I am also really involved with developing on the ADK. Does anyone know if Ice Cream Sandwhich works with it? Thanks in advance
According to official site Android ADK, it should be compatible. And here is the List of Supported Android ADK Devices with v2.3.4+ and v3.1+.
Currently, I'm still doing ADK with Samsung galaxy tab 10.1 (with Android 3.2 updated) and still have some problem, check here
Regards,
pak
In general Ice Cream Sandwich works just fine with the ADK. The Galaxy Nexus has no problems with it whatsoever.
Keep in mind though that it's not only a OS version constraint. The device manufacturer has to integrate a supporting USB chip and the corresponding driver. Sadly there is no official list of supported devices but if you have a device which supports the ADK in an old Android version than it should generally work after an ICS update.
For new devices I would recommend buying a Galaxy Nexus as it is a Google supported Developer phone which has the best API support.
The Android 3.1 platform (also backported to Android 2.3.4) introduces Android Open Accessory support, which allows external USB hardware (an Android USB accessory) to interact with an Android-powered device in a special "accessory" mode.
I'm guessing this means anything that is currently running ICS stock will support ADK. I have the Galaxy Nexus and HTC incredible 2 (android 2.3) and it works great.
The only problem I've found is that some phones (e.g. Galaxy S2) don't include the backport for the com.android.future.usb library.
So if you're writing an application to be backwards compatible for gingerbread, it may not work on ICS. You have to rewrite the code using android.hardware.usb, which shouldn't be necessary.
It depends on device because I am not able to run adk mode on micromax tablet which has 4.0.3 and I am able to run adk mode on samsung galaxy S duos which also has 4.0.3 android OS.