After many sites searched and googling,
I can't find anything for my problem.
I want to capture the sequence of user interactions on android device. Starting from when the device is powered ON. And one more thing is that I'm not talking about the user event on UI of any application. It's for whole device UI interactions. And if any tools are available then please let me know about it. I didn't get anything about this. Any help or suggestion is well appreciate.
This is not possible, except perhaps via modified firmware, for obvious security and privacy reasons.
I am not sure at what extent it will help you to achive your goal but the best way I know is that:
You need to implement Broadcastreceiver for every action like action android:name="android.intent.action.BOOT_COMPLETED" when your device starts, similarly you need to use all the action which will notify you in your receiver.
You can run a service where you can check which app is running for your record. For this you need to fetch installed app list.
Related
I want to code an app that hinders other app from launching. Can someone please help to start from the beginning. Can someone provide an example and i'll try my best to understand it. Thanks (Full code if possible :D)
One example is AppBlock in the play store.
To create a feature that 'blocks' other apps from running like AppBlock, you simply just need to show a popup on top of the other apps.
Look into SYSTEM_ALERT_WINDOW, with this, you can draw on top of any other app.
Once you have that working, you should look into the other permissions of AppBlock,as it'll show you what they're doing.
AppBlock's Permissions
bind to an accessibility service
update component usage statistics
receive data from Internet
view network connections
full network access
run at startup
reorder running apps
control vibration
prevent device from sleeping
I am testing an app which has a registration flow and I want to test if incoming calls, sms, alarms or other notifications during this flow will create problems. I am using Espresso for UI automation.
I am new at this and have searched quite a bit but don't seem to find a one shot solution to simulate these, I found telnet for calls but I am using a physical device and did not find anything for others.
If there is a framework for simulating these, please help.
Thank you.
If you are testing more than one application, as it seems from your questions where you mention calls, sms, etc. which are assumed to be handled by other applications, you should use UiAutomator instead of Espresso.
You can find more information in Testing UI for Multiple Apps
In case you want to generate those tests automatically you can take a look at culebra.dtmilano.com.
So, as this is still unanswered and may help someone in future.
There is NO framework currently which can do these on a physical device, you can execute shell commands programatically on an emulator for calls etc.
For me, I used a 3rd party app like automate on a different device and sent sms from my app to it and it inturn called me back, you can add most of the functionality required by this. If you dont want sms charges, you can use discover bluetooth and trigger calls when you see a particular device. Add relevant permissions to use these in your app.
Its very much frustrating situation now in project. I am stuck up at one point. I want do a simple task as follows
When someone change the SIM, detect this event and check if this new SIM is different from previous SIM and take action accordingly.
I don't want to check the SIM_STATE periodically by timer or anything..
Do android notify the state change of SIM? If yes please let me know I can detect the SIM change?
I have asked this question before also but no solid answer I got. It seems a very important API and no one care about it. Please provide me some code snippet if you have please...
I am stuck up here and in the android telephony service documentation I don't able to understand anything... It will very helpful if anyone can provide some code for the above.
Yes, You can do only when application restart, at boot time receiver, so we have to register boot time receiver in our application. and when user change it we can analyse it .
I am wondering if there is a way to send a message to users that have entered your wifi's reach? I am not sure if this is possible or how it's called.
A hint of what to look for or some sample code (if this is possible at all) would be much appreciated!
The only thing that is possible as far as I know is to add software to your accesspoint to do a splash screen (or possibly a login page).
This would not completely solve your use-case, but like the various "free" wifi in bars you do need to log in to first, you need to open a browser first and perform an action, before you have a real connection.
You could just skip the authentication-part, and put your message on the splash screen.
A random example of what you can find on the internet is this: http://www.dd-wrt.com/wiki/index.php/NoCatSplash
I have no experience with it, but it seems to serve above mentioned purpose, and you can easily go from there.
I am aware that this is NOT an android specifi answer, but as far as I know it is not an android specific question: you want to send a message to people connection to your wireless.
I am starting an application for child monitoring. This would involve mainly the logging of the SMS messages sent and received and logging other activities that may be of interest to the parents. It will also be nice to have something like access control lists for these, too.
Now, as far as I know:
It is not possible to make an app "not uninstallable".
It is not possible to prompt for a password to uninstall an app.
It is not possible to assure that your app is "always" running even if it's getting killed with something like Task Killer, although I think you can respawn the application at given time intervals.
So, any ideas on how to overcome these problems?
There is no way to work around these problems directly without creating your own build of the Android OS. Android always assumes the current user is the owner of the phone and should always be allowed to do whatever they need to do.
It's easy to see why the functionality you need isn't available if you replace "child monitoring" with "malicious data logging" in your question; if Android allowed an app to prevent the user from removing it, it would clearly be open to abuse.
The only thing I can think to do is to have your keep a log of when it is running. This would allow a parent to seen when the app had been running when they viewed the log of the collected data. So if the child had disabled the app the parent would know, but they wouldn't know what had been missed. Although you'd had to be able differentiate between when the phone was switched off and when the app just wasn't running which might not be straightforward.
What you said is true.
Also remember that applications like Task Killer have some sort of blacklist/ignore list so re spawning your app might not make it work.
PS: Without a rooted phone, there is no way you can save your app from a geek kid :)
I was thinking about writing a similar app and considered the same exact scenario. "What if the kid uninstalls the app?"
The only solution I was able to come up with was to have the app periodically ping a server with the a unique ID. Affectively having the app "Check in" with the server a few times a day. Kind of like when prisoner goes on parole. The app is the prisoner and the server is the Parole officer :)
If the app misses a checkin you could treat this as a potential uninstall. However, this could be caused by a lack of network connectivity. I'm sure you could come up with some interesting ways to flag and treat missed checkins. Maybe you could have the app send an SMS checkin or something instead of over HTTP. Then you wouldn't have to depend on Network connectivity.
Once you figure out how to translate missed checkins to an uninstall, you could shoot out an email to the interested party (i.e. the kids parent).
With this option in place, the parent can then have a "Conversation" with their kid before giving them the phone. Something along the lines of:
- "This phone's got parental controls on it. Yes, you do have the ability to uninstall them. However, if you uninstall them I'll know about it and I'll take the phone away."
I think there's definitely a market for this. Need some type of web-interface/dashboard for that parents can log into for monitoring too.
Hope this helps & best of luck.
Cheers!