Android: Scan for devices - android

I'm looking for a way to scan for android devices in my area.
It should work without internetaccess nor gps.
Just knowing the mac-address is enough for this app.
The first way I was thinking of was to use bluetooth.
It's possible to scan for bluetooth devices, but it isn't possible to make your own device visibile forever (Android docs say that's possible, but it's limited to max 300 seconds).
The next what came up in my mind was to scan for wifi networks.
Almost every android phone uses wifi.
It's possible to scan wifi networks.
But is it possible to set my device as an accesspoint?
It can with systemsoftware but I would like to do it programmatically.
Does someone know if that's possible? Is there another way to let devices 'see' eachother?
Thnx

But is it possible to set my device as an access point?
This is possible by reflection, but not recommended. However you cannot force others to join your Wifi network. That is entirely their prerogative.
Is there another way to let devices 'see' each other?
Yes it is possible to see other device on the network. Check out these answers. If you have your apk installed on their device you can even try WiFi multicasting.

Related

How to Make a Bluetooth Dongle Discoverable at ALL times?

I'm a bit unsure of where to post this question, so if anyone thinks I'm in the wrong place and knows where I should be posting it could you please point me in the right direction? Much Appreciated :)
Moving on to my question,
I am working on a project that allows location tracking of a person inside a building by placing usb bluetooth dongles around some rooms (in laptops or usb plugs etc) and saving their information in a database. Using an Android phone I then wanted to be able to discover the devices as I walk around with it on me and then calculate a location using the closest 3.
The problem I'm having is that my Android device will not discover the dongles that I have plugged into various laptops unless I set them to "Receive a file" i.e. discoverable (I assume). Does anyone know if it's possible to set them to be discoverable at all times or make it a default setting so I can plug it into sockets?
If this is not an option, is it possible to find the closest dongles while they are not set to discoverable?
Thanks!
This may require an native application to do this. There is no setting for this in the base OS. But to my knowledge you should be able to call the discovery process through the Bluetooth APIs.

Alternative to WiFi Direct

I'm trying to develop an application that, when run on two or more devices, will be able to send data to each other at high speed. Bluetooth is not an option because of the distance. I wanted to use Direct WiFi, but it's available only on Android 4.0 and onwards. Even though I have devices with Android 4.0.3, it's still not functioning. The discovery function is not present in this version I think. I've tried looking for alternatives, such as WiFi Tethering but the device needs to be rooted in order for it to work. Moreover, there's no tutorial explaining how it works. Can anyone give me another alternative to WiFi Direct, which would enable me to create an AdHoc network on the fly?
Nowadays, you can use the new NFC communication, but, if your phone doesn´t have WiFi Direct... It is not going to have NFC communication. Anyway, i hope this may help you.

How to view other Android devices around you

I haven't seen this capability with any android app, nor have I seen anyone ask it. Is there any way that the Bluetooth or something can be used within your app to see a list of all the other android devices around you? For example, if my friend is using my app and he is in the same room I can see his device on a list in my app, and he can see mine...
There would have to be something that ties to two devices together, for example being on the same Wifi. As it is there is nothing that broadcasts to other devices that you are there by default. Even Bluetooth requires you to turn on discovery mode, or discoverable mode, and even then it will only stay on for a few minutes. If you wish for two devices to tie together, I am almost sure you could use the Bluetooth, but you would have to go through the normal process of discovery, synchronization, and permissions.
I don't think you can use BT to see what OS any phones around you are using, and they would also have to be set to discoverable.
If you want to make an app, it's possible to construct one where people agree to be located, but that's a voluntary issue, and it would be based on GPS radios in the various phones. I'm working on an app right now that has this capability, but again, it's something people sign up for so they can be located specifically for this purpose.
I would explore using the Google Latitude API as a possible avenue of exploration, before you reinvent the wheel creating a similar service.

Android development with non-contract, unconnected phone?

Instead of shelling out ~$600+ for an unlocked Android development phone device can you use a used phone that is not connected to any wireless carrier?
I see Android phones for sale on Craigslist all the time that people want to get rid of whenever they get an upgrade. They are usually a year old at least but as long as it is in working order that's okay with me.
Are there any downsides to this? Can you use these phones as legit development devices? Are they crippled or anything if they are disconnected from a carrier? They can't make calls or send/receive text messages obviously. But as long as you can use them with a WiFi connection it seems like you'd be able to test quite a bit.
Precisely what you said. You can't make calls/receive texts, but for development it's good enough. Don't know actually if Market will work, but you will find out soon enough.
The only thing that comes to mind is that locations are often provided by carrier networks. You will then need to be connected with WiFi or use GPS to find your locations.
The emulator works pretty well and then you wont need an actual phone. Unless of course you want access to the sensors. Even then you could use the monkey tool to simulate sensor input.
You can use any android phone for your development. So far all the phones I have ever seen has a development menu under preferences. As long you enable debugging and installing unknown apps it should be fine. For full system access you would need rooted phones, it does not matter if the phones is locked to a carrier or not.
Although you can develop on the emulator, you might fail because of the mobile network speed, device io and touch sensitivity. It is best to at least test on a device before publishing. Meanwhile most modern phones run faster than the emulator so if you are ok on emulator you should more than ok on the real device.
I work with several no-contract/no-sim phones with no problem. My first dev phone was a used T-Mobile myTouch 3g (that I bought on Craigslist). The great thing about T-mobile is that you can pop in a pre-paid SIM and get 3g data when you need it for $1.49 per day.

Use Android device as a headset for another device

When I use Bluetooth on my computer, I have a choice of a few different types of devices to look for. One choice is "headset".
I want to make an application that will connect to another device as though it is nothing but a headset. So the audio and microphone will route from the Android phone to the other device.
Is this possible within the Bluetooth API? If so, is the Bluetooth Chat example the best thing to start with for something like this? Most of the information I can find deals with the opposite situation (using an actual headset with an Android device.)
Most phones are only bluetooth masters, cannot act as devices... I am afraid you are out of luck... Unless what you are doing is on a completely different device and in that case, no, the API will not handle that case.

Categories

Resources