Idea for a dev sandbox for apps - Android General

I had this idea about an app on the phone that could assist debugging an app or troubleshooting the app.
Essentially my idea is an app gets installed on the phone, this app acts as a sandbox. So the app gets opened and it displays a list of installed apps on your phone, and you choose a second app. The second app opens inside the sandbox application and functions just as it would normally.
What the sandbox does is log all the I/O procedures of the app. As an example if you open up a sound board and press a button it logs the coding used for the button press (onClick) as well as the function calls and where it looks for the file.
While you use the app normally it logs all the I/O and essentially creates a logcat but of the more technical functions of the app.
If this is possible it could be a great way to step through an app and replicate an issue. Such as a FC that happens by pressing the back button. This could pinpoint the why and how.
Is something like this possible within the Android OS ?

Related

[Q] [Android] Can I prevent app from being (easily) killed/stopped by user?

First some backstory (skip it if not interested)
Thing is, I made an alarm clock app that forces user to do some stuff before turning off alarm - classic.
But for some time now, I have been receiving mails from users asking me to add feature that won't let them (quickly) turn off alarm while it is playing, that including force stop or uninstalling with Applications Manager, or turning phone off with power off button.
For some time I got off asking how would I stop them from just taking battery out, but some stated it is not about completely blocking option to stop app, but to make it so time consuming or complicated, that doing it will wake them up anyway (some turn phone off without opening eyes).
Quick ways of stopping application that I have found and that I need to block, are:
- power off phone
- go to Applications Manager and use Force Stop
- other, ROM added ways - as for example, one user wrote, that his ROM lets him quickly stop running apps by long pressing back button
From what I know, blocking any of above is officially impossible. But is it possible with root access?
After doing some research, I didn't found any way to just block application from being stopped/uninstalled, so I have to ask
(ACTUAL QUESTION)
Is it possible (with root access or not) to block user from stopping app in any way? Or at least making it really timeconsuming?
Any help appreciated!
Kogerro said:
First some backstory (skip it if not interested)
Thing is, I made an alarm clock app that forces user to do some stuff before turning off alarm - classic.
But for some time now, I have been receiving mails from users asking me to add feature that won't let them (quickly) turn off alarm while it is playing, that including force stop or uninstalling with Applications Manager, or turning phone off with power off button.
For some time I got off asking how would I stop them from just taking battery out, but some stated it is not about completely blocking option to stop app, but to make it so time consuming or complicated, that doing it will wake them up anyway (some turn phone off without opening eyes).
Quick ways of stopping application that I have found and that I need to block, are:
- power off phone
- go to Applications Manager and use Force Stop
- other, ROM added ways - as for example, one user wrote, that his ROM lets him quickly stop running apps by long pressing back button
From what I know, blocking any of above is officially impossible. But is it possible with root access?
After doing some research, I didn't found any way to just block application from being stopped/uninstalled, so I have to ask
(ACTUAL QUESTION)
Is it possible (with root access or not) to block user from stopping app in any way? Or at least making it really timeconsuming?
Any help appreciated!
Click to expand...
Click to collapse
With root most things are possible but I would think it would be something that could easily be done..otherwise every malicious app out there would use it to make it hard for the user to stop it from doing what have malicious thing its doing
zacthespack said:
With root most things are possible but I would think it would be something that could easily be done..otherwise every malicious app out there would use it to make it hard for the user to stop it from doing what have malicious thing its doing
Click to expand...
Click to collapse
I guess that you meant "I would think it wouldn't be something that could easily be done"
I don't really know much about possibilities of rooted devices etc., but isn't it that every app has to get some kind of "root persmissions" to perform such tasks? So first any malicious app would need to receive that permission from user.
I am currently having hard time trying to find a way to copy behaviour of (default) Maps application - when it gets Force Stopped (in All tab of Applications Manager) with also stopping all of its services (in Running), it will start running after some time anyway. Anybody knows how thats possible?
Anyway - my real question is - is there some place (like wiki or faq) that one could read about possibilities opened by device rooting? What services, config files etc. can be used or is it that everyone trying to do some knew just have to try everything on his own?
I have been looking around for the exact same thing for a few hours now but unsuccessful. I know its possible to do it without root because an app in the play store called "App Lock" is able to do it. I'm not 100 percent sure but I believe its some sort of broadcast they are filtering. I just dont know which
in app juice defender ultimate you can choose applications which you won't kill
I would try to move the app to /system/app folder and set the permissions to rw-r--r-- using an app like ES File Explorer. Or use Titanium backup and long press and scroll down to 'convert to system app', and make sure to clear data afterwards.
any update on this, i have managed to kill my alarm several times this week. and being late for work is never popular.

Serious FLAW w/ Huawei Phone Manager - "Recent Apps" & 3rd party App Startup - HELP!

Serious FLAW w/ Huawei Phone Manager - "Recent Apps" & 3rd party App Startup - HELP!
Hi,
I am having a 2 MAJOR deal-breaker issues with my GEM-703L B112 EMUI 3.1:
* Startup Apps (including Alarm Clocks, Hangouts, 3rd party Email client) don't start after a reboot resulting in missing notifications
* Protected Apps (including Alarm Clocks, Hangouts, 3rd party Email client) get killed/closed when "flicking up" to clear all apps using Recent Apps button resulting in missing notifications
The culprit of this issue seems to be Huawei's Phone Manager. All apps mentioned above are set as Protected Apps, Trusted permissions, allowed all notifications, and background data is enabled.
If anyone has a solution for this issue, *PLEASE* help! I really love the phone but must have this resolved since these are VITAL, especially for my alarm clock - not waking up for work is not an option!
I will be rooting once I get the bootloader unlocked via unlock code from Huawei at which time this issue can be fixed by making these important apps as system apps (thanks to ajsmsg78 for the suggestion as well), but until that time and for many of those who are and won't be rooted, a solution is clearly very badly needed.
Lastly, I believe this issue also exists for other Huawei phones having EMUI such as the P8, etc.
Switch off Power Genie app and set energy saving to least agressive level.
trurl3 said:
Switch off Power Genie app and set energy saving to least agressive level.
Click to expand...
Click to collapse
Thanks for your reply trurl3, my energy saving level is set to "Performance" which is the least aggressive level, but I cannot find this "Power Genie" app. Where would this be found through?
E--Man said:
Thanks for your reply trurl3, my energy saving level is set to "Performance" which is the least aggressive level, but I cannot find this "Power Genie" app. Where would this be found through?
Click to expand...
Click to collapse
Don't bother doesn't help, I've power genie disabled and it's on Performance, still same issue.
hagba said:
Don't bother doesn't help, I've power genie disabled and it's on Performance, still same issue.
Click to expand...
Click to collapse
Thanks hagba.
UPDATE: strangely enough, my startup apps have now slowly started to start up after reboot but not right away. As I do not yet have root on this device, I simply cannot explain why in the world this positive change had happened. I am almost afraid to reboot again because I will be frustrated if/when they do not start up.
The app that I really need to start up is called Alarm Clock Xtreme which is my goto Alarm app for years now. At first it was not showing the permanent notification in the notifications and the Alar, would not go off. Now after a few minutes after reboot it is showing up. Not sure what is going on here code-wise.
Anyone have any input here or a solution for the Recent Apps button killing Protected Apps?
hagba said:
Don't bother doesn't help, I've power genie disabled and it's on Performance, still same issue.
Click to expand...
Click to collapse
Was a problem on the X1 I had as well. Things like google hangouts would get closed and you'd never get notifications, even if it was set as a protected app. From what I can tell only the Huawei apps are truly protected...
You have to root and get a rom with the phone manager removed.
And even then, some things still get closed once in a while, which is odd. There's is plenty of free memory, so not sure why the Huawei phones mess up the memory management so much.
This Huawei memory management issue is really the only bad thing about this phone... Android has a great memory manager built in, don't mess with it
Otherwise, its perfect for me...
hagba said:
Don't bother doesn't help, I've power genie disabled and it's on Performance, still same issue.
Click to expand...
Click to collapse
Hagba not sure if u saw my message above.
omniphil said:
Was a problem on the X1 I had as well. Things like google hangouts would get closed and you'd never get notifications, even if it was set as a protected app. From what I can tell only the Huawei apps are truly protected...
You have to root and get a rom with the phone manager removed.
And even then, some things still get closed once in a while, which is odd. There's is plenty of free memory, so not sure why the Huawei phones mess up the memory management so much.
This Huawei memory management issue is really the only bad thing about this phone... Android has a great memory manager built in, don't mess with it
Otherwise, its perfect for me...
Click to expand...
Click to collapse
Thanks omniphil, I'm wondering if this particular issue could be worked around since startup apps are working but only after a delay (see "UPDATE" above) by having a third party app monitor if a process is killed or having a Tasker profile to relaunch it right away, but then we are back in the same paradox where that third party app or Tasker profile would also be killed when "flicking up" to kill all apps.
@ajsmsg78 , @elio321 , @mcdhol_24 , @hagba , @Djiban:
Perhaps there is a certain third party app or Tasker profile can designate itself with "priority" mode of some sort and can bind itself to notifications or accessibility so that it would be relaunched? Please note I am just brainstorming here! Input would be gladly appreciated...
E--Man said:
Hagba not sure if u saw my message above.
Thanks omniphil, I'm wondering if this particular issue could be worked around since startup apps are working but only after a delay (see "UPDATE" above) by having a third party app monitor if a process is killed or having a Tasker profile to relaunch it right away, but then we are back in the same paradox where that third party app or Tasker profile would also be killed when "flicking up" to kill all apps.
@ajsmsg78 , @elio321 , @mcdhol_24 , @hagba , @Djiban:
Perhaps there is a certain third party app or Tasker profile can designate itself with "priority" mode of some sort and can bind itself to notifications or accessibility so that it would be relaunched? Please note I am just brainstorming here! Input would be gladly appreciated...
Click to expand...
Click to collapse
Hi All and @ajsmsg78, @elio321, @mcdhol_24, @hagba, @Djiban, @omniphil,
I have noticed that unlike my other Protected apps, my SwiftKey keyboard app does not get killed when flicking up to close all apps using the Recent Apps button. I understand that this is obviously because the selected keyboard is required to stay in memory, but can't this or similar exception be leveraged to keep a Tasker profile in memory to relaunch critical apps?
Surely I am not the only unrooted user with this issue!
Thanks again.
I think the big question is, why are you swiping up to kill all apps? They aren't running in the background anyways, they are just place holders. There isn't really any need to kill all the background apps in android anymore, it uses more battery life. Just leave them all there and let android do what it was designed to do
omniphil said:
I think the big question is, why are you swiping up to kill all apps? They aren't running in the background anyways, they are just place holders. There isn't really any need to kill all the background apps in android anymore, it uses more battery life. Just leave them all there and let android do what it was designed to do
Click to expand...
Click to collapse
Hi omniphil, I see what you are saying but killing unused apps does improve the device speed and save on battery usage including background data consumption. I understand that memory is automatically managed by killing apps when more memory is required but the above is not considered in this - just memory.
I fixed this issue by freezing the phone manager through titanium backup. I was also breaking my head over keeping the apps running in the background even if they were killed in the multitasker area. You do need to be rooted to use titanium backup. Hope this helps, it sure fixed the issue for me.
want an app to not be closed by swiping up? on the app itself, on the recents screen, swipe it down. now there's an icon showing on it, right? that means it won't be closed when you do the swipe up to close all apps.
Dead_Dude said:
want an app to not be closed by swiping up? on the app itself, on the recents screen, swipe it down. now there's an icon showing on it, right? that means it won't be closed when you do the swipe up to close all apps.
Click to expand...
Click to collapse
Hi this is true but only valid until next reboot.
can you disable phone manager with debloater software on Windows

Question Trun off additional step after facial recognition?

When I use facial recognition to unlock and app, after my face is recognized, before I can go into the app, I get a screen that is showing a message: "Verified. Tap confirm to continue". I am trying to get rid of that message and avoid the unnecessary extra step to press the confirm button before I can access the app. I am told by an app manufactured that it is a setting on my Samsung S22 Ultra with Android 12. But I am coming from an old Pixel phone and cannot find this setting on my new 22Ultra. Can someone direct me to the setting to turn off that extra step after facial recognition works? Thanks!
Sounds like you've installed some 3rd party app that does this. The default S22 behaviour doesn't show this message.
I can see you asked on other fourms, and they suggested things I was going to say. But it seems like some third party app is either doing this, or enforcing it.
the_scotsman said:
Sounds like you've installed some 3rd party app that does this. The default S22 behaviour doesn't show this message.
I can see you asked on other fourms, and they suggested things I was going to say. But it seems like some third party app is either doing this, or enforcing it.
Click to expand...
Click to collapse
Yes I posted on another forum but no solution there yet, just a few good suggestions that don't work. I don't have any other apps that enforce this behavior though. And I pressed support at RoboForm pretty hard about it and they insist it is not something in their app even though RoboForm is an app that it happens in. I am thinking it is when certain 3rd party apps are opened using face recognition, the Android system does not acknowledge those apps for some reason and pops up the message to do a 2nd confirmation before it will allow the apps to open. Thanks for the reply.
Have you tried unistalling Roboform to test if that fixes it?
I have found a few other apps that call up the exact same message so it is not just Roboform. I did uninstall and reinstall Roboform today for another reason and called up a health record app that does the same thing. It happened in the health app even with Roboform uninstalled.
I think we have determined that it is a system message. An app may call it up or trigger it when using face recognition but it is not generated by the app itself. If we knew what it was called then it would be easier to track it down. within Android or the Samsung settings. if it is even in the settings somewhere.
Yea, it's likely going to be a system message, that is called by certain apps in certain circumstances. But the only way you'll find it is to remove apps a few at a time until it stops appearing.
I get the same message and have looked everywhere for a setting. It doesn't exist. Pretty stupid behavior for sure.
Is there a solution? I have the same thing with Microsoft apps. So stupid..
Try: Settings, Biometrics and Security, Face Recognition, And untick: Stay on lockscreen until swipe.
For me, double tapping the screen or using the power button to wake the phone, triggers the face unlock which then quickly unlocks the phone with no other input.
Is this just one app, or all apps?

How do you stop an app?

Can anyone explain the various options for "stopping" an app? As far as I can tell, you can:
1. Swipe it off the app switcher screen
2. Long press and hit "Pause app"
3. Long press, tap info, and turn off all notifications
4. Go to settings, apps, and "force stop"
What's the technical difference between all of these? It seems unbelievable that there isn't a simple way to fully stop all processes associated with an app until you manually restart it.
I'm mainly interested in squeezing the last bit of use out of old phones.
Well, I thought this would get more of a reaction. Would it be more enticing if I asked for a more technical discussion on how these functions work?
I know I can Google this stuff, but pretty much everything I come across is focused on the basics of turning off notifications. The most technical content in the articles I've found says things like, apps don't use system resources when they're just sitting in the background and appear in the app switcher. But honestly, that seems ridiculous. If an app CAN send a notification, regardless of whether Android displays it, then it will obviously use resources periodically.
So I'm looking for what actually happens when you turn off notifications, pause an app, swipe it off the switcher, or force close. After that I'll be looking for a tool that will make it easy to manage what I want running.

auto boot delay

Hello,
I'm curious I can get some help. I have an android box that hooks up to my TV. I have an app I use called "Key Mapper" that allows me to remap my keyboard keys so I can create shortcuts. One of the issues I find with the app is that sometimes I have to exit out of it and reopen it and re-enable accessibility within the App.
In Android Settings I already have accessibility enabled so it should be good, but when I reboot the device it seems to always stop working until I close out of the process and re-open it up.
My theory is that maybe I need to delay the auto boot of the application. It starts up with Android automatically but if I can have it delayed start that may resolve the issue. Is there an app or some way I can adjust the auto boo setting to delay it say 10 seconds after Android loads up?
m0d hippĀ„ said:
Hello,
I'm curious I can get some help. I have an android box that hooks up to my TV. I have an app I use called "Key Mapper" that allows me to remap my keyboard keys so I can create shortcuts. One of the issues I find with the app is that sometimes I have to exit out of it and reopen it and re-enable accessibility within the App.
In Android Settings I already have accessibility enabled so it should be good, but when I reboot the device it seems to always stop working until I close out of the process and re-open it up.
My theory is that maybe I need to delay the auto boot of the application. It starts up with Android automatically but if I can have it delayed start that may resolve the issue. Is there an app or some way I can adjust the auto boo setting to delay it say 10 seconds after Android loads up?
Click to expand...
Click to collapse
After your OS finishes booting and loads the full OS stack, a system-wide message called Broadcast Intent will be sent to all apps, notifying them that your device has completed booting (this intent is called BOOT_COMPLETED). Then it's up to the individual app to use that broadcasted intent to pre-load in memory whatever they want (or simply not react at all).
The thing is you want to delay auto boot for that specific application, so there are 2 options for that:
you turn off auto boot in the App itself (if it provides such an option).
you block the app from receiving the intent broadcasted.
The second option is also achieved either by using a task killer to force kill the app (which defeats your point IMO) or it manipulate the app from receiving the intent entirely. Both of these options require root access.
If you have root I suggest The App: SD maid (pro version). Under app control you can modify which system Broadcasts that Keymapper recieves (among them could be boot_completed). See attached screenshot from my device for example.
Hope I helped somehow
Thank you for your response. That was super helpful! The device I am playing around with is a Mekotronics R58x, and it had some sort of modified root that was conflicting with Magisk. I read somewhere on these forums that someone suggested renaming the su file if it exists in /system/xbin/su; which it did. I renamed it and rebooted and after that everything worked wonderfully. Keymapper was still autobooting like previously, but this time all the services loaded right up and I didn't have to restart the app it just worked.
Basically I think the issue was this custom su file that was conflicting with Magisk and causing a headache with the keymapper. I'm glad I stumbled across the fix, but either way your post was also very helpful! Thank you!

Categories

Resources