0

I am developing an application in android for device usage profiling and analysis where I have to read features from the android OS. For example i have to read

  • outgoing_calls
  • outgoings_calls_to_non_contacts (un-saved numbers)
  • outgoing_sms
  • outgoings_sms_to_non_contacts (un-saved numbers)
  • Keyboard_related readings (pressure, key_dwell_time, key_flight_time etc)
  • delete_key_use_rate
  • average_transition_left_right
  • average_transition_right_left
  • touch_screen_pressure

What will be the way to accomplish this? i.e what libraries from SDK do I have to use. Any example for reading these values will be very helpful.

Kind Regards

Khurram

Khurram Majeed
  • 2,291
  • 8
  • 37
  • 59

2 Answers2

1

Your Application should have Broadcast Receivers. And Register Various Intents. For Ex : Outgoing Call : android.intent.action.NEW_OUTGOING_CALL and android.intent.action.PHONE_STATE. For Outgoing Messages : Detecting SMS incoming and outgoing

For Keyboard related I am not sure , How to do that :)

Community
  • 1
  • 1
Brijesh Thakur
  • 6,768
  • 4
  • 24
  • 29
0

Because of security/privacy issues not all of these values are available for standard android programs. The only way I know to achieve this, is to root the device and attach yourself to the system services you need. If you only want to analyse the usage of your own application you have to write a subclass for each class which is a direct or indirect subclass of View and overwrite the onTouchEvent, onKeyPressed, onClick... events and extends these classes in your application.

Franziskus Karsunke
  • 4,948
  • 3
  • 40
  • 54