text:
LG G4 can't fastboot/reboot bootloader
Ola!
I'm playing with a LG G4-H815.
When using adb reboot bootloader, the phone just boot on normal mode.
When doing the Volume Up + Power button thing, I manage to land on Download Mode but nothing happens, fastboot does not detect the phone. And I get this popup:

Reset Factory doesn't work either. Does nothing but reboot the phone as if nothing happened.
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

$ adb --version
Android Debug Bridge version 1.0.41
Version 29.0.5-5949299
Installed as /home/adrien/adb-fastboot/platform-tools/adb

$ fastboot --version
fastboot version 29.0.5-5949299
Installed as /home/adrien/adb-fastboot/platform-tools/fastboot

maybe it's a silly question from me, but have you installed the correct drivers on your operating system? do you have the latest adb and fastboot tools too? (if possible add more details about your environment OS name & version, adb exe version, fastboot version..)

Well, I don't know if it's relevant but when I plug my phone, it is recognized and I can explore it via my native file manager. I'm on Ubuntu 18.04 with lastest version of adb and fastboot. (OP updated) Also, I did not find how to install the drivers for Ubuntu. I've tried though but maybe not hard enough!

did LG removed fastboot mode from your model?

@alecxs No idea. I found writings on the web mentioning it was possible so I guess not but I can't guarantee anything.

From "normal mode" try the adb reboot bootloader command. Then try fastboot devices. If still just rebooting into "normal mode" then for the adb reboot command try adb reboot-bootloader  instead of adb reboot bootloader.

@BoLawson I did, and as I expected there is no difference in the results. What is the difference between the two?

Just semantics in syntax. It depends on the developer really. Scanning over everything I noticed your using a Linux machine. Have you setup or checked to see if udev rules are correct?

@BoLawson No, I did not. I'll see if I have time to check it. I switched to another phone and gave up on this since then so I'm not sure I will but heh...


text:
Samsung Galaxy Feel cannot find any Wifi access points
My Samsung Galaxy Feel (running on Android 8.0) cannot find any Wifi access points after turning on the Wifi.
Other mobile phones (iPhone, Xiaomi, Huawei) and computers can find more than three access points.
I've already tried factory reset.
How to fix this issue?

Try reinstaling system completely. Sometimes this helps.
It is pretty hard to find firmware for samsungs now but i can give you app for this later, then just run odin. If you need support contact me.

Assuming the system partition has never been modified and the hardware is also fine, what is the point of reinstalling the firmware?

In half of the situations like this it just works. Never modified system partitiom doesn't mean it was preinstalled properly.

Android is not like Windows where you need to install drivers for wifi and where the installation can go wrong. An Android phone already has full support for Wi-Fi hardware it has and it works out of the box. If I take your argument that it was not "preinstalled properly" then reinstalling that firmware would literally make no difference.

Yeah but you can modify it even without root Access do it's easy to break it.

In wondows it's even easier because you can reinstall deiver, here driver is built in system so you need to reinstall. Im not saying IT will work it's just easy method that can help in some situations. I had already problems like this with some phones and this worked for me.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Why is the notification coming 9 hours late?
I created a full-day event in my Google Calendar using my Android-phone.
The notification is set to "7 AM on the same day".
But for some reason, it notifies me consistently at 4 PM (4 minutes ago in the screenshot below).
I did already delete the entry without effect.
What can I do to get the notification at the time displayed?
My timezone-settings seem to be correct: the phone displays the correct time and notifications for normal (non-full-day) events show up at the correct time. Also all events that are synchronized from my Exchange-account are displayed at the correct time.
The device is a Hauwei P20 Pro with a stock-rom.

Could you state the timezone of the device (and if it's okay with you, your current location's timezone if it's different than the device's)? I have experienced a similar issue related to how all-day events are created while developing a calendar app, so I want to confirm if that's the cause of the issue.

The phone runs on the same timezone I am currently located: middle European time (Berlin).

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How to insert bookmarks inside Google docs for Android without using desktop browser?
I need the functionality of inserting bookmarks within the Google drive or Google Docs Android app. I can do that from within the desktop browser.  Is this feature already there, and I am just not seeing it?
This is not the same thing as adding a shortcut to the Android devices home screen as indicated by: Can I make a Google Doc shared with me more accessible on my Android device?
Google is a large company. When it creates apps for Android, it needs to be on parody with the desktop browser unless there are specific technical reasons why that's not possible, and sometimes it is not possible, but not in this particular situation for sure.

It is (still) not possible currently to insert a bookmark with Google Docs for Android (version 1.20.494.04.33). The only option to insert a bookmark is via the computer as stated on Docs Editor Help: Work with links, bookmarks, section breaks, or page breaks:

Add a bookmark
Bookmarks are not available on Android; you’ll have to use a computer.

If the doc is very important to you, you could download a copy to your device and make a folder for it.  You could also try setting your browser permanently on desktop, or desktop user agent. When you go online in this mode, your device is seen as a Linux computer.  At least my Z Fold 4 is, on Vivaldi/Duck Duck Go.


text:
A hub's USB-C port doesn't allow the phone to transfer files
When I connect my phone to my laptop with the original cable, I get the option called transfer files. Now, I have Huawei Matedock 2,

and when I connect the phone to its USB-C port, I don't get the option. It's just charging the phone.
Is it possible to charge and transfer files using this hub on USB-C?

Please update your post to include the Android device, Android OS version, and how you are connecting the dock to the pc/laptop and the Android device.

Looking at the Matedock 2.0 on Amazon:
https://www.amazon.com/Huawei-Matedock-Matebook-Devices-Connection/dp/B075MWC9VS/ref=cm_cr_arp_d_product_top?ie=UTF8
It seems like that USB-C port is kind of unclear on what functionality it supports or doesn't support.
I'm probably wrong on this, but my first thought was that since the USB-C port is right next to the VGA and HDMI outputs, it could be that it's only meant to be used for video output (with a USB-C to HDMI cable or something like that). I'm not even sure that could be the case technically speaking though, as USB-C should transfer data indiscriminately, I don't think it can be "video-only" like HDMI or displayport are.
It's more likely that the dock is just built cheaply, and doesn't support the proper data bandwidth necessary for data transfer on your phone (or at least, as much as Android would like. Android can be really picky with what data connections it accepts over USB, as I've seemed to notice). Also could be that your phone or USB cable has problems with data transmission over USB 3.0, which is sometimes the case with regular USB-A 3.0 ports/cables - I know I've had trouble connecting some of my android phones to USB 3.0 ports on my computers before, and they worked fine as soon as I switched them to a different 2.0 port instead.
I would suggest you try using the USB-A port on the back of the dock instead. Get a USB-A to USB-C cable and use that to hook your phone up to the dock, and then the dock to the computer's usb-c. The problem might just be with some kind of weird miscommunication along the signal path between the computer's USB-C port, and the dock's USB-C port.
EDIT: Also, try a few different USB cables. You may just need a higher-quality USB cable in order to get full data transfer capability. A lot of the time Android will refuse to connect with data transfer if it doesn't like the particular USB cable you're using. It is weird that the one you have won't work through the Matedock if it would otherwise work plugged directly into the computer, but it can't hurt to swap it out anyway and see if a different one fixes your problem.

Next to any other reasons other people mentioned, I noticed that in some cases with some devices and some hubs, it does matter how you attach the USB-C cable.
While normally you can plug it in in any direction, some devices will only work when you plug it in in one specific direction, especially if it is a USB-C to a different type of USB cable, the hub also might do that kind of despite having a physical USB-C port since internally sometimes they use the old interface, as many of them are USB 2.0 internally.


text:
How to create a shortcut to some file in another folder?
I have a PDF on the folder ExtSD/Documents/. I need to make a shortcut of this file to the folder ExtSD/CurrentlyReading/.
So simple on Windows... Apparently never asked on Android.
If it's of any use, my explorer is ES File Explorer V4.0.
XPosed available.

"Shortcut" is a purely Windows concept. It's an ordinary file (with .lnk extension) which contains a reference to some other file or folder. Windows Explorer and other programs know how to open the actual file by reading reference information from shortcut file, just like as they know how to open a .pdf or .mp4 file. Other operating systems do not know what a .lnk file is, because phenomenon of mounting partitions and hence file paths are different across different OSes.
At filesystem level, Windows' NTFS supports junction points, symbolic links and hard links (1). But FAT family (including exFAT) supports none (2).
Android is based on Linux kernel. Linux's native filesystems (like ext4) support hard links and soft (symbolic) links. For non-native filesystems (like FAT) it depends on the filesystem driver. exfat driver (for exFAT filesystem) supports symlinks, but FUSE based exfat-fuse does not. So is the old vfat driver (for FAT[N] filesystems). New sdfat driver (for FAT[N]/exFAT filesystems) from Samsung does have optional symlink support for FAT[N] filesystems as well. After MS open-sourced exFAT, mainstream Linux driver is also based on sdfat (3).
However that's not the end. External SD cards are usually formatted as FAT32 or exFAT, so they may support symlinks depending on the driver being used. But Android does not expose actual filesystem to apps, instead it's emulated using FUSE or sdcardfs. Emulation is another twisted story (basically a permission-less filesystem to make sharing files among different apps/UIDs possible), see detail in Android's Storage Journey and What is /storage/emulated/0/?.
FUSE drivers may support symlinks (if the underlying filesystem does), but Android's FUSE implementation does not. So is the in-kernel sdcardfs implementation.
So in short, for the most cases, you cannot create symlinks on external SD cards as well as internal SD card. You will get "Operation not permitted" or "Function not implemented" or similar errors. On rooted devices a commonly used alternative is bind-mounts. See details in How can I make a symlink (or equivalent) inside /storage/emulated/0?

Shortcuts are Links in linux, and while in a terminal, or X its fairly easy - there's no easy way in the android UI.
youre better off just making a new folder, or getting a reader that supports a reading list.

i can do it manually using a freeware app caled MixPlorer but getting it done automatically.  not easy to do.  getting it done automatically or from inside Tasker is a lot more elusive
ideally a solution can be found to make a hardlink (not symbolic link) to a JPG file so that A.JPG and B.JPG will show the same thumbnails in both folder summer and folder vacation.  deleting one of them doesn't delete the other one.  either one will still work as long there is still one copy is left.  still trying to find a way to create hardlink on Android, preferrably automatically or from inside Tasker

What MiXplorer creates is not a filesystem-level link, but an icon which - when tapped - fires an intent to open a file. // Neither FAT family of filesystems, nor Android's FUSE/sdcardfs support symbolic/hard links. Already mentioned in my answer.


text:
How to test my Device's capability to support WiGig?
Well, how do I test if my Device supports WiGig? My device manufacturer claims that the device supports WiGig but, I don't have a WiGig network, or at least I am not aware of that! Is there an application in Playstore which can do it for me?

From what I can tell WiGig exists, and is part of the Wi-Fi Alliance. Running in the 60 GHz range means line of sight so streaming to VR headset appears to be a common use case.
While do you don't mention which Android device you are referring to that page does link to a list of WiGig Certified Devices which appears to be chipsets, no routers or mobile devices.
Even if you had such chipsets on your device, it doesn't mean that the antennas or firmware is configured. Given the lack of consumer hardware supporting WiGig, without more detail, I suspect it to be "marketing enthusiasm" rather than a useable feature.
Update
So from the comments, OP has a ASUS ROG II which does market itself to have WiGig, primarily to use the ASUS WiGig Display Dock which makes sense for high-bandwidth video streaming. Companies like ASUS will add in unique features/capabilities to sell devices.
The lack of "WiFi Certified" branding to me seems that while the ASUS ROG II can use WiGig with the ASUS Display Dock, that may be the only thing it is capable of pairing with, at least until you can test with other consumer WiGig devices, if and when they come into the market.

Perfect! Just to add I am using an ASUS ROG II Phone


text:
How do I recover data from a phone with a broken screen
So, I broke my phone's screen recently, and it had a lot of important data.  I cannot see or use the screen, and I want to get all my data off the phone. Can anyone help me with this?

besides you'll propably find a solution if you click on the tag, depending on phone model, android version and additional information like usb-settings, encryption, bootloader state you may get answer

Duplicate of How to perform a full system dump/backup with a broken screen?

If you are using my phone app, you can get some data.
Also, if your phone has already been rooting or debug enabled you can connect via adt.


text:
How to put checkmarks on a checklist in Google Docs
Note: This question is specifically about Google Docs on Android, not Google spreadsheet on Android.
Instructions from this page shows how to insert a checklist using the Android app or Google Docs. I was able to follow those instructions on the Google Docs Android app, however, I need to then quickly and easily check off each item. The instructions on that webpage are given for a desktop web interface, because it refers to clicking the right mouse button and selecting an operation, but how do I do that within the Google Docs Android app? Is this impossible?
I currently believe the answer is "no", but I hope someone will prove me wrong about that.

As you know, the checkmark bullet list is not available on Google Docs's Android version.
A not elegant workaround is to insert the checkmark character yourself then realign it.
Use one of the many keyboard apps that provide unicode characters (I used this). Search for checkmark, copy and then paste it on your document. Then realign it to be on the same column than the real bullets as shown on the image.
Disclaimer: I am just a use of the linked app.


text:
Enable Chrome's Reader View manually, when it isn't offered?
Is it possible to enable the "Reader View" of Chrome for Android, when Chrome doesn't offer it?

On iOS, Safari leaves the choice entirely to the user, who has to click a button – which is good, as Chrome's popup-bar is a bit distracting, and especially because it means that the user is free to enable it on any website.
In Firefox, the button isn't always offered, but display of the Reader mode can be forced with about:reader?url=URL, which can easily be turned into a bookmarklet.
But for Chrome, I couldn't find any option of forcing Reader View yet, and more often than not it isn't offered on the very articles, where it would help the most, such as those with bad color choices and overly obstrusive ads.

Enter the URL chrome://flags, search #reader-mode-heuristics and change it from default to whatever is convenient to you.

@Firelord While it works, it is overkill. As long as I don't set it to "always", some pages where it would be needed don't offer it. But on every other page it is a nuisance. Of course, if there is no other option, I have to live with it and occasionally open the articles in Firefox...

I wonder, is it possible to enable flags states purely by invoking uri with respective headers?  If so, you can create bookmarklets to toggle the states.  If not, you might still be able to use a TamperMonkey script.

@Arctiic: Tampermonkey won't help on mobile, where reader view is mostly relevant. Meanwhile, redirecting to such URLs also is increasingly limited by CORS rules -- for instance, you can't redirect to a data: URI from a bookmarklet, only from extensions. Meanwhile, I've mostly solved it though by writing a custom reader-mode bookmarklet, that removes all of the annoying elements and does some minor formatting changes.

@kdb Speaking of which, I have an Android automotive head unit (runs Jellybean) that comes with an generic onboard web browser (not branded, literally just called "browser").  As it turned out, the URL box on that browser accepts a string entry that puts the browser into a "debug" mode of some sort, which then allows you to access, e.g., file:\\\ and other insecure URI directly from the browser.  I suppose Chrome wouldn't have anything similar, would it?  Likely not a good practice anyway, in retrospect.

@Arctiic Generally, Chrome has been applying increasingly strict standards for web security. One of those was that redirecting

Technically, it is possible to request on-demand reader view (also known as "simplified view") on Chrome for Android.
Chrome uses DOM Distiller to determine if a page is worth to be simplified, then simplify and render it as a new page if requested.
There are a few ways to load a URL in reader view:

(Manual) from chrome://dom-distiller, a debug page that allows a user to input a URL and force load it in simplified mode.
(Possible idea for automation) a unique URL for every simplified page, which can be directly accessed from the address bar.
chrome-distiller://<UUID>_<HASH>/?url=<URL>

Where:

UUID: Universally unique identifier. By default, it uses UUIDv4 (random), but any UUID works, including nil UUID (00000000-0000-0000-0000-000000000000)
HASH: SHA-256 of URL
URL:  target URL (optionally, percent-encoded for safety).

Example URL for this page:
chrome-distiller://00000000-0000-0000-0000-000000000000_07036109224c60335e35e3b4c22dd02cf775f69d4430245c4c454aff570d6787/?url=https://android.stackexchange.com/questions/218970

Additional reading:

Ctrl blog - The many URI schemas used by the browsers’ “Reader Views”
Chromium.org Google Group - [Android] [Reader mode]Instant reader mode for new tab or WebView

"chrome://dom-distiller" doesn't seem to be a thing anymore (tested with Chrome for Android v92 stable).

You can make it appear on every webpage by enabling it in chrome://flags/#reader-mode-heuristics
so, enable it when you need it, and disable when you're done as it would appear on every page.

#reader-mode-heuristics works but inconsistent.
Chrome Android version 101 with chrome://flags/#reader-mode-heuristics set to Always only works some of the time.
e.g. Opening the BBC News main page shows the Reader View Prompt. But after dismissing the prompt and following a link on the main page to a specific article there is no Reader View Prompt for that page.
But, with the article page open, closing Chrome and then restarting it does cause the prompt to appear.

YES! close and open chrome. That's what worked for me.

It is possible if you have the Xposed framework installed.
I write the Xposed module ChromeXt, which adds the reader moder item to the page menu.

I have implemented a bookmarklet style solution described here:
https://gist.github.com/hughpearse/9454406ad43116dfaef8c43e7eac84f4
1. Original code and explanation (Hugh Pearse)
In chrome on android the "Simplified Page" feature does not have a button. If for some reason the browser decides not to display the layover toast message to access this feature, then the user is unable to enter "simplified view". The solution to this problem has been discussed before on Stack Overflow here, where they suggest opening a url to access a local resource on the browser cache. The local resource URL is formatted as follows:
chrome-distiller://<UUID>_<HASH>/?url=<URL>

It is not permitted to perform a javascript redirect to a local resource in the browser, however it is possible to display the URL as text.
javascript:function customModulo(r,o){const a=Math.floor(r/o);const t=r-o*a;return t}var sha256=function r(o){function a(r,o){return r>>>o|r<<32-o}var t=Math.pow;var n=t(2,32);var v="length";var f,e;var c="";var i=[];var u=o[v]*8;var l=r.h=r.h||[];var s=r.k=r.k||[];var h=s[v];var d={};for(var w=2;h<64;w++){if(!d[w]){for(f=0;f<313;f+=w){d[f]=w}l[h]=t(w,.5)*n|0;s[h++]=t(w,1/3)*n|0}}o+="\x80";while(customModulo(o[v],64)-56)o+="\0";for(f=0;f<o[v];f++){e=o.charCodeAt(f);if(e>>8)return;i[f>>2]|=e<<customModulo(3-f,4)*8}i[i[v]]=u/n|0;i[i[v]]=u;for(e=0;e<i[v];){var M=i.slice(e,e+=16);var g=l;l=l.slice(0,8);for(f=0;f<64;f++){var m=f+e;var k=M[f-15],S=M[f-2];var p=l[0],A=l[4];if(f<16){M[f]=M[f]}else{M[f]=M[f-16]+(a(k,7)^a(k,18)^k>>>3)+M[f-7]+(a(S,17)^a(S,19)^S>>>10)|0}var C=l[7]+(a(A,6)^a(A,11)^a(A,25))+(A&l[5]^~A&l[6])+s[f]+M[f];var b=(a(p,2)^a(p,13)^a(p,22))+(p&l[1]^p&l[2]^l[1]&l[2]);l=[C+b|0].concat(l);l[4]=l[4]+C|0}for(f=0;f<8;f++){l[f]=l[f]+g[f]|0}}for(f=0;f<8;f++){for(e=3;e+1;e--){var j=l[f]>>e*8&255;c+=function(){if(j<16){return"0"+j.toString(16)}else{return j.toString(16)}}()}}return c};var readerUrl="chrome-distiller://00000000-0000-0000-0000-000000000000_"+sha256(window.location.href)+decodeURIComponent("/%3Furl=")+window.location.href;window.location=readerUrl;

It is also tricky to open a bookmarklet in Chrome on Android. The process is described here.
To use:
Save this bookmark to Chrome in Android, then open a web page you want to read, then search in the address bar for the bookmarklet, and then open it.
2. Extended code and explanation (kdb)
Changing location.href is disallowed by security policies. I updated the script to use the clipboard instead.
2.1. Minified version for bookmarklet use
javascript:/* Chrome Reader View.js - 10:25:07 2023-07-31 */(function(){ main();function main(){document.head.innerHTML="";document.body.innerHTML="<input id='reader-url-input' style='width: 100%25'/>"+"<button id='reader-url-button' style='width: 100%25'>Copy to Clipboard</button>";let inp=document.getElementById("reader-url-input");let but=document.getElementById("reader-url-button");inp.value=readerViewUrl();but.addEventListener("click",copyReaderUrl);copyReaderUrl();function copyReaderUrl(){inp.select();inp.setSelectionRange(0,99999);navigator.clipboard.writeText(inp.value);}location.href=readerViewUrl();}function readerViewUrl(){return"chrome-distiller:/"+"/00000000-0000-0000-0000-000000000000_"+sha256(window.location.href)+"/?url="+window.location.href;}function customModulo(r,o){let a=Math.floor(r/o);let t=r-o*a;return t}function sha256(o){let r=sha256;function a(r,o){return r>>>o|r<<32-o}var t=Math.pow;var n=t(2,32);var v="length";var f,e;var c="";var i=[];var u=o[v]*8;var l=r.h=r.h||[];var s=r.k=r.k||[];var h=s[v];var d={};for(var w=2;h<64;w++){if(!d[w]){for(f=0;f<313;f+=w){d[f]=w}l[h]=t(w,.5)*n|0;s[h++]=t(w,1/3)*n|0}}o+="\x80";while(customModulo(o[v],64)-56)o+="\0";for(f=0;f<o[v];f++){e=o.charCodeAt(f);if(e>>8)return;i[f>>2]|=e<<customModulo(3-f,4)*8}i[i[v]]=u/n|0;i[i[v]]=u;for(e=0;e<i[v];){var M=i.slice(e,e+=16);var g=l;l=l.slice(0,8);for(f=0;f<64;f++){var m=f+e;var k=M[f-15],S=M[f-2];var p=l[0],A=l[4];if(f<16){M[f]=M[f]}else{M[f]=M[f-16]+(a(k,7)^ a(k,18)^ k>>>3)+M[f-7]+(a(S,17)^ a(S,19)^ S>>>10)|0}var C=l[7]+(a(A,6)^ a(A,11)^ a(A,25))+(A&l[5]^ ~A&l[6])+s[f]+M[f];var b=(a(p,2)^ a(p,13)^ a(p,22))+(p&l[1]^ p&l[2]^ l[1]&l[2]);l=[C+b|0].concat(l);l[4]=l[4]+C|0}for(f=0;f<8;f++){l[f]=l[f]+g[f]|0}}for(f=0;f<8;f++){for(e=3;e+1;e--){var j=l[f]>>e*8&255;c+=function(){if(j<16){return"0"+j.toString(16)}else{return j.toString(16)}}()}}return c};})();undefined;

2.2. Formatted source code
// Script overall based on [hp01]. Updated 2023/07/31 by kdb.
//
// Usage
//   1. Add minified version (one-liner starting with javascript:) as a bookmarklet.
//   2. Invoke the bookmarklet by typing the name into the address bar on mobile.
//   3. On mobile, the cliboard should now contain the chrome-distiller:// URL.
//      If it does not, click the copy-to-clipboard button.
//   4. Paste into the URL bar and press Enter. Beware: "the link you copied" does *not* work,
//      as that will extract the http[s]:// part out of the URL instead of using the chrome-distiller:// URL.
//
// References
//   [hp01] https://gist.github.com/hughpearse/9454406ad43116dfaef8c43e7eac84f4
//   [w301] https://www.w3schools.com/howto/howto_js_copy_clipboard.asp

main();

function main() {
    // We cannot directly write to the clipboard without a user interaction context,
    // so an <input/><button/> pattern is used.
    //
    // On Chrome for Android, invoking a bookmarklet already enables
    // permissions for writing to the clipboard, so the function is invoked immediately.

    document.head.innerHTML = "";
    document.body.innerHTML =
        "<input id='reader-url-input' style='width: 100%'/>" +
        "<button id='reader-url-button' style='width: 100%'>Copy to Clipboard</button>";
    const inp = document.getElementById("reader-url-input");
    const but = document.getElementById("reader-url-button");
    inp.value = readerViewUrl();
    but.addEventListener("click", copyReaderUrl);
    copyReaderUrl();
    function copyReaderUrl() {
        inp.select();
        inp.setSelectionRange(0, 99999); // For mobile according to [w301]
        navigator.clipboard.writeText(inp.value);
    }
    // Changing the href will most likely fail due to security
    // policies of Chrome, but is left in case it works at some point.
    location.href = readerViewUrl();
}

function readerViewUrl() {
    // Code from [hp01], but simplified/reformatted.
    // The pattern "/"+"/" is a hack due to my minification script stripping out "//..." patterns.
    return "chrome-distiller:/"+"/00000000-0000-0000-0000-000000000000_"
          + sha256(window.location.href)
          + "/?url=" + window.location.href;
}

function customModulo(r, o) {
    // Unchanged from [hp01].
    const a = Math.floor(r / o);
    const t = r - o * a;
    return t
}

function sha256(o) {
    // Unchanged from [hp01].
    const r = sha256;
    function a(r, o) {
    return r >>> o | r << 32 - o
    }
    var t = Math.pow;
    var n = t(2, 32);
    var v = "length";
    var f, e;
    var c = "";
    var i = [];
    var u = o[v] * 8;
    var l = r.h = r.h || [];
    var s = r.k = r.k || [];
    var h = s[v];
    var d = {};
    for (var w = 2; h < 64; w++) {
    if (!d[w]) {
        for (f = 0; f < 313; f += w) {
        d[f] = w
        }
        l[h] = t(w, .5) * n | 0;
        s[h++] = t(w, 1 / 3) * n | 0
    }
    }
    o += "\x80";
    while (customModulo(o[v], 64) - 56) o += "\0";
    for (f = 0; f < o[v]; f++) {
    e = o.charCodeAt(f);
    if (e >> 8) return;
    i[f >> 2] |= e << customModulo(3 - f, 4) * 8
    }
    i[i[v]] = u / n | 0;
    i[i[v]] = u;
    for (e = 0; e < i[v];) {
    var M = i.slice(e, e += 16);
    var g = l;
    l = l.slice(0, 8);
    for (f = 0; f < 64; f++) {
        var m = f + e;
        var k = M[f - 15],
        S = M[f - 2];
        var p = l[0],
        A = l[4];
        if (f < 16) {
        M[f] = M[f]
        } else {
        M[f] = M[f - 16] + (a(k, 7) ^ a(k, 18) ^ k >>> 3) + M[f - 7] + (a(S, 17) ^ a(S, 19) ^ S >>> 10) | 0
        }
        var C = l[7] + (a(A, 6) ^ a(A, 11) ^ a(A, 25)) + (A & l[5] ^ ~A & l[6]) + s[f] + M[f];
        var b = (a(p, 2) ^ a(p, 13) ^ a(p, 22)) + (p & l[1] ^ p & l[2] ^ l[1] & l[2]);
        l = [C + b | 0].concat(l);
        l[4] = l[4] + C | 0
    }
    for (f = 0; f < 8; f++) {
        l[f] = l[f] + g[f] | 0
    }
    }
    for (f = 0; f < 8; f++) {
    for (e = 3; e + 1; e--) {
        var j = l[f] >> e * 8 & 255;
        c += function() {
        if (j < 16) {
            return "0" + j.toString(16)
        } else {
            return j.toString(16)
        }
        }()
    }
    }
    return c
};

They just seem to have moved and renamed it.
You can now find it under Settings | Accessibility | Simplified view for web pages
(thanks to enquirer at reddit for pointing me in that direction)

Welcome to Android Enthusiasts Stack Exchange! While this might help other readers who never see a prompt for simplified view anymore, I'm afraid this doesn't help the asker, since as stated by its description: "Offer to show articles in simplified view, when supported". However, as the asker has mentioned, some websites are not compliant with the requirement and thus the prompt will never appear...


text:
How to backup apps and data on non-rooted Android without needing a PC?
I know there's ADB backup and Helium and something called Droid Explorer that can help you backup your Android software and data to some extent using a PC, but I want a fully functional non-root, Android-only backup solution (basically, a replacement for Titanium Backup which does it all but requires root). It needs to be able to fully backup and restore apps and data in state. Any ideas?

Such a solution cannot exist without having provisions in the OS itself. The default provision in the OS is the Android backup service   which apps use to backup their data to Google accounts and which adb taps into when a user makes an app backup request. Any solution outside of tapping into backup service would require breaking apart the security model of Android and tap into the private data of apps. Naturally, such a solution is not going to be available without root access.
So your choices come down to these two:

use a PC with a software using adb in the background for app backups, or, use an app which requires adb running in wireless mode (such as what Helium requires; adb wireless needs to be started using PC though) so that the app can use adb to backup apps without further needing a PC.
root the device and do whatever you want with any app and its data without needing the PC.


text:
How can I add apps from different regions?
I want to install apps from another region (example Nabobil), but can't, because I have a different region on my phone. I'm using Google Pixel 2 running on Android 10 (latest Android version at the moment).
I don't find the app either on Aurora Store and Yalp Store.
What would be the simplest way to do this?
Preferably without having to go to a different "desktop".  (logging in the whole phone to a different account)

Have the solutions in the linked questions didn't work for you?

@Firelord The first question is about location, The second is about paid apps when paid apps is not supported in your country.

If you're okay with it, then the alternative is to use alternative markets and/or APK mirror sites such as APKPure. However, standard disclaimer for such alternative markets: we are not responsible for any malfunctions to the device if you proceed.

I've added another 2 dupe links, please also check them.

SOLUTION: I ran Google Play Store under an account from target region, confirmed with a credit card from that region, and added as a Google account on the device.

Practically I created a new Google account (Don't think how mattered), added it to the device and switched Google Play Store.  Then I clicked on a link for the app, and were prompted about region and credit card.


text:
How to make `adb reboot` work like `/system/bin/reboot`?
I have a problem with my device. When I do adb reboot then it stuck on boot in a loop.
But, when I do adb shell and then reboot, it works fine.
I searched over the internet and understand that both have different behavior:

adb reboot works like you plug the phone battery out. Means, it will not close any application, not show any pretty Restarting splash screen.
adb shell reboot uses /system/bin/reboot executable and it does a soft reboot with closing opened application, showing the splash screen, etc..

To verify that adb shell reboot execute /system/bin/reboot, I have moved the /system/bin/reboot to another place and as expected the reboot command not working anymore so I put it back after confirmation.
I want adb reboot to use /system/bin/reboot executable.
I want to do it from within the Android device that makes it a general solution for all users of the device. I know I can execute adb shell reboot but other users will not do this.
Is there any way of doing this?

i am afraid you are looking for a solution on device, not for pc?

You are right that I am looking for a solution for the device.

Both adb reboot and /system/bin/reboot do the same thing i.e. set sys.powerctl property to reboot (with optional arguments), which you can do manually too. Both should do a graceful shutdown/reboot. Not sure if the behavior was different with old adb binaries.

Write a script in your PC, look for 'reboot' argument, and execute your own command instead.
I do not know how a Window's compatible script would look like, but this is how a simple bash script would look like.

#!/bin/bash
ADB="PATH_TO_RENAMED_ADB_BINARY"

if [[ "$1" == "reboot" ]] && [[ -z ${2} ]]; then         # $1 is the first argument received by adb
    "$ADB" shell '/system/bin/reboot'
else
    "$ADB" "$@"                            # $@ contains all the arguments received by adb
fi

Save the script as adb, give executable permission to it, rename adb binary with the name adb_orig, and then save this script as adb where adb is originally located.

I need a general solution. This will require me to place this script into the machine of a person who will be going to use this device. This is not possible for me. So, I want to do it from an Android device. Is it possible to write such script in the Android?

Hey, if I will use your script at ./system/bin/adbd and rename old adbd to orig_adbd and edit the script with ADB="orig_adbd". Is it will work?

You would need to rebuild the adb where in the source code reboot command would point to your choice of binary. In any case, a universal solution cannot exist. You would either have to place a shell script in the PC or a specially crafted adb binary. Neither would qualify as a universal solution.

Or I can write my own daemon which will use existing adbd daemon for other commands. But this also needs existing daemon entry in init script to be deleted or replaced the path with a new daemon. This may also need some additional SELinux policies.

it is maybe easier to put a sticker on the back "warning: don't use adb reboot"

@VatishSharma the adb binary I've asked to rename is the adb client, simply named as adb. I do not know how to interact with adbd. You can try and experiment and post an answer. :)

Actually, there is one more problem that on clicking "Restart" from Android UI, the same thing happens. So, I doubt internally they are calling adb reboot not adb shell reboot. That's another reason of fixing it from the android side.

adbd is not a simple executable that can run adbd reboot but it is a kind of socket programming that listens for the commands sent by adb server. I think this needs to find adbd source code and inject the system/bin/reboot there.

Thanks for giving suggestions :)

@VatishSharma When you press on Restart button in the device, this is how it is initiated. You can follow the trail in the source code. See  What's the best way to restart Android via command line (remotely)? and How can I shutdown my Android phone using an adb command?

adb shell su -c 'svc power reboot' works fine. Is it means the device manufacture has implemented the restart functionality wrongly with executing adb reboot?

It could be. I can't speak with confidence. All I know is that adb reboot in my OnePlus 6 device doesn't do an instant shutdown the likes of which your device does. And adb shell reboot and adb reboot works the same in my device as well. In fact, I've never heard from anyone that adb shell reboot does a reboot the way your device does.

@Firelord https://stackoverflow.com/questions/34002728/what-is-the-difference-between-the-abd-reboot-command-manually-pushing-the-power


text:
Driver not in list and official plugin unhelpful - how to print plain text to HP from Android?
I have a phone with Android Pie (LineageOS 16) and the HP Print Service plugin, and an HP OfficeJet X476 printer. (Which isn't an old model, under 3 years old office model). I often need to print text files such as plain text emails or downloaded XML files. My problem is that I cannot work out how to resolve the following printing quandary:

HP Print Service states that it prints plain text only from an app with a "print" menu item, not from the "share" menu. Unfortunately many apps including some I can't easily change, only provide a share menu for printing.
HP's FAQ comment "Can I print if my app does not have a print option?" acknowledges this but isn't helpful. It says "Yes but only photos and PDF" (3rd FAQ item at this time). Their forum says the same.
I've therefore looked at other well-known printing apps, such as StarPrint. The problem with those is, they need a driver selected, and my printer doesn't appear in the list of HP printers. So I can't select it. If there is some kind of generic (or generic IPP) driver, or an Android-specific driver rather than generic "Linux" on HP's product page, I can't see that, either.(If I do find and install a driver, I'm hoping it'll appear in StarPrint's list for selection, but can't be sure.)

Is there an easy way of any kind to print plain text files from my phone? Or do I have to either convert them to PDF every time, or move them over USB to my desktop?
What can I do, to print plain text and emails easily from my phone, ideally via its share menu?


text:
Unable to make phone calls or send text message because of "call barring"
There is nothing wrong with my sim card nor the providers of it. However I am unable to call anyone or send text messages to anyone but I am able to receive calls and text messages from anyone.
Whenever I try to call someone I get the following message "Can't make outgoing calls while call barrng is on"
What I have tried: entered phone app -> Settings -> Supplementary services -> Call barring -> Voice call. Everything is unchecked! If I check everything, nothing changes about my situation I am still unable to call people
I am on Samsung Galaxy S10 Plus

Back up all your important files and start a new. Create a Smart switch back up and factory reset. Smart switch could possibly be backing up the file that's giving you fits. Maybe don't backup anything phone related too.


text:
Remove “Recently opened apps” from "Apps & notifications" screen in Android 8 or later
Using Android 8.1:

Tap Settings.
Tap Apps & notifications.
This displays a list of "Recently opened apps."

I would like to prevent the phone from storing, tracking, or otherwise remembering any app that has been opened. Ideally, without having to install yet another app. Rooting the phone is okay. Clearing the list is a work-around, but not a long-term solution.
How do you remove the "Recently opened apps" list from the Apps & notifications screen?


text:
Where to find case settings of LG G4?
How can I find case settings? I can't find any instructuons on internet. I want to unlock phone when I open book type case.


text:
I deleted the build.prop file but restore the old one but the phone wont boot
PLEASE HELP
I missed with the build.prop file but I made a copy of it before.Then I deleted the edited build.prop file and restore the old one then rebooted the phone(Samsung S3 lineage 14.1) but not working!IT shows the Samsung logo then black screen appear.I can access the TWRP so I checked that the old build.prop file is in /system but nothing.What should I do? pls help

File ownership? Mode? SELinux label? Dm-verity?

If you can access TWRP and you're on lineage. That means that you flashed a custom OS on the phone.
Same way you can get a fresh copy of build prop from the extracted firmware that you flashed because TWRP mainly flashes zip files. Zip files are generally easily extractable by programs like WinRAR.
After getting the build prop from the zip. Copy it to the phones internal storage using a PC while still on TWRP. Then use TWRP native file manager to copy the build.prop to /system/ so that the file address is /system/build.prop and use TWRP chmod option to set the permission of the file to 0644. Reboot the phone and enjoy.
Alternatively you can try to edit the current build.prop if you have the ability to interpret build.prop commands. And then copy it to the phone as similarly as above.
If nothing works here. Just reflash the Lineage OS, clear user data and cache and it will boot as freshly as it once was
Talking about permission 0644, this is a permission that means the owner of the file can read and write the file but, group and others can only read information from it.
When you want to calculate the number, you should understand that this is a 3-digit number for Owner + Group + Everybody respectively (each digit of the number)
The highest value of each digit totals to is 7 to mean all permissions are granted and it can be calculated as 4 (read) + 2 (write) + 1 (execute). 644 means owner has read write access, while others read only
The file is not executable and that's why owner has 6 (4 read + 2 write ) instead of 7 ( 4 read + 2 write + 1 execute)
The leading digit is "always" 0 and it is used for special permissions only
Even though other firmwares can read without this permissions, that is if the permission is less restrictive like 0755, it's safe to set the permission manually to ensure that when the file was written to system, it doesn't have a restrictive permission like 0000 where nothing not even the file owner can read from it

thanks a lot.It worked after setting the permission to 0644!.but why it needed to do this step.what is a0644 permission?and thanks again

I edited the answer adding the explanation of the permission. If you find it helpful you can mark it as an answer so that anyone with the same problem can trust it and try it up

simplified: mode is a 3-digit number for owner + group + everybody (each 1 digit) and the highest value is 7 = calculated 4 (read) + 2 (write) + 1 (execute). 644 means owner has read write access, while others read only, file is not executeable. the leading digit is "always" 0 (used for special permissions only)

@alecxs very clear and simple. Good contribution. Adding it to the answer

Nice!Thanks guys.


text:
"Certificate not secure" error on Samsung Email app on Note 8
I have a Samsung Galaxy Note 8 (Android 9, One UI 1.0) and am using Samsung's Email app (which comes preloaded on Samsung phones) to access my work email.
Recently, I went abroad and had to rely on various Wi-Fi connections (hotels, airports, etc) for Internet connectivity. Suddenly, I started getting an error when I launched the Email app, which said:

Certificate not secure for [my email address]
The certificate isn't from a trusted authority.
If you continue with this certificate, your emails and account may be at risk.

The error keeps popping up if I click on "Cancel".
If I click on "View", all the important fields related to the Security Certificate are shown as totally blank, so it is difficult to know which certificate is causing the problem:

Since this happened, the email is not syncing now, i.e. I am now unable to send or receive new emails from the app.
I googled a lot to resolve this problem and the two main solutions were (though I have no idea how well any of these would work):

Uninstall the Email app and re-install it. But I don't want to go down such a drastic route without getting to the bottom of the problem.

Find the offending certificate (Settings > Biometrics and Security > Other security settings > View security certificates) and delete that certificate. However, my problem is, that the Email app is not showing the details of the offending certificate.

What is going on here and how do I resolve it? Have some "rogue" certificates been installed by those free Wi-Fi connections I used recently? If so, how harmful could those be and how do I get rid of them? Hopefully nothing serious!
And how do I get my Email app to work normally again?

Not exactly the same problem, but similar.
Can't send => no connection to mail server, can't receive => certificate not secure (or similar).
We did not remove the app, but only the account. Create the account new and all went well.
Hints: Samsung Android 8.0/9.0, Samsung Mail App (stock), Exchange Active Sync Account.
Reason: probably Android or Samsung November-2019 Updates.
No idea why the certificate (mail server certificate) is no longer valid? Maybe it is not the certificate itself but a technology used with certificates.

Same issue here after november 2019 update

I have the same issue... i just realized that the cert presented is the one of my corporate company website... Certificate info is empty too... my device is patched january 2020
My mail app is up to date too. I guess mail is using some autodiscover feature and go to your route company domain...


text:
Is there an non-engineer-friendly auto-"convert apk architecture" tool for linux/anbox?
Non-android entheausist here, just wondering why "convert apk architecture" returned no search results on duckduckgo, as did my search for an x86_64 version of the Kindle.apk...

Can you explain what you are trying to do? I am confused to what you are interested in as I am not familiar with converting apk architectures

@GabrielFair I believe the asker wants to have the appropriate APK with native libraries compiled for x86_64, as explain on this answer, since running an app with unsupported architecture will potentially crash the app when calling the missing native libs.


text:
Do Apps like Google Assistant work on Blloc Zero18?
Do Apps like Google Assistant work on Blloc Zero18?
Because this is a minimalist phone with its own UI

Optionally.
From the Blloc site

Start your smartphone experience differently with Blloc: the real (non-Google) stock Android experience without any forced Google services.
Zero18 comes with the Blloc MNML operating system—a distraction-free custom software built on top of Android 8.1

So out of the box there appears to be NO Google Services.
Google Assistant, Google Maps, Google Mail, Google Translate all require Google Services to be running on the device.
Therefore from the Blloc help/wiki page: it seems you would need to manually install Google Services (basically flip a special settings switch and reboot) so that the device could get Play Store apps.
I'm unclear/doubtful that some of the deeper integrations of Google Assistant like being able have the phone passively listen for "wake words" to enable a voice assistant would be possible on this device.
You have the option to use alternatives to Google Services


text:
Dark mode / theme before Android 10?
How is it possible (via third party app or without?) to enable Dark mode for all apps (Chrome browser, Phone calls app, Messaging app, etc.) on a Android 5 or 6 smartphone?
It's integrated in the OS in Android 10: https://developer.android.com/guide/topics/ui/look-and-feel/darktheme
But how to do this for Android 5+?

On Android 10, it's available as a system setting.
However the dark theme can be enabled using "night" resources for example. Meaning  switching resources such as styles, colours, themes, drawables, etc according to user's device time.

This can change during the life of your app if night mode is left in auto mode (default), in which case the mode changes based on the time of day. You can enable or disable this mode using UiModeManager. See Handling Runtime Changes for information about how this affects your app during runtime.

You can force the mode or not using a toggle or something too. Read documentation for more info.

The question here is specific to Android version before Android 10. How to enable a Dark Mode on Android 5 / 6 / 7 etc.?  Via third party app? Via settings (which ones)? How to force "Night"  as an Android simple user?

You can't. You will have to enable it for each app individually (if they offer it). There is no global setting that will offer you what you are looking for.


text:
How can I remap my camera button to switch back and forth between two apps?
For my work as a bicycle delivery man, I use the phone for navigation and thus often need to switch between the delivery app and Google Maps. I'd like to configure the camera key of my Cubot Quest Lite to do exactly that.
The functionality I want is exactly the one that happens by default when double-tapping the Overview button. Double-tapping is just annoying and hard to get right every time, so I'd like to switch this task to the mechanical camera button, since I don't use the camera anyway. I tried several remapping apps so far, including Button Mapper and Button Remapper, but none of them could override the camera function of the button.
From what I've read, rooting the phone should make literally everything possible, however I'd prefer to not mess around with this stuff as I don't feel confident. Is there anything else I could try?

I still don't know how to make this work, but I ended up using the app Full Screen Gestures instead. It lets you configure actions for when you swipe inwards from the screen edges, and I simply configured it to start my desired apps on swipe, allowing me to effortlessly switch between them.


text:
I want to ROOT Ravoz Z8 (New Brand)
First of I already done my research about how to root without TWRP/Custom Recovery since my phone brand is new which is RAVOZ.
Now i finally found a solution which is to root without TWRP/CR but there is a problem.
On MAGISK you can root your phone without it, but it needs a ‘Stock boot image‘ but i can't find it anywhere on website. Please somebody help me to root my phone.
Phone Model: RAVOZ Z8
Android Ver: 9

https://forum.hovatek.com/thread-21970.html

https://forum.xda-developers.com/android/development/amazing-temp-root-mediatek-armv8-t3922213/post79626434


text:
how could I view google maps search history? (not location history)
how could I view google maps search history?
I mean beyond . a day or two, so eg a month back or a year back.
I don't mean location history.

You can view and search your history on https://myactivity.google.com .
There is the option to „filter by date & product“, from where you can select Maps and a period of time.


text:
LG G5 Apps/services keep crashing . . . Hardware Issue?
for the past few weeks my LG G5 has been unexpectedly restarting, apps have been crashing, and I've been getting messages like "Unfortunately Bluetooth has stopped" but for pretty much every app/service. Also, I've had the phone get stuck on boot loops which has made removing the battery the only solution to getting it to start again.
I've tried restarting the phone, resetting network connections, even doing a  factory reset twice, none of which help. Even after the factory reset, before even putting in my Gmail account, I get a message "Google Play Services keeps crashing" and then "Google Duo keeps crashing", repeatedly to the point where I can't even do a internet search due to these messages popping up ever 1 second. If I do anything even a little memory intensive, the phone will restart which makes me wonder if it's a hardware issue with the memory.
I've had the phone for less than a year (It was a refurbished unit that was replaced under a third-party warranty I bought when I first about the phone from Costco). Otherwise the phone is in great condition. Not sure if it's just time to get a new phone. Any ideas?
Thanks.

If you did a fatory reset you should have already a data backup(or not), point is maybe doesn't matter if you try to flash a new stock rom, maybe the current one may be corrupt or something, otherwise consider the idea of getting a hardware issue.

Thanks for your reply. So the first time I restored the phone, I did a data backup. The second time, I started straight out the factory settings, without any data backup. In both cases, I still got the errors. Would this indicate a hardware issue, and if so is there anything that can be done to fix it?

You should try to flash a new firmmware, just in case the one you have is broken, if were the case, you should go to some place where cualified personal will check your phone for hardware issues and try to fix it

Thanks, so I tried re-flashing the firmware to Oreo 8.0.0 using LGUP tool. I'm not sure why, but after flashing and powering up the phone nothing had changed (same settings, apps, etc). I was expecting it to be returned to factory condition. Could this be because I had the same firmware before upgrading? I'm going to try installing a custom ROM to see if that helps. Will keep you updated. Thanks


text:
Sony Xperia Z3 Compact Back and Home buttons not working
Background
Many people have experienced a bug whereby the Sony Xperia Z3C (compact) no longer has functional home and back buttons. Specifically, the issue involves the buttons highlighted by the red rectangular box in the following image:

Problem
The problem may be caused by a number of reasons, from hardware issues to software upgrades. A solution is not easily found. As these buttons are essential for using the phone, when they are broken the phone is far less usable.
Workaround
A quick workaround is to rotate the phone "upside down" so that the buttons flip to the "top" of the screen.
Question
How do you fix this issue permanently?

Requirements
To fix the issue, you will need:

A laptop or desktop computer
A USB cable

Then:

Download Universal Android Debug Tools (ADB) onto the computer
Install ADB into C:\Program Files\platform-tools.

ADB is installed and the phone is ready to be fixed. Another SE answer has details on using ADB.
Instructions
A message on Sony's forum (since moved) offered the following solution:

Enable Developer Mode

Tap Settings > System > About Phone
Scroll down to Build Number
Tap Build Number about 7 times
Confirm Developer Mode, if prompted

Put the Z3C into USB Debug mode

Tap Settings > System > Developer Options
Scroll down to Debugging
Enable USB Debugging
Tap OK to confirm, if prompted

Plug the Z3C into the laptop or desktop computer

ADB must be installed before this step

Connect the Z3C to the computer using the USB cable
Confirm the connection, if prompted
Open a command prompt
Change to the ADB installation directory by typing:

cd "c:\program files\platform-tools"

Make sure the device is listed by typing:

adb devices -l

Change the overscan settings by typing:

adb shell wm overscan 0,0,0,30

The screen is shifted by about 30 pixels and the navigation buttons now work. It is safe to unplug the USB cable.


text:
Limit number of installed apps
My kids both have an android tablet. With parental control I can limit the apps type to PEGI 7 for example, which works fine.
But they then keep installing apps until the device is full, and then doesn't work properly anymore.
What I am looking for is an option to limit the number of apps installed at the same time. So I can set that to for example 30 or 50. If they then want to install a new one they first need to remove one.
With googling on this topic I find a lot about time management, but I already have an app to arrange that. So this is purely to set the maximum number of installed apps.
I hope someone has an idea how to achieve this, either by a setting in Android, or by a third party app.
Thanks!


text:
Disabling the clipboard history on Samsung devices
Samsung Galaxy Note 9 running on Android 9 stores all old clipboard entries which requires me to manually delete it every time.

How can I opt-out of this "feature"?

AFAIK a clipboard with history is not part of the standard Android system. Therefore it has to be Samsung or app-specific.

After a long while and more serious privacy flops I had, I found a solution to this security breach of Samsung (Credit).

Install adb on your computer (manual)
Setup adb access (e.g. USB Debugging) on your device (manual)
Launch adb shell and execute the following commands:

pm uninstall --user 0 com.samsung.clipboardsaveservice
pm uninstall --user 0 com.samsung.android.clipboarduiservice

Do you lost the Copy/Paste function after uninstalling samsung.clipboardsaveservice and samsung.android.clipboarduiservice while using Samsung Keyboard? BR

No. Only that nasty clipboard display.

"Only that nasty clipboard display" suggests a fix which is merely cosmetic. It would be good to know whether the two commands suggested above actually stop the OS from keeping a list of the stuff that was copied to the clipboard. Ideally, a command that could be run prior to the two pm commands that dumps the clipboard history could be repeated after the pm commands to show that the OS no longer has a notion of clipboard history.

"It would be good to know whether the two commands suggested above actually stop the OS from keeping a list of the stuff that was copied to the clipboard."
Now I have tested this. The OS not only keeps the list, but it also keeps adding to the list even if the above 2 applications are uninstalled.
(I installed them back and new entries where there.)
So unfortunately. This is not a solution. We need to find which application does the recording and maybe even where does it records them.

Does this solution work on rooted and non-rooted devices?

@RockPaperLz-MaskitorCasket worked for me on a non rooted device.

To revert the uninstall, you can use pm install-existing --user 0 <package name>.
For example pm install-existing --user 0 com.samsung.clipboardsaveservice

Not tested because I am not rooted
ClipboardSaveService and ClipboardUI are made to keep copies of the Clipboard, and your system copy functionality will break if you disable/uninstall them (You need a ported AOSP version to let it only copy once and to make it be stored in the RAM not stored in the NAND)
You can use an Automation software (like Automate or Tasker) to delete "/data/Clipboard" files after you paste. (Yes this is the directory that Samsung store the files in it instead of RAM)


text:
WiFi network limits connection time - can I "change my MAC" and reconnect?
On a PC, you can change the MAC address of a network adapter - Ethernet, 802.11 Wireless - and thus assume a different "identity" than previously.
Now, I'm stuck in a train station for a few hours, and am using my RedMi 3S (Android 6.0.1) to connect to the Internet. But - curse be upon their heads - they only offer "30 minutes of free WiFi". Of course, that has to be tied to some sort of physical identification, for them to throw you out after 30 minutes, right?
Question:

Can I change my MAC, literally, or do something else which will make the access point(s) think of my phone as another device than the one it know?
Could I need to perform any other, complementary, actions, such as delete the cached DHCP lease before reconnecting, or clear the browser cache? Or - is such caching not used when reconnecting?

Changing MAC address is possible with root access but I don't think that would be helpful in your situation.

@IrfanLatif: Well, my situation has come and gone, but in principle - why would that not be helpful?

Public WiFi APs usually work as gateways, DHCP server, DNS server and captive portals at the same time. They maintain a list of whitelisted MACs which (have authenticated and) are allowed to access internet for a given time period. However MAC can be combined with other information like IP address, DHCP lease time and user agent to identify the connected client. So MAC spoofing might not work, and the very next HTTP request might be redirected to captive portal treating you as new client.

There are numerous other things which may expose that you are trying to bypass authentication. This relates: https://android.stackexchange.com/q/47819/218526

@IrfanLatif: So, MAC change + clearing the DHCP lease should do it then? Also, if I'm a new client, that's a good thing...

I'm not an expert, but it depends on captive portal implementation, how complex it is to hide identity. Being new client is a good thing if you are able to get new login credentials and you don't mind logging in every thirtieth minute. Spoofing MAC and clearing DHCP cache isn't enough if they are tracking you with web cookies or some other fingerprints or identification numbers.

In simple cases where no authentication is involved, spoofing MAC should suffice. Or additionally setting IP manually may also do the trick.


text:
How can I check that my Samsung phone is original and hasn't been modified?
How can I check that the mobile device that I am using has not been altered after leaving the factory?
By this I mean no changes whatsoever have been made to the device. Whether it's the whole OS (firmware)or just a single malicious app installed on system partition.
Is there some way I can check the md5 or sha256sum of the device? And if the firmware for my phone is available on the internet I could compare. Would this work? How could I do this on ubuntu?
Or is there some other way?

The simplest answer is you can't check if they have changed your hardware or not with comparing build numbers. But the easiest way if something is changed or not will come up in an app called CPU-Z it show all the software and hardware informations that the device has.
I recommend everyone to give it a try before buying a device because it helps too much. I also realized in settings it has validation option you might give it a go. It will probably ask your details to the vendor and email it back to you

I edited and added some details to the question. I meant to say hardware and software. I think you could check software with some thing like sha1 or sha256.


text:
How is google call screen streaming audio to an incoming call?
I have been trying to stream an on-device audio file to an incoming call, I am not able to achieve that. but it looks google call screen is having no problem streaming audio to an incoming call.
I just wanted to understand how are they achieving that, if it is fundamentally not possible?

Welcome. This site is for end users of Android. The link you provided is to Google's call screen which has no streaming audio, just Google intercepting the call and identifying possible spam numbers and voice transcription. Programming Android questions should be on https://stackoverflow.com/questions/tagged/android Oddly your accounts aren't linked as I see your post: https://stackoverflow.com/q/59127262/295004

Google assistant is sending feedback also the caller

And yeah, i have posted the question in SO also, i was not sure which is the right place to ask the question.


text:
Android head unit 8227L with no physical buttons bootloop
After successfully rooting Android head unit 8227L, I decided to update SuperSU binary files and unfortunately ended up with a boot loop. After many trials and errors, I eventually managed to open Recovery Mode but as my unit doesn't have physical buttons I'm not able to navigate it.
Connecting USB keyboard doesn't work. Long/short press reset button neither (it confirms Reboot option which is initially highlighted). I tried to Wipe data/Factory reset through ADB but anytime I enter ADB shell I receive an error:
exec '/system/bin/sh' failed: No such file or directory

How to navigate the recovery menu or deal with this error?

Unless you're on custom recovery, your only way out is flashing the full phone software or flashing in a custom recovery so that you can have advanced options like flashing the universal unroot script to remove the supersu and restore the stock permission management services

Any ideas how to navigate on recovery menu? This head unit doesn't have physical Vol+ nor Vol-

If the Stereo doesn't have a touch interface not have buttons. I think the best is reflashing it if it has a serial port and you have its cable. But if a touch interface resides. If you can get hands on a modern custom recovery like TWRP for the specific model, you can use it to perform tasks by touch

I tried to flash TWRP via adb but it requires enabled OEM. When I try to do it via command fastboot OEM unlock, fastboot asks me to authorise this action by pressing Vol+...

Your only solution. Get official firmware and flash with SP Flash Tool if its an MTK based device.

Sadly this device (although it was produced in china) is - let's say fully locked. Purposeful action of the local company in my country. Had no choice but to send it to their service and pay for simple things ;( money talks!

Nice then. Be glad an option is there

Anyway, thank you for your help ;)


text:
How factory reset a android smartphone without using the volume up button
How can I factory reset my android phone without using the volume up button? The phone is a zte android. Seems like recovery mode is missing.

Please specify the phone model for easier help. But as a general concept

Please specify the phone model for easier help. But as a general concept, phones have recovery mode, factory mode and fastboot mode. All these can be used to reset, with just a few presses or a few commands, and also note entering into recovery mode needs a unique button combination as per the device model you're using. Kindly search a specific key combo for your phone and it could be easier because practically there's no android without recovery mode unless explicitly deleted during an amateur or professionally intended software flash


text:
Low disk storage Space, 47G is used by Bixby Vision
I started getting low disk space a week ago, everyday I clean up cache and data from Apps, even uninstalling apps, but still get the space issue again after a few hours.
I download DiskUsage app and I found that "Vision Provider" is using 47G (Picture attached), I never used Bixby so I'm not sure why it's taking all this space.
How can I delete the Vision provider to free disk space?

You can try disabling that app. If there is no such option, you can remove it which would work until you factory reset the device. In any case, make sure to backup important data as I don't know how your phone would react if that app is disabled or removed.

Thanks. The issue is resolved now, I needed to clear the data of Bixby Vision, that freed 55G+.

Alexa Alice Bixby Cortana Google Siri, 55 Gb scares me a little

Solution is to clear Bixby Vision data:
Settings -> App Info -> Bixby Vision -> Storage -> Delete Data


text:
Microphone gone from my keyboard?
My microphone (voice to text) option has disappeared from my keyboard.
I'm using a Galaxy X-Cover4.
Thanks in advance.

Go to settings, Language and input, manage input methods and activate Google Voice Typing as an input method and it will show up again
If there's no any voice input method. That means you should install a relevant voice typing keyboard. Like Google Voice Typing from the store.
Rarely but sometimes keyboards can have a native support for speech recognition. Identify the app that you're currently using for alphanumerical typing and access its settings from language and input settings and try to see whether there's an option for activating voice typing. If it is there good, if it's not, the previous is your only option

Thank you. I don't mean to appear challenged, but the only 'input' option is 'Input Assistance' which is auto fill info.

If there's no any voice input method. That means you should install a relevant voice typing keyboard. Like Google Voice Typing from the store. Rarely but sometimes keyboards can have a native support for speech recognition. Identify the app that you're currently using for alphanumerical typing and access its settings from language and input settings and try to see whether there's an option for activating voice typing. If it is there good, if it's not, the previous is your only option

Thank you very much! Installed Google Voice Typing app and now I have the microphone option again.


text:
How to synchronize my smartphone to my Google account?
Everytime I take photos with my smartphone, I want to synchronize it automatically to my Google account. How to achieve that ?

Hope the following instructions help ...

Open the 'Photos' app on your device
click on the 3 horizontal lines on the top left part of the screen(just before the search field)
Access 'Settings' option from the drawn up menu panel
You have the 'Backup & Sync' option at the beginning of the list.
Select that option and setup your backup account.

You have various other options ... you might want to look into each of those and choose one's that you require and you have setup your device to automatically sync photos.
Play around and look into the various settings ... it will reveal options you never thought existed ... improves the quality of your usage to the maximum.


text:
How to disable redmi note 7 recommended apps
Since one of the last updates, my phone has started showing me recommended apps when opening a folder on my screen.
How do I disable such behavior?
I tried following some guides online involving privacy settings, but it didn't help!
Apps recommendation:

It is the same as the "more apps folder promoted apps issue"

Open the More Apps folder (in your case Giochi?)
Tap on the folder name ‘More Apps’ or whatever you renamed it (tap on the Giochi as seen on the screenhot you provided)
Turn off the Promoted apps switch.

I had no idea that option was there, it must be a rather new one, because it wasn't there when I created the folder; I have finally disabled it, thanks.


text:
How to connect bluetooth headphones to phone without know the model
I have old bluetooth headphones that I try to connect to my device. I don't know the model only the brand name.
The question is how to pair it?

You can look for insturction for the brand name. Usually the insturction is the same for all models.
Example for my original question about plantronics:
pairing-instructions-for-all-plantronics-bluetooth-models


text:
Contacts app in Android 7.1 claims that I have no images on my device
On my Motorola Moto Z2 Play with stock version of Android 7.1.1 currently I have:

188 photos in DCIM > Camera folder,
10 pictures in Pictures > Contacts folder,
5 pictures in Pictures > Icons folder,
24 pictures in Pictures > Wallpapers folder.

Yet, when I am trying to assign a new photo for one of my newly created contacts (Google Account) in Contacts app it claims that I have no images in my device and does not open a file browser / does not allow me to pick any photo for given contact:

What am I missing here? How to workaround this weird problem and be able to pick a photo for any contact (other way than using PC for this purpose)?

Did you check that the contacts app has the "Access Photos and Videos" permission?

Yes, it has (though it is called just "Storage" in Android 7.1.1 with details explaining that this allows app to read files on my SD card). It actually has all requested permissions enabled. For testing purposes I have revoked this permission and tried to add photo using above way -- no change, still the same message.


text:
How to disable rotation during zooming in the Google Maps app?
I'm not talking about the feature for navigation where it rotates the map based on the direction you're currently driving. The problem is that when I zoom in and out using two fingers it sometimes happens that I rotate the map accidentally instead. I know I can press the compass icon to turn it back upright, but I would rather want to block the rotation completely. I've looked through all the settings and didn't find one, is there any way I can do this?

If I open the app, and make sure I first make a pinch movement with my fingers, it doesn't rotate the map when I rotate my fingers in the same movement afterwards.
So if you want to only zoom, it is best to first make a little pinch movement, to let the app know you're going to zoom.
If you on the other hand rotate your fingers first, it will start rotating the map.
If you only want to zoom in, you can also use the double tap option. That will not change anything to the rotation. But this is a little more work if you want to zoom in a lot.

So you're saying you know that what I actually want is impossible?

Blocking the rotation completely is indeed not possible at the moment.

@MaxD Do realize that with the double tap method, if you hold the finger down and move up or move down across the screen you can zoom in/out without "twisting". But as "twisting" is a feature of two fingers, I agree on not possible with two fingers.

@MorrisonChang Thanks didn't know that. It's not perfect cause it can only zoom to the current center of the screen but maybe I'll get used to it.


text:
Turn android into server to livestream its own camera and serial data
In my project, I need to turn an old android into a web server. I need to be able to access live video from this phone and be able to send/receive data to/from a mobile app.
Data received from the app will be sent via serial to an Arduino to carry out a respective task, and likewise data received by the Arduino will be sent to the app.

After a lot of Googling, I still can't figure out a solution.
How can I accomplish this?


text:
Stop WPS Office from recovering deleted files
Occasionally, I'd see a message that says WPS Office has recovered a deleted file or something like that. I suspect often times, WPS just does it without even letting me know it has recovered files. I really don't like it doing things for me without my consent. How do I stop WPS Office from recovering files? I have gone through the settings in WPS Office and found nothing of the sort.
This is on a Huawei GR5 2017.

Check whether backup to WPS cloud is switched on.

Cloud is not turned on. It's puzzling where WPS backs up the files to.

WPS keeps discarded and deleted files in case you need to save or recover them in the future. You are correct that there is no setting related to recovered/retrieved files. However if you are the "Recents" tab, click on the 3-dot then "Retrieved documents", you will be able to see them.
The retrieved files can be found in /path_Internal_Or_SdCard/Android/data/cn.wps.moffice_eng/.cache/KingsoftOffice/file/.recovery folder. Inside the folder, filenames are in base64 except for mapping.info file which contains their status (real filenames, whether a file was not saved or deleted, etc).

Thanks. I don't want WPS to save or recover files. I use WPS only to read files, not editing. Somehow WPS saves copies of the files I read. The copies are exact duplicates of the original files. That's a waste of disk space.  I delete them but WPS recovers them. So, I wonder if there is a way to stop WPS from recovering files.

@joehua There is no setting unfortunately, You will have to check the retrieve files (when you finished reading) via 3-dot > "Retrieved documents" or going through the folders mentioned in the answer to delete/remove them.

OK. Thanks. Maybe I should find another reader.


text:
Unlocking Samsung Galaxy S7 with broken screen plugged into computer
The screen on my phone is broken, and there are a few files I'd like to get off of it. I don't care about the phone at all, just the files. I know the password, I just can't enter it on the broken screen.
I can plug the device into my computer, and it recognizes it, but I can't unlock it, so my computer cannot copy files off of it.
lsusb lists it as Bus 001 Device 097: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP).
adb devices unfortunately doesn't recognize my phone, presumably since it's locked.
It's possible there's more damage to my phone than just the screen, not sure though since it won't turn on.
Any advice would be appreciated, I don't even really know where to start.

https://android.stackexchange.com/questions/159551

@alecxs thanks, hopefully I can get that working

try with working device first, you just have one try

A bit late to the party but you can unlock your phone with find my phone
That wasn't enough in my case.
Most recovery tools require you to have usb debugging enabled before you break your phone.


text:
How to increase the sample rate of the current measured from the Android kernel?
I need to monitor some applications power consumption of my Samsung A8, programmatically. I'm doing this by accessing the files:
/sys/class/power_supply/battery/current_now
/sys/class/power_supply/battery/voltage_now
The problem is that the kernel update those files every 10 seconds, so it does not produce sufficient power samples measurement to my experiment. I want to reduce the update time produced by the kernel driver to increase the sample rate. Ideally the kernel would update the values every half second.
From this post: How does the Android estimate the battery level without a current sensor?
I understood that I might find the name of the chip that measures the battery information by looking into a defconfig file. After searching for a while on the defconfigs from my kernel, I believe that the Fuel Gauge used is S2MU004 as specified in this file: https://github.com/prashantpaddune/universal7885/blob/e5ffd23305f0b09fe2bef3f8580df046dab232cc/arch/arm64/configs/exynos7885-jackpotlte_defconfig#L4415
But I'm still not sure about it. Would be the s2mu004-fuelgauge the name of the chip? If so, where can I find the driver? And then, someone can enlighten me on how to modify the driver to increase the sample rate?
Device Information
Model: Samsung Galaxy A8 (SM-A530F)
Android Version: Android Pie (9)
Kernel: Quantum Kernel V4
Kernel version: 4.4.111-Quantum_pie.V4.0-A530F
Processor: Samsung Exynos Octa 7885
Magisk version: (used for root) 19.3

The question is more related to kernel development. Power related configurations are under drivers/power in kernel tree.

Is the question off-topic? Should I remove it then? I already looked at the drivers in the power directory, the problem is that I don't know which one of them is being used. But I'll try to use grep to look for keywords in the files.


text:
Why doesn't the Android Studio include the google play store app for tablet AVDs?
I am using Android Studio 3.5.2
Build #AI-191.8026.42.35.5977832, built on October 30, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
Some of the virtual devices (the phones) include the Play Store components, but none of the Android TV or Tablet images do. Why is that?
Furthermore, is there a way to add the google play store components to a virtual android image?
Is there somewhere to download an image for an Android tablet or TV that includes the google play store components?


text:
(HTC One M8) No OS and recovery, locked bootloader, how can I flash stock OS on it?
I've tried to do it for half a year now and I can't find anything that could help. I've already found aproppriate OS for my phone here.
Phone info:
(bootloader) version: 0.5
(bootloader) version-bootloader: 3.19.0.0000
(bootloader) version-baseband: 1.29.214500021.12G
(bootloader) version-cpld: None
(bootloader) version-microp: None
(bootloader) version-main:
(bootloader) version-misc: PVT SHIP S-ON
(bootloader) meid: 00000000000000
(bootloader) product: m8_ul
(bootloader) platform: hTCBmsm8974
(bootloader) modelid: 0P6B10000
(bootloader) cidnum: ORANG001
(bootloader) battery-status: good
(bootloader) battery-voltage: 0mV
(bootloader) partition-layout: Generic
(bootloader) security: on
(bootloader) build-mode: SHIP
(bootloader) boot-mode: FASTBOOT
(bootloader) commitno-bootloader: 76df2b54
(bootloader) hbootpreupdate: 11
(bootloader) gencheckpt: 0

https://www.htc.com/us/support/rom-downloads.html


text:
Android TV box MAC address keeps changing
I had a MAC address when I was using IPTV on my Android TV box in Turkey. Since I've returned to the UK and plugged it in here, the MAC address keeps changing, and now I can no longer access my IPTV service as it's tied to the other MAC address. The supplier wants me to change my MAC address back, but I can't find any way that actually works.
Why would my MAC address keep changing?

Are you talking about a Wifi MAC address or an Ethernet MAC address? For Wifi Android as the feature to periodically change the MAC: https://source.android.com/devices/tech/connect/wifi-mac-randomization

I just had an issue with a generic droid TV box with the free "IPTV" app Live NetTV v4.8.6 and figured out what was going on kind of by accident. But it was with the IP and not the MAC address. The app has no EPG and no server config so it is not true IPTV but does have several hundred live channels from all over.
I was giving my network devices friendly names in the Access Control section of Attached Devices in my Netgear router when I noticed one of them had the address of 5.128.58.--- (obviously not a home network address). A quick Tracert and google search indicated it is a Russian IP. Gopher.com and a google translation gave the following:
++++++++++++++++++++++++++++++
IP address, 5.128.0.0 - 5.128.255.255 (92274688 - 92340223). Domain name, l5-128-0-0.novotelecom.ru. Result (IP), Unaccounted for
++++++++++++++++++++++++++++++
That was kind of concerning so I blocked the device in router's Access Control and found that the TV Box lost internet connectivity. With the app closed I unblocked the device and the normal DHCP assigned address appeared after I refreshed the Attached Devices list.
Knowing that the app has some mild advertising and has to receive the live streams from somewhere, I went ahead and gave the box a friendly name in the router and saved the settings. I then fired up the app on the TV box and it and other apps worked properly. Back at the router the Russian IP appeared but with my friendly name.
This box is wireless. Another wired box with the app does not have the problem. It could be that some router / TV box combinations do not release this data automatically and might lead to confusion about the MAC.


text:
Explanation for a few running services in google play service
Can someone explain what...PlaceDetectionAsyncService is?  I found in developer options, running services,  google play services. I wanted to know if it was just a location provider..etc also
DeviceConnectionWatcher? What are these and what are they used for?

Play Services aren't open source, those are Google's proprietary stuff. They provide developers APIs to achieve certain tasks but how the Play Services achieve those tasks isn't publicly known. Apps use PlayDetection APIs to ask for current location of the device. DeviceConnection APIs are what Google named Nearby Connections.

So if i have locations on I would have the same thing running in my apps?

"Play Services aren't open source" means that Google doesn't wants to let us know which services are meant for which purpose. There are a number of services related to location including network.NetworkLocationService, internal.server.HardwareArProviderService, geofencer.service.GeofenceProviderService, geocode.GeocodeService, fused.FusedLocationService, internal.server.GoogleLocationService and internal.GoogleLocationManagerService. If you ask me what each of these services does, I won't be able to answer. You may try by disabling them one by one to see what happens.


text:
How do I organize notifications on a Galaxy Note 10 - Seperate Messages from System Nots, Different Sounds, etc
Just switched from iPhone to my Note10 and i love it. However what drives me crazy is that I get tons of system notifications that all pool in the Notification bar. However, to be honest I only really want to see personal notifitaions there, like messages and so on, System Notifications better only if I request to see them. How do I seperate system notififications and message notifications. Also ho do I specify different sound, so I hear if its a Whatsapp or Insta or Facebook ...
Also, how do I make these notifications appear on the locked screen, like they do on the iphone?

You'll want to play around with the notification settings in your settings app. This is will be different for you, but on my Note 3 I go into the settings app -> Device -> Sounds and notifications -> application notifications. From here I can disable notifications for specific apps, and set apps as priority notifiers. imagine it's aomewhat similar with the note 10. Additionally, some apps will let you disable or change the notification sound from within the app, but here YMMV.
I'm not quite sure what you mean by separating system notifications and message notifications.
As for making them appear on the lock screen, see if you can find a related setting under notifications or lock screen. This is also under "sounds and notifications" in the note 3 settings app, although this is again likely to be different for you.


text:
How to go to the App Screen when "Swipe down for notification panel" is on?
On my Galaxy Note 10, how do I quickly go to the App screen when I enabled "Swipe down for notification panel" in the Settings Menue?

Ok, got it, just swipe up, whereas when the "Swipe down for notification panel" feature is off swiping up AND down on the Home Screen enables the App Screen.


text:
Where is the mount point for a USB stick on Android 9?
I am working on IMX8QM with Android 9. I needs to configure usb stick on static mount point.
Once USB stick detected,
create sda1, after check I got:
mek_8q:/sdcard # df
Filesystem                1K-blocks     Used     Available    Use%     Mounted on
/dev/root                   1777588     1189664     587924     67%         /
tmpfs                       2918920     488         2918432    1%         /dev
tmpfs                       2918920     0           2918920    0%         /mnt
/dev/block/mmcblk0p12       249828      58936       190892     24%        /vendor
/dev/block/mmcblk0p14       9086336     967628      8118708    11%       /data
/data/media                 9086336     967628      967628     11%     /mnt/runtime/default/emulated

/dev/block/vold/public:8,1  3918844     1311400     2607444    34% /mnt/media_rw/2A61-DD07

Strictly speaking, do you need a static mount point, or do you need a static way to access specific directories on the usb stick, whatever the name of the mount point?

Hi, I done by using the Ifran guide. Thank You.
// Use UUID as stable name, if available
std::string stableName = getId();
if (!mFsUuid.empty()) {
stableName = mFsUuid;
}
mRawPath = StringPrintf("/mnt/media_rw/USB");

You got it correctly, USB OTG sticks are mounted at /mnt/media_rw/[UUID].
Source:
// Use UUID as stable name, if available
    std::string stableName = getId();
    if (!mFsUuid.empty()) {
        stableName = mFsUuid;
    }
    mRawPath = StringPrintf("/mnt/media_rw/%s", stableName.c_str());

For FAT family of filesystems UUID is not the 32 digits long real UUID, but a serial number (8 digit long). So the mount point vold creates isn't static since Android 6. UUID (or serial number) of filesystem changes when you change USB stick or re-format it (unless you explicitly set the same UUID when or after creating filesystem). For static mount point you need to modify vold source code or mount filesystem manually. For more details see: How to change random filesystem label on USB OTG?
SD cards are also emulated form /mnt/media_rw/[UUID] to /storage/[UUID] but still the path is not static. See details here: How to move files to external SD card?

Thank you Ifran. So, for Android to mount usb in static point  we needs to edit at the source code side. Is it right ?

@VKS choose whichever method suites your needs 1) always set same UUID when formatting USB 2) mount manually 3) modify vold source 4) use Android APIs to get storage path

Thank you Ifran. Now I able to provide static mount point by configure this line.                mRawPath = StringPrintf("/mnt/media_rw/USB").   Do you know how to access this path through android application (creating new application)

No sorry, I'm not a developer. But fixing that path will also mount SD card at same path (I didn't read the source code completely though). So using USB and SD card at the same time won't be possible.

I have a Huawei P30 on Android 9 and a Huawei tablet on Android 8: on both, mount point for the internal drive is: "/storage/emulated/0".
Only the tablet has a SD card mounted, and mount point is "/storage/0000-0000". I see no reason for it would be different for the P30 on Android 9.
If you install Termux (a Unix shell for Android), you can go on both with a normal user and move data here and there :^)

/storage/0000-0000 is not the actual mount point, it's an emulated  view of actual filesystem mounted at /mnt/media_rw/0000-0000. SD cards are emulated by vold, USB sticks aren't. See details here: https://android.stackexchange.com/a/218338/218526


text:
Is my Android device vulnerable to CVE-2019-2234 and How can I mitigate this before a firmware upgrade?

Background Info: CVE-2019-2234 is a serious vulnerability or (maybe an APT) which allow other apps to record videos, take pictures, and extract EXIF data without having permissions.
Edit: This question is other devices rather than Pixel & Samsung

I've tested this PoC (changed package name to my camera's package name) to check if is this possible on my (non Pixel) device, but all I have is the camera activity has been launched without starting recording or taking pictures.
Launch Camera:
adb shell am start-activity -n com.android.camera/com.android.camera.CameraActivity --ez extra_turn_screen_on true -a android.media.action.CAMERA --ez android.intent.extra.USE_FRONTAL_CAMERA true

Launch Video:
adb shell am start-activity -n com.android.camera/com.android.camera.CameraActivity --ez extra_turn_screen_on true -a android.media.action.VIDEO_CAMERA --ez android.intent.extra.USE_FRONTAL_CAMERA true

Question
Part 1: If this device is vulnerable are there other extras to add to make the PoC work and proof that it's vulnerable? or just it's not?
Part 2: If the device is vulnerable, what would be the best mitigation solution for this?

If I understood the problem correctly the vulnerability is located in the camera apps. Updating apps is the responsibility of the Google PlayStore or in case of Samsung there is also the Samsung "Galaxy Store" which is usually comes pre-installed on all Samsung devices.
Therefore in this case no firmware update is required.
In both cases Google and Samsung have simply updated their camera apps. As the vulnerability was a responsible disclosure the updates that fix this vulnerability should be already available and will be automatically installed by the Google Play / Galaxy  store.
Therefore Google and Samsung devices this vulnerability should be no longer an issue. The more important question is how many other camera apps of other manufacturer are also affected.
[Part 1] Regarding devices of other manufacturers there is no general way to be sure that their camera apps are affected or not. If the standard POC does not work and you want to make sure that the app is truly not affected you have to check every camera app individually if the vulnerability can be triggered in a similar way. To do so you have to decompile the app using the decompiler of your choice (Jadx, apktool, JEB, Ghidra, ...) and analyze the decompiled code.

+1 Thanks for your reply, the OP asks about (other devices rather than Pixel and Samsung)

@Abdelhafid Then you should explicitly write this in your question. The CVE only mentions Google Pixel and Samsung camera apps.

I've mentioned non Pixel devices in the OP, but it's OK, I've edited the question again

@M.Abdelhafid AFAIK, it only depends on the camera apps, including stock and 3rd-party camera apps. It should be device-independent though, any Android devices can be exploited with buggy camera apps. You should try to download and install Google Camera app before July 2019 instead to test the PoC on your non-Pixel device.


text:
Why I am getting a strange DNS server in my dhcp client android phone?
Sorry for bad english.
I have a DHCP server router with IP 192.168.0.254
Everything goes well, but my phone and my tablet gets a very strange DNS 1 server: 80980492081
Here is a screenshot:

This is very strange and is getting me mad. I don't know where that strange DNS 1 server comes from. My DHCP server settings are right.
My phone is a Samsung Galaxy S5
Does anybody know what is happening?
Thank you.

DHCP? Aren't you showing the manual settings screen?

Yes. That's because to show what dhcp parameters got the phone. 1st I set as dhcp. 2nd connect, 3rd, set as static to view what parameters got.

But this window doesn't show DHCP received parameters. Even if you do what you described, it only shows previously entered manual parameters.

I do this because IP tools doesn't show this DNS 1 server. It shows the supposed right settings. Nonetheless when I try to ping a host defined in my DNS server I get error, because my phone isn't using my DNS server :(

I have confirmed:
Set right DNS server as static parameter. Changed to DHCP. Received that strange unknown DNS server. Switch back to static, and the strange DNS server setting shows. Not the last good one.

From GUI set to DHCP. Switch WiFi OFF and ON. Execute this command in adb shell: dumpsys connectivity | grep CONNECTED | grep -o 'Routes: .* DnsAddresses: [^ ]*'. This shows you the DNS and default gateway addresses received from DHCP server.

@IrfanLatif
CONNECTED | grep -o 'Routes: .* DnsAddresses: [^ ]*'                         <
Routes: [fe80::/64 -> :: wlan0,192.168.0.0/24 -> 0.0.0.0 wlan0,0.0.0.0/0 -> 192.168.0.254 wlan0,] DnsAddresses: [fe80::9e80:dfff:fe49:2081%wlan0,192.1
68.0.254,]
Routes: [] DnsAddresses: []
shell@klte:/ $
What does it mean? Am I getting an IPv6 address as DNS server?

Yes, that's an IPv6 address. Your ISP must be providing IPv6 services. You might also have an IPv6 address assigned to router from ISP. If not, disable IPv6 on router (and possibly on Android if rooted).

Problem confirmed and solved. I have deactivated al IPv6 related things in all of my hosts, and that strange address has gone away. Everything comes back to normality and working Ok again. Thank you very much Irfan Latif

An IPv4 address is a 32bit number. The common way to print an IPv4 address is to split it into 4 8bit blocks and separate them with a dot.
However an IPv4 address is also valid in it's decimal/integer representation. This decimal representation is used for your DNS IP address: 80980492081.
Converting the number in the common IPv4 address format ends up with the IP address: 218.208.63.49.
https://www.vultr.com/resources/ipv4-converter/?ip_address=80980492081

Only if you use converters which do not check the input at all. 80980492081 or hex 0x12DAD03F31 is at least a 37-bit number and does not make sense as an IP address – Vultr's converter quietly ignores the extra parts. (Besides, why would the software arbitrarily show an IP address in full-decimal format?)

@grawity Good catch. Would be interesting what Linux/Android does in such a case. If it just ignores the bits higher than 32 (uses the number modulo 2^32)?

Maybe, but in that case the number cannot possibly be coming from DHCP (as the packet format only has a 32-bit field) – it can only come from manual input or from some unusual software bug.


text:
How to know if USB drive was detected using OTG from dmesg output?
I am trying to get OTG to work with my phone (Samsung Galaxy Win SHV-E500L, previous question here)
I have used an externally powered USB hub and connected it to an OTG cable connecting it to my phone, and the USB drive is inserted into the hub
Here is the dmesg message before connecting the USB drive:
https://pastebin.com/29fHksyz
This is the content of the dmesg.log file.
Here it is after:
https://pastebin.com/rGdgzfBm
The two look different so it must have detected something, but I am not sure what to look for. How can I determine if my phone can use OTG or not from these messages?
EDIT 1---
Here is the output after doing as instructed in the comment :

Please post the output in understandable form. There is a time frame
  missing in between both of your outputs. Do dmesg -C; dmesg -w 2>&1 |
  tee /sdcard/dmesg.log. Immediately connect USB. Within a second or
  two, as soon as some output comes from kernel, break the command (Ctrl
  ^C). Share dmesg.log file.

https://pastebin.com/BKaPCT3L

Maybe "external MMC(SD)" On/Off

Please post the output in understandable form. There is a time frame missing in between both of your outputs. Do dmesg -C; dmesg -w 2>&1 | tee /sdcard/dmesg.log. Immediately connect USB. Within a second or two, as soon as some output comes from kernel, break the command (Ctrl ^C). Share dmesg.log file.

@IrfanLatif You mean connect USB first, then give the command dmesg -C; dmesg -w 2>&1 | tee /sdcard/dmesg.log then immediately disconnect USB as soon as I see some text? Did I get it correctly? Or do I give the command first then connect USB?