Pairing with apps on the phone - android

In my application, I want to view data of some of the other android apps(health apps) which are installed on the phone. I know ContentProvider & ContentResolver classes provides this funcationality.
What if some applications do not share their data? How to pair with such apps?
For example how do I pair 'Runtastic' app with my application, pairing as in I want to open another health app(installed on phone) in my application on some button click, also want to access it's wellness related data(steps count)?
Has anybody implemented this kind of functionality?

Android device should be rooted. Without root, you can't access these data.

Content provide and content resolver provide data through implicit intents and you can not access data or other app installed on phone until its api is provided.

Related

Android Wear Access Contacts

I have an app that interfaces extensively with the contacts ContentProvider. I am looking to introduce a Wear component to my app that will make use of contact data.
Is Wear able to directly access the contacts through a ContentResolver or does it have to be manually synced from the mobile device?
There is no such an API allows you to directly read contacts of your phone. You may have to consider the wearable app as a separate app from you phone side app. You should sync the contacts using the Data Layer Api.

Turn off mobile data for some specific apps

I want to off mobile data for some specific apps,what I want is that if my mobile data is on then I can allow only whatsapp to access,no other app. I know its possible because some apps for same are available on google play but I am not getting any code for the same. I have googled a lot.Any help is appreciated.
Go to Settings > Data usage then you can see app usage and select each app and turn on restrict app background data.
You can make a VPN application. Within the application you can make a list which apps allowed to access internet and which apps not to allow it. Make sure the connection is through that VPN application. Then filter the connection in your VPN based on the lists
You can use VPN, build your own server and transmit all the traffic through that server, than you can filter all the traffic.
Maybe you can google "OpenVpn" or "ToyVPN" in android's sdk for some ref.

How to get notified whenever an application access the contact app

I want that whenever any system or user application access the system contact app, my app get notified about that somehow. How can i do that ?
Sorry, but this is not possible from an ordinary SDK app. Any app can access the Contacts ContentProvider as they wish (assuming that they have permission), and there is no way for your app to find out about that.
You are welcome to create a custom Android fork that contains your desired capability and install that on whatever devices you are able.

Retrieve IMEI number/ sim number/mobile number via mobile browser

Following is the scenario:
I have an web application accessible via mobile browser.
I need to detect a mobile device IMEI and sim IMSI whenever an user clicks on link in my app page accessible via web browser. This is to track the same device with same SIM and provide him/her next level of access. User cannot be tracked using loginid as there is no user login kind of option in my page.
The question is how to get unique device id/sim id via mobile browser for a specific mobile device.
For now I am focusing on android based mobile devices. But the target is to make it generic to devices.
Focus of most of the ideas is, what is the kind of access a browser has over the phone and its app?
From a browser link we can open a local app in the following way:
Get Details
here productcateory will uniquely identify a local app and invoke it. But its one way communication. How to get back some response from the point of invocation and populate some hidden form field dynamically.
Via webpage scripts we can store some data locally at client machine and retrieve it later. but the scope is limited and it is no way connected to IMEI or IMSI number.
Is there a way to get a hook to mobile browser app(remember it's like any other mobile application) from the webpage and get the id details via scripts in my page?
Is there any option that html5 provides in this regard? I know there is a localstorage tag in HTML5 and one can store an id in the client location and retrieve it later. But this is limited to the same device and same mobile browser and also this is a different solution to get the imei/imsi number
Let me know if there is any other option without asking user to installing a local app or browser plugin on the device?
~inkriti
For very good reasons it is impossible for the web browser to access the IMEI or IMSI numbers of a mobile phone, without some dastardly hacking that the dev teams hadn't expected.
Also the android browser doesn't support plugins.
Your only option is to create a native app. This answer has some info that will be useful to you: Programmatically obtain the phone number of the Android phone. Its not a perfect solution however.
I would also ask why you want access to the users phone number? If its just to track session just use javascript to generate a unique id and store it in a cookie.
The original issue is probably closed, however for future reference of anyone (like myself) that comes across this question would be something like 2-factor registration with confirmation via text. The closest to getting an IMEI (impossible without native apps) would be to get the user to register and include a text confirmation - the mobile phone number in most cases will be unique, only non-unique when changing devices, and some assumptions can be made from the client-side to guess what device they have, you could even go a step further and ask them to identify the make/os of their device if you were that concerned about unique-ness. However in most use-cases a mobile number confirmation will do the job
The only reliable way is to write an app and have it send a SMS and then track the number on that end; assuming the subscriber has SMS/text service enabled. This won't work on non-phones (tablets).
It is not important, nor is it necessary and it is probably illegal to track the device (IMEI); simply track the subscriber.

Does Android HoneyComb support multiuser restricted account?

a customer ordered us a tablet application, but they need a lot of access restriction to lock device functions such as:
Permit datas transfer only inside the application not outside
Restricted user access on the device (something close to admin and normal user permissions)
A framework/API that permit to create an internal mail reader/sender
Public API of iOS makes impossible to fulfill those requirements. I was wondering if Android makes life easier when there are those kind of restriction.
UPDATE: To make understand better the field of use. I'm talking about an application that "force" the device to be used just only with that application for an Enterprise use. The app is just like a CRM but the device should be blocked in some functions to make users only work with them and NOT playing or use facebook, market etc.
Not sure you can achiev all of those, but you should look into the device policy for android here and here.
1) Not sure what you mean by point 1. If you mean controlling all data transfer from the device, you might be a in a bind considering the only way to get a firewall running on android is by rooting the device. Perhaps you could look into writing a custom launcher/home like KidZone that only shows approved apps? - Not nearly as secure, though.
2) Honeycomb, so far, doesn't have multi-user support - though you can have multiple google accounts registered. The custom launcher could help in this regard though.
3) I don't see the point of doing this unless they already have a custom mail infrastructure in place. Otherwise just go with exchange.
Permit datas transfer only inside the application not outside
Do not request the INTERNET permission.
Restricted user access on the device (something close to admin and normal user permissions)
You would have to implement this yourself.
A framework/API that permit to create an internal mail reader/sender
I have no idea what this means.

Categories

Resources