5

Is it possible to get the user behavior on the phone (for example Alpesh has an Android phone and he uses multiple apps, browser YouTube etc). Whatever he is doing on the phone I want to get all those things from behind (which apps he has installed, which app he opens and what he search on the phone, All these data I want to get programmatically so what all can be get in android).

For now I am aware that installed apps list can be get easily but I want to get usage history and what he do all on mobile.

halfer
  • 19,824
  • 17
  • 99
  • 186
Alpesh
  • 265
  • 2
  • 7
  • 22

3 Answers3

6

This is not a code solution, but an answer to your question, so you can get start some where.

In my opinion your question title are asking about two things.

(part 1) Getting User Behavior on the Android Phone (part 2)(App History, Browse History etc)

1- First part Getting User Behavior on the Android Phone:

There is a concept called context awareness. Short described; it is about gathering different information from the phone, like light sensor, motion sensor, sound, location or even user behavior etc. and depending on your app requirement and the gathered information:

  • You could send these information over cloud data store for statically usage
  • You could make your phone doing (behavior) different things depending on location, motion or what ever.
  • etc.

For context awareness it is an open area for pervasive computing research. And it is not just few lines of code to write, it is typically a complete solution depending on requirement. Example I have built a context awareness application to gather noise collected by phones from different locations for research purpose inspired from this framework, but I am pretty sure you can find other frameworks or even build your own, as I did in my case.

The mentioned framework has some examples.

2- The second part is about App History, Browse History etc.:

This is possible, but you still need to build a peace of software (App) to collect all these information (logs) from the phone. Hereafter you can make phone act on different conditions and/or again send it over a RESTful API over cloud service data store, there is no limit for it.

The problem is, there is no thing out of the box for your requirement. Even if you find frameworks you still need to research it and further work on it.

You can find different examples for your requirement, like to collect browser history, you can find SO question here:
Get browser history and search result in android

Or get list of installed application:
How to get a list of installed android applications and pick one to run

My point here is you need to solve small goals at a time and put your knowledge together at the end.

Both 1 and 2 can also be related to each other, depending on your achievement.

Conclusion

  1. Make a goal to your project.
  2. Define the main requirements and tasks of your project.
  3. Research your options (Technology, Cost, Target Audience, What data I can or I should not collect, what is possible to collect, what is the limits, Privacy issues etc.).
  4. Split your project in small assets and try to solve small problems/goals.
  5. Finally you would be able to put the puzzles together and build your final application
Community
  • 1
  • 1
Maytham Fahmi
  • 31,138
  • 14
  • 118
  • 137
  • 1
    Yeah, I am agree with conclusion. The OP's question is so wide. He has to break it down in some solvable problems. – SMahdiS Feb 27 '16 at 14:36
  • @maytham-ɯɐɥıλɐɯ for the answer. I need the code if you can provide me.Theory i also know. – Alpesh Feb 29 '16 at 09:07
  • are you looking for complete code solution or what? – Maytham Fahmi Feb 29 '16 at 09:11
  • As mentioned if you are looking for full code, your question leads to a full solution. And that is not possible to achieve. As suggested in my answer, by splitting your project and solving small problems, and ask SO for each CODE problem you face and you will be helped much better. – Maytham Fahmi Feb 29 '16 at 09:43
2

but i want to get usage history and what he do all on mobile

This is not possible and shouldn't ever be possible. Each app is sandboxed by Android so apps cannot inspect what other apps are doing. Think about it, you wouldn't want apps to be able to intercept private information such as banking details.

telkins
  • 10,440
  • 8
  • 52
  • 79
1

Every app is isolated from the other ones. Unless you develop a system signed app, you will not be able to gather all that data.

What you could do is to develop your own Android Rom where you then develop your data collection the exact way you want. Then you need to distribute your rom, which is another story...

Community
  • 1
  • 1
galex
  • 3,279
  • 2
  • 34
  • 46
  • DO you mean System signed App means app singed from manufacturer ? Yes the client for whom i want to make the app is tablet manufacturer. So what should i ask him to do? How the app developed by me can collect such data?@garlex – Alpesh Mar 08 '16 at 10:29