Physical Keyboard won't type - Android General

I had an issue when Android 12 (it might have been Android 11, can't remember) first came out where my physical Keyboard connected through USB wouldn't type. I searched for hours on end and FINALLY found something in the official Android docs where you can change either a global setting or a flag to allow keyboard input under certain conditions. I can't remember for sure what it was, but I think it's either while a screen overlay is detected or while an accessibility service is running. Well, here I am years later with that same problem again. Only this time, I can't for the life of me find the answer. If I remember right, I had to put in an ADB command to set a certain flag to allow it. I've searched XDA and Android docs for hours but cannot find it. Please, someone help before I go insane. I really need my keyboard to work.
Edit: nevermind I found it! For anyone looking for the answer, go to the docs here: https://developer.android.com/about/versions/12/behavior-changes-all#untrusted-touch-events
You can fix it for a specific app by doing `adb shell am compat disable BLOCK_UNTRUSTED_TOUCHES com.example.app` or for all apps (doesn't always work) by doing `adb shell settings put global block_untrusted_touches 0`

Related

[Q] Turned Tablet Brightness Off

Hi,
I've got an envizen tablet which I accidentally turned the brightness off on completely. This is a serious problem, seeing as this is essentially a write-only device (see the wiki articles since this website is under the impression that I'll spam some links). If this somehow has a fix at all then it will be extremely hard to debug since a) I install many applications, b) I use a custom launcher, c) I have an applock enabled and settings is hard to get to now to enable USB debugging, and d) One of the first things I did to my tablet was disable the Android Device Manager. This is caused by a little program called Dimly, and even though I can successfully log into my tablet, the USB connection isn't set to allow ADB to debug.
This is the application-layer equivalent of a bricked device.
Please help me.
Resolved
This issue has been resolved by a force-shutdown and a viable timing window in which the services start up.

Shield Tablet Bug Fix "missing home button, recent tabs, notification centre" Nougat

Shield Tablet Bug Fix "missing home button, recent tabs, notification centre" Nougat
Hello Everybody. I have a Shield Tablet running Nougat. I have been experiencing the bug described in the Title a few times, and I finally found a way to solve such bug, at least in my specific scenario. It might not work for everybody but, as I have seen a lot of Users experiencing such bug and being forced to deal with it through a factory reset, I thought posting an easy guide might be helfpful to some. It is not rocket science, but for me it does the trick well. Should you feel there is an easier way to solve the same issue, please, do not hesitate to add it to this post.
I already posted this guide on the official Shield Tablet forum, but I cannot add the link because I am a new User (c'mon dudes, I am not spamming.. just trying to help ). Therefore, I am just gonna copy paste the guide. I apologise if the formatting is not ideal.
Hello Everybody, I know that there is an Android bug that has been creating issues for many years, also on shield tablets. When the bug starts, the home button disappears, it is impossible to open the "recent app" tab, the notification centre cannot be pulled down, and there are many other side effects. Since I started having this issue, I did quite a lot of research. Apparently, all I could find were information regarding how to solve the bug on Lollipop and Marshmallow, but nothing regarding Nougat. The way this bug is usually fixed is by starting the Setup Wizard on the device. Unfortunately though, I was not able to open it due to permission restrictions. Some guides mentioned installing Nova from the appstore, and setting up an action Widget in order to start the Setup Wizard. This did not work for me as well. What I was able to do, instead, was creating and setting up a new User profile, which then fixed the bug on my main User.
I am sure people more experienced and talented than me probably would have been able to find a neater way to make this happen. However, as I am quite a noob with these kind of things, I thought that writing a basic guide might be helpful for others as well.
Before going on, you should know that in my case, the only way to fix the problem is to have "debug settings" enabled on your device BEFORE the bug starts. When I first got the bug, I had not unlocked "debug settings" and I could not do it afterward, as tapping 7 times on the build number did nothing. You also need to have Android Debug Bridge (adb) installed on your computer and configured with the tablet.
Also, the process I will describing now creates a new User and switches to it by using terminal commands and Adb. I am aware that there would be an easier way to achieve the same result by going on "settings>Users" on the tablet. However, if you experience the same bug I was having, you will find out that clicking on the "Users" tab does nothing.
Here is a step by step guide of what I did:
1
Normally boot your tablet and connect it to the computer via usb cable
2
Run a command prompt windows on the computer and run Adb. Even if, due to the bug, you won’t be able to transfer files to the tablet via USB, adb should be able to interact with the shield anyway. To double check this, type the command: adb devices . You should be able to see your device listed.
3
It is now time to create a new User through the command prompt. You can do that by typing the command:
adb shell pm create-user User_Name
Once the new user has been created, the prompt will show you the respective User_ID. You will need to type such number in order to switch to that user, by typing the command:
adb shell am switch-user User_ID
eg. adb shell pm create-user Charlie
Success: created user id 11
adb shell am switch-user 11
4
Your shield should have now switched to the new user just created. At this stage, finish the new user configuration stage on the tablet. Skip all the google services related options, as you do not need them. When the configuration process is finished, the home button, the notification centre, the recent app, etc. should be back. Now that the bug is fixed, it should be possible to go back to your main User profile by simply switching User from the settings menu on the shield: settings>Users. At this stage, if everything went well, you should be logged with your main User, and the bug should have been fixed. It is now possible to go again on settings>Users and delete the new User created on step 3.
This is it. It works well for me and, even if I do not exclude that the bug will present itself again at some point, this is a 5 minutes solution to fix it. I apologise for any english mistake, as English is not by main language. Also, somebody might know of an easier way to solve the issue on Nougat, although I was not able to find any online, and that is why I wrote this short guide. I hope it will be able to help some of you!
Have a nice day!
Alberto

LG Stylo G (Metro lgms631) FRP lock - can't enable USB debug - ADB won't detect

Forgive me as there may be a simple solution for SDK to detect it, been many years since I've messed with any Android devices to this extent. I bought an LG Stylo G at a flea market. Of course it's FRP locked. Reset, tried all the superficial ways of bypassing (including the TalkBack one, never presented with the "feedback" option to get outside of the menu, and don't have a Google Keyboard). Installed SDK Manager, installed LG drivers, adb can't detect, PC doesn't even seem to detect. I have no way to enable USB debugging, and presented with no options upon plugging in the phone to PC.
Did recent updates prevent any way around this entirely? Maybe if I'm lucky I can re-sell it for what I paid for it at least, but I'd like to try and get into it.
Have you found a solution to your issue... If not I may be able to help but I will need more information
im in the same boat
SoonersChuck said:
Have you found a solution to your issue... If not I may be able to help but I will need more information
Click to expand...
Click to collapse
what kind of info do u need\ i cant get anywhere with it
I was fortunate to have my MS631 back when Android was at 5.1.1 I didnt have to even hook it to a PC. they changed it on 6.0.1 but it was still possible. Im actively searching thru all my software i finally had some of my stuff returned to me from my ex. only took 3 years, but who's counting? LoL.
you might find yourself sitting messing around on accessibility options. i think there is still a small exploit you can bypass frp you just gotta be connected via WiFi . somewhere in the settings you can find terms of Service agreements and stuff...if you scroll thru these and you happen across a url (doesnt matter what url) click to get a web browser to come up, if you get that, stay in browser. do a search via browser searchbar for settings.
it should suggest a local apk. click on it and you should be on the other side of the door and behind the frp lock.
first thing you gotta do if find system apps like google one time init. and go in and disable it. there are a couple others i am pretty sure . Disable phone admins as well. i hope this helps... and i hope like hell i am giving you information
This is the video I used to get past FRP on mine.
Its in arabic but just do everything he does and it should work.

The settings Facebook doesn't want you to see

I was just tooling around in my new Quest 2 and, while my level of technical expertise is sufficient to be dangerous, I don't have any real idea what I'm doing as far as rooting, bootloader mods, etc. However, I seem to have stumbled into the regular Android settings after an app I was trying asked for usage permissions, which it seems Oculus doesn't expect any of its bespoke apps to do.
The Android settings behave oddly, though, but more like there's some kind of watcher app that's preventing access to most of these non-Oculus options. Case-in-point, the app that wants usage access, when I enter the Usage permissions screen and select the app from the menu to be taken to the screen where it displays what the app will do with usage permissions and presents the toggle for it, the screen comes up only briefly before the settings dialogue disappears entirely with an error saying that "System has stopped responding". I'm pretty sure if I were fast enough, I could probably toggle it in time, but I could also try to grant those perms via adb (which I only now remembered I could do and thus haven't done yet).
I also found and enabled the actual Developer Options, not the basic one Oculus gives us if we sign up as a developer organization. I am certain that they have actually been enabled: Even though the "{ } Developer Options" menu item keeps reloading the page that its on, settings that you'd expect to find within now turn up in the settings search dialogue.
One of these options is to enable OEM bootloader unlock. Selecting that options from the search results screen (or any other search result you'd find within Developer Options) however does like before, drops you at the menu page with the "{ } Developer Options" option.
It would be absurd if it were to be as simple as enabling that option to gain access to the bootloader and do whatever, even moreso if it was me that first wrote about it -- but, since I'm under the impression that the settings aren't actually broken so much as they are being suppressed, is there a way to toggle these various developer options, including the OEM bootloader unlock, via adb?
(Another point in favor of suppression rather than breakage, the Oculus refuses to take a screenshot of anything I'm doing with a message stating that the device is forbidden from doing so, although in less nefarious language.)
tl;dr -- how might I go about programatically toggling developer options on the device to find out what happens? More broadly, what's a good place to start being more dangerous vis-à-vis my Android technical expertise? I find its structure in every way baffling and nightmarish.
And then just for kicks, there's some oddities, like how the machine name in adb shell comes back as "hollywood" (which I found a bit Baader–Meinhof-y, since I was watching a bunch of Modern Vintage Gamer vids including his one on the Wii and its "Hollywood"-benamed graphics coprocessor). Also, fastboot oem unlock returns a curious error directing the user to visit https://oculus.com/unlock, which doesn't exist, and as far as the Wayback Machine is concerned, has basically never existed.
This settings menu is (or at least it was) fully accessible on my Quest 1 last time I tried it. There does not seem to be an entry point on Quest 2 though.
I am currently enjoying the "Bugjaeger" app from the play store. That is a good ADB solution for the Quest 2. Have fun.
rickthecabbie said:
I am currently enjoying the "Bugjaeger" app from the play store. That is a good ADB solution for the Quest 2. Have fun.
Click to expand...
Click to collapse
Could you please elaborate? Link to any guides or anything?
dwkindig said:
I was just tooling around in my new Quest 2 and, while my level of technical expertise is sufficient to be dangerous, I don't have any real idea what I'm doing as far as rooting, bootloader mods, etc. However, I seem to have stumbled into the regular Android settings after an app I was trying asked for usage permissions, which it seems Oculus doesn't expect any of its bespoke apps to do.
The Android settings behave oddly, though, but more like there's some kind of watcher app that's preventing access to most of these non-Oculus options. Case-in-point, the app that wants usage access, when I enter the Usage permissions screen and select the app from the menu to be taken to the screen where it displays what the app will do with usage permissions and presents the toggle for it, the screen comes up only briefly before the settings dialogue disappears entirely with an error saying that "System has stopped responding". I'm pretty sure if I were fast enough, I could probably toggle it in time, but I could also try to grant those perms via adb (which I only now remembered I could do and thus haven't done yet).
I also found and enabled the actual Developer Options, not the basic one Oculus gives us if we sign up as a developer organization. I am certain that they have actually been enabled: Even though the "{ } Developer Options" menu item keeps reloading the page that its on, settings that you'd expect to find within now turn up in the settings search dialogue.
One of these options is to enable OEM bootloader unlock. Selecting that options from the search results screen (or any other search result you'd find within Developer Options) however does like before, drops you at the menu page with the "{ } Developer Options" option.
It would be absurd if it were to be as simple as enabling that option to gain access to the bootloader and do whatever, even moreso if it was me that first wrote about it -- but, since I'm under the impression that the settings aren't actually broken so much as they are being suppressed, is there a way to toggle these various developer options, including the OEM bootloader unlock, via adb?
(Another point in favor of suppression rather than breakage, the Oculus refuses to take a screenshot of anything I'm doing with a message stating that the device is forbidden from doing so, although in less nefarious language.)
tl;dr -- how might I go about programatically toggling developer options on the device to find out what happens? More broadly, what's a good place to start being more dangerous vis-à-vis my Android technical expertise? I find its structure in every way baffling and nightmarish.
And then just for kicks, there's some oddities, like how the machine name in adb shell comes back as "hollywood" (which I found a bit Baader–Meinhof-y, since I was watching a bunch of Modern Vintage Gamer vids including his one on the Wii and its "Hollywood"-benamed graphics coprocessor). Also, fastboot oem unlock returns a curious error directing the user to visit https://oculus.com/unlock, which doesn't exist, and as far as the Wayback Machine is concerned, has basically never existed.
Click to expand...
Click to collapse
Would you mind explaining how you got the settings page to open on the Quest 2? I am an OG root dev and just picked up a Quest 2 myself, would love to crack into this.
Oh, dang, yeah, sorry things have been mad hectic and I didn't see these responses. I'll provide a write-up tomorrow, ping me again if I don't reply later cause I'm a forgetful idiot.
dwkindig said:
Oh, dang, yeah, sorry things have been mad hectic and I didn't see these responses. I'll provide a write-up tomorrow, ping me again if I don't reply later cause I'm a forgetful idiot.
Click to expand...
Click to collapse
All good, I actually figured out how to launch the settings page from this command:
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Everything works in this page, except for launching the Developer settings option. This crashes the app as you mentioned, even though I can see the OEM Unlock option in the settings search bar.
This repo is also very helpful, I am getting told to visit the same non-existent page you were as well when running fastboot oem unlock.
GitHub - QuestEscape/research: Sharing our security research on the Oculus Quest
Sharing our security research on the Oculus Quest. Contribute to QuestEscape/research development by creating an account on GitHub.
github.com
Honestly Annoying said:
All good, I actually figured out how to launch the settings page from this command:
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Everything works in this page, except for launching the Developer settings option. This crashes the app as you mentioned, even though I can see the OEM Unlock option in the settings search bar.
Click to expand...
Click to collapse
Oh, cool, I spent some time myself looking for a similar command, but I don't know much about the inner workings of Android. Do you know if there's a way to programmatically toggle the OEM Unlock switch?
I'll still post my circuitous method of getting there tonight (US/Central), maybe it will be enlightening in some way. I can't take screenshots or video of the process, cause the security policy configured by Facebook disallows it in those places.
Honestly Annoying said:
This repo is also very helpful, I am getting told to visit the same non-existent page you were as well when running fastboot oem unlock.
GitHub - QuestEscape/research: Sharing our security research on the Oculus Quest
Sharing our security research on the Oculus Quest. Contribute to QuestEscape/research development by creating an account on GitHub.
github.com
Click to expand...
Click to collapse
Okay, things are a bit different since when I first posted -- I can grant packages usage access without crashing back to Android settings (`com.android.settings`). However, I can launch Android settings directly using App Manager (https://muntashirakon.github.io/AppManager/). Still can't screengrab, though, and still can't access the Developer Options, can only search for them. Interestingly, the breadcrumbs in the search results refer to the uppermost level as `null`.
So i connected my Quest 2 to Android studio and used the debug and the log tool to see why the settings app crashes when trying to enter the developer settings. I got the exception and maybe i can paste it in here when i get home. Also i managed to sign out of my Facebook account and remove the oculus system administrator but that made the headset useless. I also created an app for the oculus that search for all the installed packages and when you click on one of them it's trying to launch the package in vr shell and found some interesting things such as a oculus assistant and a battery charging mode setting.
Honestly Annoying said:
This repo is also very helpful, I am getting told to visit the same non-existent page you were as well when running fastboot oem unlock.
GitHub - QuestEscape/research: Sharing our security research on the Oculus Quest
Sharing our security research on the Oculus Quest. Contribute to QuestEscape/research development by creating an account on GitHub.
github.com
Click to expand...
Click to collapse
maybe the page does exist, but you don't have the authority to visit it, so oculus redirect you to somewhere else
maybe its not helpfull, but when you start wireless wifi on the Q via a wired adb host , you can install the app 'remote adb shell' (blue cast icon, pstore) on the quest and connect to localhost. so you have an on device adb shell for pm commands. it has to be this remote app because of lack on adb shell command without magiskmodule (termux crashes to the tv channel). i dont know how the activitys are called in android so maybe you got luck. also are the developer options part of the settings.apk? i think they pulled it out like that so why not making a new settings.apk where the devops are available? on this way there is sure an option to have a lock on the wifi adb too so it doesnt shutdown anytime you reactivate. edit: seems that with the new multitasking feature, its possible to hold up a wifi connection even the hmd was locked, just run the remote shell, connect and dont close it. you can connect via pc too without need to use adb tcpip again. before i setup adb tcpip via ' setprop service.adb.tcp.port 5555 ' again on the remote shell app. i now let it locked, and look how long it can holdup the wifidebug without reactivating via cable.
raeumler said:
maybe its not helpfull, but when you start wireless wifi on the Q via a wired adb host , you can install the app 'remote adb shell' (blue cast icon, pstore) on the quest and connect to localhost. so you have an on device adb shell for pm commands. it has to be this remote app because of lack on adb shell command without magiskmodule (termux crashes to the tv channel). i dont know how the activitys are called in android so maybe you got luck. also are the developer options part of the settings.apk? i think they pulled it out like that so why not making a new settings.apk where the devops are available? on this way there is sure an option to have a lock on the wifi adb too so it doesnt shutdown anytime you reactivate. edit: seems that with the new multitasking feature, its possible to hold up a wifi connection even the hmd was locked, just run the remote shell, connect and dont close it. you can connect via pc too without need to use adb tcpip again. before i setup adb tcpip via ' setprop service.adb.tcp.port 5555 ' again on the remote shell app. i now let it locked, and look how long it can holdup the wifidebug without reactivating via cable.
Click to expand...
Click to collapse
.
if someone knows a working terminal for the quest (the original crashes the keyboard after a while). to replace the remote adb shell app, we could use an adb binary that holds up the wifi with adb shell to localhost (shell commands), while another terminal (local, pc or smartphone) can connect through the adb binary over wifi to localhost/quest-ip (for adb commands). but setting up an adb server (not the service) via adb binary and on-device terminal (even via adb shell) is not possible without root (but the remote adb shell app starts one or does it somelike different without root and on-device). when we know how we could put that logic together in a script or apk then). but anyways:
so its setted up now on my quest for holding up debug over wifi (sideload connection) and have an ondevice shell. it runs minimum 23 hours without needing to activate it via cable (adb device to check connection)
1. download/sideload remote adb shell app
2. connect quest2 to a host via usb
3. open cmd on host: adb tcpip 5555
4. disconnect usb
5. start remote adb shell on the quest and type quest-ip:5555 OR localhost:5555 and click connect
6. type in remote adb shell: setprop service.adb.tcp.port 5555
7. minimze the remote adb shell app and let it run
(8). to disable wifidebug: setprop service.adb.tcp.port -1
now there is no need for reactivating until reboot. if you want to run a command go to -> apps -> unknown sources -> open remote app (as there is no recent button).
you can connect to any adb host via wifi (local, pc, smartphone) even after lock or a matter of time (min 23 hours)
the remote adb shell app:
Remote ADB Shell – Apps bei Google Play
Eine Verbindung mit ADB auf einem anderen Android-Gerät läuft über das Netzwerk
play.google.com
with terminal shortcut app you can make settings-scripts then and run them via iconlist for textureresolution and gpu level or whatever ....
ps: maybe im in the wrong subforum now. should i make a thread?
pps: the app 'autostart and stay' adds an autostart option to the quest, which allows to run a launcher before original launcher comes up. (buggy)
ppps: the app SSH Server can set up a SFTP connection for wireless filetransfers
edit: could be that it just work to the first whyeverdisconnect then the quests tracking is beside and you have to reboot
double
Honestly Annoying said:
All good, I actually figured out how to launch the settings page from this command:
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Everything works in this page, except for launching the Developer settings option. This crashes the app as you mentioned, even though I can see the OEM Unlock option in the settings search bar.
Click to expand...
Click to collapse
This still works today! I have a Quest 2 running V35, and recently un-linked my Facebook and Oculus accounts. After finally getting my Quest 2 back up (still needed to use the old Oculus apk from an Android device and Quest 1 device selection), the timezone was off, so I used the above adb shell command to access settings, and changed the timezone fine.
I also changed the Device Name, although I'm unsure what ramifications that might cause later.
Edit: Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over.
you can have more settings when you use SetEdit (Settings Database Editor) from pstore. some props are editable, some need root.

One plus 6: display black, can't see nothing try to connect via adb to enable function and use OTG cable to television or something else

Hi to all,
how are you?
It's still a very long time i don't wirte here.
So i was a happy owner of a oneplus 6 from may 2019. I haven't problem and all works so well.
During a trip with fog and rain, the phone was wet and full of humidity, i had to use it during the rain 2 times to find the way to come back. When i was in home the display never respond. I tried to dry with a hairdryer but i won't go. In the meantime i buyeg a motog22 waiting to adjust my oneplus.
I'm using the original oneplus os, with last updates of august
So i remember i enabled the developers mode on my phone and i hoped also usb debugging and otg was enabled to cast the screen with this: https://plugable.com/products/uga-4khdmi (there are also the displaylink driver that tart at trhe phone startup), but i won't activate, don't no why.
Then i decided to try via adb to unblock wifi and other thing and make it usable with otg or thing like this: https://github.com/Genymobile/scrcpy
When i started abd i got this:
D:\myfolder\platform-tools>adb devices
List of devices attached
phonenumber unauthorized
I read some xda and stackoverflow posts but can't find a solution.
To authorize it i tried to delete adbkey inside .adroid folder, kill and start server but nothign working also cause the phone want an authorization that i can't give cause i can't see my display even if the display vibration is working and maybe also the touch.
Then i tried this:
adb reboot recovery
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
So i tried to restart the phone in boot recovery trying to see if the authoriaztion is enabled by default, but nothing happen.
I just wanted to push the keys to my phone and then using adb to reactivte wifi and something else almost to cast my phone or make a backup of some application (like google auth or microsoft auth...)
Are there an extreme solution or i have to wait the display and change it? I know this is the best solution but without this phone i have some activities...bloked It's incredible!
Thnks in advance for you help!
Bye

Categories

Resources