text:
Removing SMScontactsbackup folder
I have read a similar post here
Accumulation of APK's?
I have about 8Gb of my SDcard on a Samsung Galaxy S7 used by the apks folder within the SMScontactsbackup folder
Now from what I have read and understood (which may be wrong)
This apks folder contains the installation material for new versions of Android apps. Surely the apk should be deleted once the app upgrade has been successfully installed?
I don't have the Super Backup and Restore installed on the phone (which some people claim is the cause of the problem) but I can't be sure whether that app was installed in the past and now removed.
My question is
How do I delete this apks folder and its contents which are taking a large part of my SD card? I could not find those instructions anywhere - but maybe I missed them
Thanks
Clive

the folder is created by Super Backup and Restore app. It's used to backup and restore contacts ,sms, and apps. App backup contains only apk's, no data. Also, it backup's previous versions of app's apk which is updated on play store. You can surely delete that folder, if you're sure that you've installed all apk's and restored sms, contacts etc. You delete using any file manager app.

Also, check for  Super Backup and Restore in app list, and while uninstall it will ask permission for deleting backup folder data.

@Rahul. Thank you for taking the time to create a comment. You do not answer my questions. As I wrote in my original post , I do not have Super Backup up and Restore installed, so how can I delete it! Second, all I asked for are instructions on HOW to delete the apks folder. Again, that was clear in my original post. Do you know what I need to actually need to do or not? Thanks, Clive

have you tried deleting that folder using a file manger app(samsung file manger).

Hi Rahul, that has worked very well and freed up gigbytes of internal storage on the phone. Thanks for your help. Can you post your comment about using the file manager as a solution so I can mark it as solved and give you credit for your solution?

Super Backup and Restore application creates a folder named SMScontactsbackup on internal storage. The application is used to backup and restore contacts, call logs, sms, apps etc.
Each items are kept in separate folders.
The app also saves  each  app's previous apk's which are updated through play store.
You can delete this folder by these methods.

By removing Super Backup and Restore application from your device, it will also ask permission whether to delete folder and it's contents.
Using any file manager app (here Samsung file manager for Samsung devices),you can delete that folder from internal storage. (N.B if Super Backup and Restore application is not removed, then folder will be created again ).

Note: You need to make sure that, you've restored everything before removing app/ deleting folder.


text:
System Shared Preferences
I am new to Android. Using shared preferences each application can store key-value pairs and it can be in several modes (private, public read, etc) and the default mode is the private mode because of security issues.
I understand that if an application set the mode to 'public', it would be readable by other apps. But I am wondering if there are any system-wide shared preferences that can be read by all the applications by default? How can I find the list of all readable preferences (of other apps)? Should I enumerate all /data/data/*/shared_prefs/*.xml and see to which one I have access?

source: Stack Exchange

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

sort: votes


text:
Why are apps given the right to run whenever they want even when they keep the phone awake?
This question is quite related to (and could end up being closed as a duplicate of):
How can I stop applications and services from running?
I would probably just comment there to get clarification on the answer given but I don't have enough reputation to add comments and I have additional questions, not another answer, so adding an answer to the above seems inappropriate, so the only option I have it so ask a new question.
Hopefully I am not committing too serious of a sin expanding on the above here in a new question.
So I understand that task killers are bad and completely buy into the concept that Android itself is in the best position to allocate resources, killing apps to make room in memory for newly opened apps, etc.
I (think I) also understand the concept of Intents and how they can activate an app so simply preventing them from starting at boot isn't enough to prevent apps from magically appearing in the "running" list (and potentially causing battery consumption).
But my phone (Huawei[1] Honor 8, still running Nougat, not Oreo) has a feature where it will tell me about "Power-intensive apps" and lists apps that it deems are causing (excessive) battery consumption.  Along with the apps in the list, it provides a short explanation of why it thinks it's "power intensive" such as "High location frequency" or "Frequently wake up system" or "Keep awake", etc.
Surely apps running in the background, that I didn't even start (and have even previously closed but have restarted themselves) and are guilty of one of the above ("High location frequency" or "Frequently wake up system" or "Keep awake") are causing excessive battery use, no?
Wouldn't "Frequently wake up system" or "Keep awake" at least prevent Doze from kicking in, unnecessarily consuming battery?
And to be clear, these are apps that I have not used (i.e. opened in the foreground) since I booted the phone and are not likely apps that I feel need to be notified of any Intents.  They are apps that I couldn't care less about until and unless I specifically open them to use them.  They shouldn't be trying to "collect" information in the background since whatever collection they are doing is not useful to me.  These are not social media or messaging apps that I am interested in having information presented to me unsolicited.
To call one of them out specifically, Spotify is currently running with the "Keep awake" permission.  I am not listening to any music.  There is no need for Spotify to be trying to keep my phone awake.  I can "close" (kill) it but it will most definitely be running again at some point without me having opened it to listen to music, presumably woken up by an Intent.
Why can't we users be in charge of when apps are allowed to be awoken to run, particularly when they do things like "Keep awake", without having root our phone and install something like LineageOS that let's actually control permissions such as Keep Awake, etc. with it's PrivacyGuard (i.e. AppOps)?
[1] Yes, it's well understood that Huawei have a history of being overly aggressive with killing apps to try to preserve battery but that seems to be relaxed in their Nougat ROM (as the above linked article even confirms) as they now seem to have a whitelist of apps you want to be closed when the screen lock is activated and nothing is in the whitelist by default.  But that aside, my observations here aren't about apps being closed or killed, etc. but simply that Huawei's OS is flagging apps that are exhibiting behaviours that would appear to be affecting battery life and even moreso even just making me aware of apps that are waking up and being run in the background, exhibiting bad battery life behaviours when I didn't even start using them or won't have any interest in using any time soon and so whatever they are doing in the background (data mining no doubt), I am uninterested.  So ultimately, I want to be in control of what gets to start in the background.
App Ops - Permission manager seems to be an app to manage AppOps, but unfortunately it looks cumbersome to use.  It requires one execute adb commands to start yet some other app every time you reboot your phone, etc.  Users having more control over what apps can start based on which Intents and when should be a lot easier than this.

Firstly, reminder that VLC blacklisted Huawei phones because their resource management was too aggressive and would always kill the app in the background. Take what you see in the settings with a grain of salt. Secondly, Doze ignores wakelocks so I'm not really sure how much the apps affect it. Don't quote me on the effectiveness of this though as I'm not a dev.

AppOps can be used without using root and you can control "Run in the background" or "Auto start" or "Wake the device" settings if the apps use them. https://play.google.com/store/apps/details?id=rikka.appops&hl=en (a GUI for appops)

... and CLI solution: https://android.stackexchange.com/a/209345/218526

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


text:
How to edit two Google keep notes at the same time?
How can I use multi window or another gesture to edit to Google keep notes at the same time. I'm on Android 7.0 Nougat. I know I can use multi window, although I would appreciate it if someone could kindly let me know how to being the second window up, but I don't know if you can have the same so, such as keep, in both windows, so as to achieve my goal.
Thanks.

I actually don't think this is natively possible on Android. However there is an app that you can use, called "Parallel Windows". Unfortunately it no longer seems to be on the Play Store, but you can download it from APKMirror at this link.
To use it you need to enable its Accessibility service and permit it to draw over apps. What it does is create a swipe edge on the right of the screen. Open Keep first, and then edge and click on the bottom icon. Click on the Keep app to mirror it.
I usually tend to disable the accessibility service to disable after use because the swipe edge will otherwise stay permanently; it's up to you to use it how you want.

In case anyone comes along looking for an answer to this like me, I've been opening a browser window for keep, and the app as the second. This works for any app which is website-based.


text:
Why does a charger charges one phone but not another?
I have a charger that came with my phone, Huawei Mate 9. I recently bought another phone, Xiaomi Pocophone X1. I tried to charge the new phone with my charger (and cable) and it went into boot loops and ended up draining the battery instead of charging. I then connected it to the charger that came with it and it charged fine.
What caused this difference? I'm asking since I want to buy a backup charger and want to know what to look for (other than buying a Xiaomi original)

Strange, I would think that the Xiaomi would just go into slow charging with a non-OEM cable unless both Huawei and Xiaomi uses a similar but different protocol for each of their proprietary fast charging solutions.

To add to @MorrisonChang comment, both of them (OEMs) do not share the slightest hint about their proprietary technologies. In theory, what you faced shouldn't happen but since it did, you are better off buying a spare charger from them, rather than bother with reasons in my opinion


text:
Android Studio unable to see any connected targets, neither hardware nor virtual
In Android Studio, I can successfully do a clean build, but every time I try Run, I see the "Select Deployment Target" window say Initializing ADB, but then in Connected Devices I see .
I can create a Virtual Device, but after creating it I can't see it in the Connected Devices window.  If I go to Android Virtual Device Manager I can see the new device and several others I have created.
I can open terminal and run adb connect 192.168.1.229 (my device's wifi IP) and get a connection.  Then I can run adb devices and see it listed. But still the Connected Devices does not show it.
The idea.log repeats the following:
2018-10-29 18:36:00,808 [st Monitor]   WARN -            #com.android.ddmlib - Unable to open connection to: localhost/192.168.1.43:5037, due to: java.net.ConnectException: Operation timed out
2018-10-29 18:36:00,808 [st Monitor]   WARN -            #com.android.ddmlib - Connection attempts: 12
2018-10-29 18:36:00,825 [st Monitor]   INFO -            #com.android.ddmlib - adb restarted
2018-10-29 18:37:17,045 [st Monitor]   WARN -            #com.android.ddmlib - Unable to open connection to: localhost/192.168.1.43:5037, due to: java.net.ConnectException: Operation timed out

I have no idea why it is trying 192.168.1.43 and there does not seem to be a server running there.  Is this a setting I have to change?
Attempted fixes:

kill the adb server
restart Android studio
restart laptop
upgrade Android Studio and reinstall with default settings rather than keeping my old ones

System Details:

OSX 10.13.6
Android Studio 3.2.1
Android Debug Bridge version 1.0.40 Version 4986621

For posterity the answer was that localhost had been reassigned.  I discovered this by typing "ping localhost" at the terminal.  The solution was to add a line in etc/hosts, as Chappie said.  I have still not been able to figure out what caused it to be reassigned, nor how.  Warning that reassigning your localhost could cause some programs to cease working correctly.

I think I have the same problem,I found the key is my localhost's IP has changed,so android studio can't connect to the right IP.
Just edit /etc/hosts input this:
127.0.0.1 localhost
and restart Android studio,the problem resoved.


text:
How to install the mathematical GAP-software on an Android phone?
This was posted on MSE originally.
Please note that my only training in programming of any kind is in the context of mathematics, specifically group theory. Thus, please use minimal technical language.
The Problem:

I'm trying to get GAP on my Android phone.

(I'm using a ZTE Blade V8. I doubt that matters.
Update: I'm using a Samsung Galaxy A40 these days.)
What I have so far:
I found on the GAP forum that someone called Matan Ziv-Av compiled a version of GAP for Android that can be found here (and more specifically here).
This explains something I don't understand.
I have downloaded the latest file, last updated in 2015 (so it's gap4r6), but, upon opening it with RAR, I have been unable thus far to run the programme.
Here is a screenshot of the file I think I need to click on to get started:
(Click image to enlarge it)

I can't seem to get it working.
Please help :)
Edit:
Using Termux with the file in the screenshot above, I got this:
(Click image to enlarge it)

The original MSE question.

Have you tried installing Terminal Emulator for Android or Termux? Based on the announcement link you should be able to install either and get a Linux like environment to run your package. Of course perhaps a required step is to understand how to get around in Linux/Unix, your level of ability on that point is unclear.

@MorrisonChang I've tried the former, no luck there - uninstalled. I'm downloading the latter now.

I'm not familiar with Linux in the slightest.

Sorry don't know Termux, but this seems related: Where is the folder that Termux defaults to?. Another path could be to install your 'GAP' software on a regular PC running Linux and use an Android SSH client to remote into it, you'll need to have a network connection to make that work. Either way you'll need to have an understanding of Linux command line even if you got GAP on Android working.

@Shaun do you always get that getprop message when opening termux? That indicates that something went wrong during the app installation (or that something is weird on your phone). Could you try reinstalling the app and opening termux again to see if it persists? This github issue (sort of) describes the error: https://github.com/termux/termux-app/issues/849

@Grimler Yes. I've just tried reinstalling Termux now and, unfortunately, it made no difference. As for GAP, it's not really "installed," it's just sort of downloaded and then you run (the equivalent of) an exe file, and the same is true on a computer; so deleting it then downloading again is unlikely to work.

@Shaun the file you tried opening is the file you should run. I tried running it and there's some problems though: it will only work on android 4 and older (due to not being position independent executable (PIE)) and only works on the processor architecture arm (which your phone is AFAIK). Anyways, I've added an answer, but it requires a working termux environment, so that's something that need to be addressed

@Shaun how did you open termux? By pressing the app icon or by "sharing" the gap executable to termux?

@Grimler I shared them.

@Shaun try just opening the termux (after reinstalling it). Might be that sharing the file (without opening the app once first) makes the bootstrap installation fails and then gives the getprop message you observed

Still no luck, @Grimler, although a different output is produced. I'm quite busy at the moment but, once I have time, I'll include a screenshot of what I get in the question.

2023-08 Update
Only use Termux from F-Droid or the github repository as the version from Google Play store is no longer supported.
Be aware that Termux may be unstable on Android 12+, as Android OS will kill any (phantom) processes greater than 32 (limit is for all apps combined) and also kill any processes using excessive CPU. See README section for details and links to workarounds
0. Uninstall Google Play Store Termux

If Termux was installed from Google Play Store, save important data off of device. (If you don't have any important data, skip this step).
Delete the Google Play Store version of Termux

1. Install F-Droid
When Termux updates, it will be easier to manage from F-Droid so first install F-Droid

In your mobile browser go to https://f-droid.org/
Click on "Download F-Droid"
Install F-Droid by clicking on the downloaded package. Note if Android prompts you to "Open with", choose 'Package installer'

If you are having difficulty installing F-Droid, follow Step 2 to see if your browser is enabled to "Install Unknown Apps" and allow.
2. Give Install permission to F-Droid

Go into Settings -> Search (magnifying glass icon)
In search bar type in "Install Unknown Apps"
Tap on "Install unknown apps Apps > Special app access"
On the "Special access" / "Special app access" screen scroll down to "Install unknown apps" and click
On the "Install unknown apps" screen look for F-Droid and click
For the "F-Droid" app, enable "Allow from this source"

3. Install Termux from F-Droid

Open F-Droid
Tap the green search action button in the lower right.
Type in "Termux"
Tap on the one that reads "Termux Terminal emulator with packages" Note on the app store page there should be 'Versions' expandable which should have 0.118.0 or higher.
Install Termux

You should now have Termux in your list of available apps.
4. Launching and upgrading Termux packages

Launch Termux

Linux distributions support package management so the easiest way to install is via a package manager. Termux uses one as well which is documented in the wiki.
Following the wiki use the command highlighted in grey:

$pkg upgrade

Answer with 'Yes' to upgrades unless there is a known conflict with an existing installed package.
4a. Check if the software package already exists
As building from source takes storage space and knowledge it is best to check if what you are looking for already exists as a package.
Running the command in Termux:

$pkg search gap

Listed out

gap/stable 4.12.2 aarch64
Gap is a system for computational discrete algebra, with particular emphasis on Computational Group Theory
gap-packages/stable 4.12.2 all
Packages for gap
gap-static/stable 4.12.2 aarch64
Static libraries for gap

5. Install software package
Run the command

$pkg install gap

and enter 'Yes' you want to install. Should install gap at a cost of around 204 MB.
6. Run software package
Run gap as in other Linux/Unix-like environments

$gap

7. Leave Termux
Termux when you swipe away will maintain the session and have a status bar notification telling the user that it is still running to keep its state.
Removing the notification requires stopping Termux from running. To end Termux just execute

$exit

Notes
Termux behaves similar to a Linux/Unix-like system but out of the box you are limited to storing things within Termux app itself.
Do check the Termux Wiki to get familiar. If needed there are other Development environments available for Termux.

This is how I got it to run.
I'm using the download from here GAP for Android
Preparations:
In termux type termux-setup-storage when prompted to give termux storage permission select allow. This is to give access to the sdcard in termux.

Make sure your connected to the internet.
In termux, type pkg install wget press enter.
Now to download the file type wget my.svgalib.org/android/gap4r5-1.tar.gz then hit enter.
Extract the file type tar -zxf gap4r5-1.tar.gz hit enter.
Type cd gap4r5 hit enter.
Now we need to make a couple of changes to the script for it to run on termux. We will copy it to the sdcard Download file to be able to edit it. type cp gap.sh /storage/emulated/0/Download/ hit enter.
Now open the file gap.sh in a text editor, I used Notepad++ for Android. This file is in your Download folder.
Edit line #1 to look like this #!/data/data/com.termux/files/usr/bin/bash
Edit line #23 to look like this GAP_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" Its very important on this line to have the spaces exactly where they are and nowhere else. then save the file. (Thanks for this line goes to Dave Dopson at this post Getting the source directory of a Bash script from within
)
Go back to termux and type cp /storage/emulated/0/Download/gap.sh . (the period at the end is important) and hit enter.
Now you are ready to start using the program. to run the program make sure you are in the folder gap4r5 and type ./gap.sh. (To get to this folder when you start termux type cd gap4r5 or wherever you are in termux type cd hit enter and type cd gap4r5 and hit enter).

Good Luck!

I couldn't do step 6. My phone denied Termux the permission to execute the demand.

Did you run termux-setup-storage and give termux the permission?

I did, and I've tried it multiple times since that. It hasn't worked, I'm afraid. See this image where I get stuck on part 4. I'm sorry that this is taking me so long. (In my defence, I haven't been trying this out much over the last few weeks.)

From the error message it seems there may be something wrong with the tar file. Can you try re-downloading the file (step #3) again.

@Shaun Check the MD5 hash of the file and make sure it matches this "12CC0203386FB891D9DDCA86222797FD". If not try re-downloading the file (step #3) again.

Okay, it works now up until I try to run it. See this image.

@Shaun It seems you are denied access to the file. Do you have root access on your device? If yes then you can try running is as root. If it works you should change the user of the file so you can run it as a regular user.

Since GAP is open-source you can download the sources and compile them on device in termux or another terminal emulator (though other terminal emulators don't provide the compilation tools AFAIK).
There are quite detailed compilation instructions in the "README.buildsys.md" file in the gap source directory, have a look at that for some more details.
Here are the steps I did to compile it (after opening a termux shell), lines starting with "#" are comments and are hence suppose to help you understand what the following line(s) does.
# Install programs needed to compile gap
pkg install make clang m4
# Install some optional dependencies that probably enhance your gap experience
apt install readline-dev libgmp-dev
# Download sources
wget https://www.gap-system.org/pub/gap/gap-4.10/tar.gz/gap-4.10.0.tar.gz
# Extract sources and change to that folder
tar -xf gap-4.10.0
cd gap-4.10.0
# Create a build folder to keep source directory clean
mkdir build
cd build
# Configure the package, if you want special features you probably want to change this line
../configure
# Compile the package
make
# Run GAP!
./gap

Please let me know if you run into any errors (I might have missed some dependencies) or if I should explain something in more details.
Also note that you have to compile and run gap from termux's folder structure (/data/data/com.termux/files/), android doesn't allow executable files in the shared storage (like the external and internal sdcard).


text:
Honor 6x Bootloop, works sometimes with charger plugged
I have a Honor 6x which was working fine till yesterday. Now it just keeps restarting all of a sudden and works fine sometimes only with the charger plugged in. It restarts every 1-2 second.
Things I've done:

Removed the cache, nothing happened.
Did a Hard reset, worked but showed Data partition has damaged
seriously error.
tried flashing rom through dload, software install failed.
tried extracting the upadate.app using Huawei update extractor and
flashed them, received command not allowed error.

The phone is locked, FRP is locked, Bootloader is locked and not rooted. Also, I can only access the recovery/dload menu once in hundred tries.
With the charger plugged in, either the eRecovery menu loads by itself or phone starts normally but restarts on its own after few minutes(I made a full backup in those few minutes).
Any solution?

Remove the external SD card and see. It worked for me on Honor 6

@beeshyams Thanks but I don't use one, I'd used one just for the purpose of force flashing the firmware and currently, is out of the phone.


text:
Bluetooth signal strength bug with my car's stereo
i have problem with xiaomi mi a1 and bluetooth radio of ford fiesta car.
I connected an Android phone to a vehicle via bluetooth to make/receive calls.
Connecting the device via bluetooth was simple. Making calls, however, was a challenge. The vehicle reports that the Android phone is always without cell reception, and therefore will not place calls. Furthermore, the vehicle's head unit (aka receiver) shows a "no reception" indicator for the Android device's cell reception.
Placing calls from the Android device through the vehicle's audio system works as expected. This also shows that the Android device has ample cell reception to make calls.
with the bt hci log i see that:
when phone connects bt to radio, the phone sends this info:
+CIND: 0,0,1,3,0,4,0
legend +CIND:("call",(0,1)),("callsetup",(0-3)),("service",(0,1)),("signal",(0-5)),("roam",(0,1)),("battchg",(0-5)),("callheld",(0-2))
when the signal strength on the radio disappears and reset all (zero) the phone send this info:
+CIEV: 3,0 +CIEV: 4,0
3 = service, 0 = no service (previously was 1) 4 = signal, 0 = no signal (previously was 3)
but the phone in realty upgrade the signal strength from 3 to 4!!!!!

It is strange, it should send +CIEV:4,4. Can you view into logcat? It should contain sendDeviceStateChanged string with five indicator values.

in the bt hci log i dont' find "sendDeviceStateChanged" string :-(

my comment was not about HCI log, it was about Android system log. It can be viewed with Android apps (root is required), for example CatLog or Logcat Extreme or via USB cabel using adb logcat command (require to install drivers and adb to computer)  link But this step for diagnostics only, not sure that it can help to fix the problem.

ok, i use adb command: look here at 13:39:36.899 i read: HeadsetPhoneState: sendDeviceStateChanged. mSer
vice=1 mIsSimStateLoaded=false mSignal=0 mRoam=0 mBatteryCharge=4 but on the phone the signal from 4 decreases to 3, not to 0!!!

i found this android bug: https://android-review.googlesource.com/c/platform/packages/apps/Bluetooth/+/705648 can help me with my problem?

At first sight the source of the problem in your log is mIsSimStateLoaded=false.
The true value of the service indicator (1, available) is logged, but because of this SIM state equal to false HeadsetService sends 0 (not available) instead of 1.
The true value of the signal indicator is unknown, because of service=0 HeadsetService sends 0 instead of the true signal level indicator (this temporary 0 value is logged, in fact it is not mSignal value).
Possibly Android HeadsetService contains an error with mIsSimStateLoaded flag processing, because it can be cleared on every phone service loss, but set only on ICC_LOADED broadcast. If so it is strange because a lot of Android phones shoud have the similar problem.
Have you tried to reboot the smartphone before connecting to headunit?
Upd: Hmm, this SIM broadcast is sticky, than maybe this is bug by Xiaomi, not Android.

yes i try the reboot of the phone many times, also safe mode, but the bug stay, damn

It's really fun and strange ... but I solved the problem: I put the SIM in slot 2 of the phone ... and now it does not make any more problems, it works perfectly! but I can not use micrsd now

Always was curious how these HFP indicators work with two- or three- SIM phones, but have no time to investigate it.
Mabe your phone has a choice what SIM card is primary?

I use a single sim, I do not know how it works with 2 sim, but now I put the sim in the second slot and everything works as before when it was in the first slot

The bug is with Android 9, not Xiaomi. The issue is widespread on many Pie devices, including my Nokia 6.1 plus and all Pixel devices, many samsungs, many OP.

It is strange what developers have not fixed it, because it easy to fix for a case if only SIM card is used in two/three SIM phone. But in general case HF profile specification itself is unable to distinguish indication of different SIMs.


text:
How to unhide my review that had been hidden by app developer?
I noticed that one app that is licensed under GPLv3, while the app developer had not been publishing code updates on github for several years already. I decided to write a review on Google Play and stress this issue in it:

Since the review was added, many users upvoted it and app developer was quite angry at me. So he clicked some option, that my review was inappropriate/spam, after which it was hidden and became not seen to other users. Only I can see and edit it now, but visibility does not change.
How can I dispute this? Can I appeal to Google Play support team?

Are you referring to FBReader?

@CodeMonkey Affirmative. But I did not want to overtly state that, because which app it is, is not relevant, is it?

Not necessarily, and definitely in this case, it is relevant.

Normally, I would be right there with you about getting the code released and would go and fight with you, however they have made some changes, one of which being the licensing.
According to their website, they no longer use the GPL license, which started with version 2.7. They still have a commercial license available.

Sources
Until release 2.7, FBReader source code was dual licensed: GPL and commercial. Unfortunately, GPL violations were too regular. Since 2.7 the source code is only available for a fee. Please contact us for information about the commercial license.
The full sources of FBReader 2.6.15 for Android 2.x are available under the GPL from the git repository at GitHub.

If you were to look at the Wikipedia page, which uses a web archive page as the source, it will tell you that they use a GPL and commercial license. That need to be updated to reflect the new information.
Now, as to your review, what the app publishers are doing is correct. You are technically in the wrong. It is misinformation that you are posting and gives bad credit to the owners.

Before writing this review I checked his website and there was no information that he revoked GPL license. Also, it is still stated that it is and will always be licensed under GPL here: https://fbreader.org/content/documentation/contribution-guidelines

That guideline was written in 2011 and has not been updated since. For accurate information, I would suggest emailing support.


text:
Camera app can't access SD card anymore after formatting it as internal
I recently formatted the SD card as internal on my Android 7.1.2 (LineageOS 14.1). Now the camera app is showing an error message that it can't access the SD card anymore. The error message is: "Couldn't access SD card".
I can't find the setting to change the storage folder of the camera app.
Does anybody have an idea how to fix that?

Meanwhile, I found the solution. In the app settings, I had to delete the app data and cache. That set the settings back to default which solved the issue.

Encountered the same issue on MIUI 11.0.8.0 stable, solved by allowing the usage access permission for the camera app.
You do it by opening the Settings app - Passwords and security
Privacy - Special application access - Usage access, choose the (native) camera app, and permit usage access.
Source: xiaomi.eu forum.

Another possible cause is if an old SD card had been used as the default location for the camera, and was since removed, and the system becomes determined to save to that specific SD card only (and wouldn't allow the location to be changed while it was unavailable).
This causes the same "Couldn't access SD card" error on taking photos in the camera, and causes images attached to messages to refuse to download, Bluetooth image shares to fail as "unsuccessful", etc, despite all these apps having correct storage permissions.
What fixed it was:

Going into Storage Manager
Selecting the old, absent SD card
Choosing to "Forget" it

As soon as the old SD card was forgotten, everything involving saving images started working again, and the setting to choose where to save images was no longer greyed out.


text:
How to disable warning about listening at high volume for a long time
I use an ambient sound app through headphones while I sleep. This usually works quite well, except for the occasional night where i get woken up because Android has decided to drop the volume and display a message to the effect of "Listening at high volume for a long time can damage your hearing." I haven't managed to transcribe the exact wording yet because I'm usually grumpy and attempting to get back to sleep when it happens. I'm fairly certain that it can be displayed more than once per reboot cycle, as it was displayed last night despite my having used the phone this way numerous nights over the past couple weeks. (uptime currently shows 13 days.)
FWIW, I'm probably risking permanent hearing damage by doing this, but that seems a better bet than the certain negative effects (acuity, mood, cancer) of chronic sleep deprivation.
Is there a way to disable this "feature", with or without root?

According to the article How to Automatically Disable the High Volume Warning without Root, the warning is implemented on devices due to European legislation which stipulates that:

all electronic devices capable of media playback sold after February 2013 must have a default output volume level of a maximum 85 dB. Users can choose to override the warning to increase the volume to a maximum of 100 dB, but in doing so the warning must re-appear after 20 hours of music playback.

(The warning should only appear if your device is using an European ROM)
It is possible to disable the warning by following the methods below:

On rooted devices

If you have the Xposed framework installed, there are several modules (VolumeSteps+ (image on the left), NoSafeVolumeWarning, GravityBox (image on the right), etc) that offer the option to disable the warning.

On non-rooted devices

The article above describes methods for disabling the warning using Tasker & AutoTools
either at boot or periodically. It also has a link to download the Tasker's scripts.
In other forums, the app Hearing Saver is purported to work on non-rooted devices.
You can also go to Settings --> Apps --> Your_App --> Notifications --> enable Block Notifications
Note: I don't use Tasker that is why I have not included the process decribed in the article. However, those who are more knowledgeable with it can include the steps.

Cool, thanks.  It sounded like there are issues with running Xposed on Samsung devices so I went the Tasker/AutoTools route.  Just finished setting it up and there were a few awkwardly phrased questions and some caveats but hopefully it will work.  I'll leave another reply here in a few days when results are in.

Hmm, this didn't work (Tasker).  Still haven't found a solution for this issue.

On Samsung Galaxy S9, go to Settings, Sounds and vibration, Volume, and then click on the menu button on the top right-hand corner. The only option is the Media volume limiter. Default is turned off and the Custom volume limit is about 2/3 of the way but grayed out. Turn the setting to On and you can now slide the volume all the way up to the max.

I don't have an S9 but this doesn't sound like it addresses the issue

This works on a galaxy a14 too.

My fix for the volume has been to superglue the volume up button so it is always turning volume up. Then root the phone and remove the code in the kernel that activates the warning.

Could you give a bit more detail about how you "remove the code"? Are you recompiling the kernel or something?


text:
How to extract calendar data from the stock calendar app of Android Gingerbread (2.3.6) without a Google account?
I am confronted with an old Android phone:

OS: Gingerbread (2.3.6)
Type: Motorola XT320

It holds quite a significant amount of data in its local calendar, operated by what appears to be the stock calendar app of Android of that era. The phone is not (and has never been) connected to a Google account.
How can I extract this data onto a computer (preferably without having to create a Google account etc. since this particular data actually is not Google's business)?

I have looked at the following questions, among others:

How can data on an unrooted phone be backed up?
How to backup the Android calendar file (is there such a file)?
Full Backup of non-rooted devices

I am aware of this iCal Import/Export CalDAV app which appears to be only available in Google's Playstore - as far as I can tell a no-go without a Google account.
I have experimented with the Calendar Import-Export app from F-Droid. The good news is that it is available (and still maintained) for Gingerbread. The bad news is that it does not see my calendar. This appears to be a dead-end so far. EDIT: I just filed a bug report against it.
I am no stranger to ADB - the phone has developer options enabled. From my research and test runs, I learned that adb backup only became available with Android 4, so this is no option for me. By gaining access to a shell on the phone (adb shell) I furthermore learned that the folder /data (where according to Android's documentation the calendar data should be located) can not be accessed by a regular user. My understanding is that /data is located on the phone's internal memory (not on its SD card) where it is protected by Android's security model.
In the context of ADB, I came across this project on Github. I am not entirely sure whether or not this will work with Gingerbread. The one thing I know is that I probably need to root my phone first before I can find out. Right now, targeting content://com.android.calendar/calendars, the script exits with Querying DB: Done and content: permission denied0%.
My four options left, as far as I can tell, are:

Going through the hassle of creating a Google account and extracting my data through Google cloud (and I really do not want to go down this path).
Rooting my phone so I can access whatever is stored in /data in the hopes that I can convert it to something readable (e.g. an ical file). If I understand the documentation correctly, the stock Android calendar app stores its data in a SQLite database file. I have yet not found a definition of how this data is stored in the database (which I could use to write some code to convert it). Funny side note: I have NOT yet found a "safe" way of rooting this particular type of phone. The general advise given: Backup all your data before trying ...
Android 2 allows to connect the phone to a Microsoft Exchange service (in addition to or even instead of a Google account). Theoretically, this should allow me to set up my own Exchange service in one way or the other and to get the data out this way ...
Going through the calendar by hand and writing every event into a computer manually as well. Given the amount of time I have spent researching this, it does not appear to be the worst option ...

I'd love to hear if there are any other options left that I might have overlooked or misinterpreted ... I am pretty damn frustrated at this point.

Is the device rooted? Then you could extract the corresponding database.

@Izzy It is not (yet). As stated above, I also have not found a "relatively safe" way to do it for this particular type of phone without risking to loose the relevant data.

@Izzy I just posted a related question about how to root this phone.

OK, when you achieved that, you can copy the database of the "calendar provider" (com.android.providers.calendar) to your SD card and pull it from there.

@Izzy Is not the "calendar provider" in this form an Android >= 4 thing?

My last pre-ICS experiences are some time ago – but AFAIR it was that way even back with Eclair (Android 2.1 – the first one I actually dug into), and definitely was there with Froyo (2.2, where I long time kept a copy of /data on my computer to investigate). Check below /data/data, and you most likely will find it.


text:
Backup/dump kernel image (and full ROM) without root for Mediatek Devices
I would like to pull the boot image of my device Pipo N7. I don't have root.
I found the following link:
Backup/dump kernel image without root or twrp/cwm`
But when I try to find /dev -name 'by-name' 2>/dev/null I can't get it to work it seems I need root.
Is there any other way to get the boot image pulled without root?
P.S. I would have commented on that link but I'm not allowed to since I don't have enough reputation.

To answer my own question!
Warning, in some very rare cases this doesn't work or could be dangerous. For example, Amazon Fire devices refuse to communicate with these tools despite being MediaTek. Tools like SPFT uses a DA (for Download Agent) to communicate with the MediaTek bootloader, but the MediaTek bootloader has some configurable settings so that it only accepts DA signed by the manufacturer. There are some generic devices bricking after sending an unsigned DA.
Use at your own risk.
There is a post on Hovatek Forum that guides you thru the process of downloading the full ROM of your device without the need of being rooted. Here is the link to that post.
[Tutorial] How to use Wwr_MTK + SP Flash tool to backup Mediatek rom
This will provide you with the full rom divided into its separate image files.
This should work for any Mediatek device that's not locked.
Following is a a shortened copy of that post:
Requirements

Download and Install Vcom Preloader Driver If you need help with this please go to this link [Tutorial] How to install Mediatek USB VCOM drivers
Download Wwr_MTK tool
Download SP flash tool- Windows PC
Device using the MTK chip

Steps to download your devices ROM

Extract WwR_MTK to a folder of you choosing. Go into folder and start WwR_MTK_2.exe.
Select Auto mode from the Tabs menu.
In number 1 on this screen Select your devices chipset type from the list *). You should be able to find that info in Settings->About on your device.

Then select Memory Type. I just went with EMMC (I'm not sure where to find this info for your device).
Click on Create and save as... Save the file and note the folder you saved it to. This is temp "Scatter File" (Later you will be making a new full Scatter file with more information. This one only has info for the preloader).
Goto the folder you just saved the file to. Open in a text editor and look for the following info:

physical_start_addr: 0x0
partition_size: 0x80000
region: EMMC_BOOT_1
mark down this info as it appears in your file. (These are only example info from my file)
Extract Sp Flash Tool to a folder of your choosing. Go into folder and start flash_tool.exe.
Select the Download tab. By Scatter-loading File click onchoose` and select the scatter file you saved in step #5.
Select Readback tab. Click on Add, this will add a new line. Double click on this new line leave the name as ROM-0. Mark down the folder where you are saving this then click Save to save the file.
When you click Save a new dialog pops up in this dialog set the info as per the info you marked down from step #6 then click OK.

physical_start_addr -> Start address
partition_size -> Length
region -> Region
Make sure you device is powered off and disconnected from the computer (if you can take out the battery take it out for about 1 minute, then replace it).
Click on Read Back, now connect you device to the computer via usb cable. You should see the bottom of the screen a red progress bar then a yellow progress bar. This may take some time (about 1 - 2 minutes) until your device is recognized. Wait untill there is a pop up dialog that says "Download OK".
Return to Wwr_MTK tool, then Click on Select File at the top right hand corner. Navigate to where you saved the ROM_0 file in step #9, select this file.
Select Preloader tab from the Tabs menu. Click on `Preloader analysis, there may be incorrect info on the screen ignore it.
Click on To extract preloader and save as.. (at the bottom left of screen). Rename the file to preloader.bin and select the same folder you selected in step #5 for the temp scatter file then click Save to save.
Now we will get the length of the total ROM this is needed in order to be able to download the ROM. We will preform a RAM test in SP Flash Tools to get that info. (if you have problems with the following directions please look Here and Here)
Return to SP Flash Tools, select Memory Test tab only tick the box for RAM Test, make sure the rest of the boxes are unticked.
Turn off you device the same as in step #11. Click on Start at the top right of the screen. Connect you device via usb to computer. wait for the "Format Ok" dialog. mark down the HEX number under EMMC_PART_USER, this is the size of the full ROM.
Select Readback tab to preform a full read back of the ROM. Click on Add, double click on the new line added. Leave the name as ROM-1, click Save. Turn off device as in step #11, click Read Back, connect device via usb. Wait for the dialog stating that it went OK. This will take a while depending on the size of your ROM. Don't disconnect you device while this is working.
Return back to the Wwr_MTK tool. On the Auto mode tab in number 3 click on Select File then navigate to the location of the ROM_1 file and select it. the tool will scan the file and prompt you for the file containing the preloader select either the file 'preloader.bin' or ROM_0.
At the bottom left of screen click on Create scatter file...
The items highlighted in PINK color are usually not needed when flashing, untick them  (You may want to untick the userdata and cache as well especially if you are downloading from a device that hasn't been used or has been factory reset.).

Note that the partitions highlighted in PINK will not be appear in SP flash tool when you select the scatter file. If there is a partition highlighted in PINK which you want to include, then use the scroll bar to move to the right then change FALSE to TRUE by double clicking on it (see NVram as an example).

Go to Auto mode tab, Click on To build the firmware (Cut to partitions and create scatter file), Select the folder you want to download the ROM to. (Its a good idea to save it to an empty folder). When the tool is done you will see Done!!! in the empty space above number 4 in the tools screen.

Congratulations!!! You are now done and have a copy of your ROM in the folder you selected in step #24.
*) If your chipset doesn't appear in Wwr tool then you can manually add it in order to create the temporary scatter file.


text:
Play store downloaded more than 100%

What is happening? Play store keeps downloading after 100% how to fix this ?

I had a similar problem on a very old version of the Google Play Store. Did you try pressing "Force Stop"?


text:
Is there a widget or something I can go with IFTTT to block and unblock a contact?
I have a friend that says some pretty bad things about certain people pretty often and a lot of the time I am around those people while he's sending me those messages.
I just want a button/widget I can use to discreetly block his texts and calls quickly, like as the person is walking up to me and will arrive in less than 3 seconds.
Does that exist? Can I use IFTTT to do something like that?

Can't you just pocket your device when there is a person approaching you?

Also, it is no one's job to fascilitate bad actors, even if they are our friends. Why do you let yourself remain an enabler?

He's my son and she is my wife. He is also my best friend and I married his mother. She's nuts and questions everything.

Imagine the questions she would have if his contact incredulously disappeared from your phone in her presence all the time. Your best friend not in your phone? "What else are you hiding from me?!?"


text:
Why is the first step always 73.73 kB while downloading from Google Play Store?
My phone is a OnePlus 5T running Android 8.1. While downloading or updating apps from Google Play Store, the first step is always 73.73 kB.
I'm just curious. Is there any technical reason (e.g. file system) for that?

Interesting, I had noticed this before but never given it any thought. Just confirmed this on a Moto G5+ for both updates and new installs of apps, both on WiFi and mobile data. A Google search yielded no results... I am upvoting this question just because it has peeked my curiosity.

Speculation - you will find this file size for other OS like windows too (Google for 73.73 kB) so my guess is that is related to uninstall information. Place the files you need to uninstall first and then install.

@beeshyams Googling this is a little bit tricky. It returns similar number of results for 75.75 kB, 12.34 kB as well.

True. I'd noticed that too. But beyond that I have no idea

Downloading an app is not like a regular download where you click the link and it directly starts downloading. The download process consists of multiple HTTP requests before the actual download starts. May be those preliminary downloads are usually of the same size and add up to the shown 73.73 KB? And because the actual download request goes to a different server there is is a delay, used by the PlayStore app to update it's progress bar.

The answer to the question depends on a few different variables, such as specific internet types, always come with high latency and low bandwidth, such as some satellite hookups, or dial up hookups if used.
If you do not have a stable internet connection, and your bandwidth is not consistent enough to be that bandwidth at all times, then perhaps your phone's wifi/data chip is only pulling that fast, or there could be background network applications running that are taking up all the bandwidth. If applications besides the one you are downloading something on are open, or apps have background processes using the network, that could be a cause of it.
The last option that i can think of is you could be getting throttled by your router, check your router for anything limiting, throttling, or prioritizing anyone's IP or mac addresses. Generally 10.0.0.1, 10.0.0.2, 192.168.1.1, 192.168.0.1, 192.168.1.0 or if you know you router is using another local ip address, login using that and sometime the default user is admin, with password of admin, password, or blank in most cases.
All else fails, it must be some sort of bug in your device, the apps, or some code between your device and the server.

I don't think this is necessarily so. If it is happened with every single app, every single time, then it is something else going on than just bandwidth. Bandwidth would be way more variable than this.


text:
How to "safely" root a Motorola XT320 (running Android 2.3.6 / Gingerbread) without loosing data?
Related to this question: How to extract calendar data from the stock calendar app of Android Gingerbread (2.3.6) without a Google account?
How can I "safely" root a Motorola XT320 phone running Android 2.3.6 / Gingerbread? It is my intent to do this without loosing any data. Through root privileges, I hope to gain access to certain data on the phone (a local calendar) which I want to backup.
I have to admit I am new to this field. As far as I can tell, the most recommended app for this purpose appears to be KINGO ROOT. Unfortunately, my phone is not on the compatibility list. If I understand the matter correctly, this rules out a relatively "safe", mostly non-invasive exploit-based root approach and only leaves flashing certain parts of the ROM as an option. The latter should only be done after a backup of all essential data has been made ...
Because this phone and its OS are rather old, I was wondering whether anybody around here has any (past) experience that could help me.

have u seen this page maybe it can help https://www.oneclickroot.com/root/motorola-xt320-tnbst_4_07-23-15rps-2-3-6/

There are a few options. But you need to be cautious and do a little bit research before choosing one.
Step 1. Back up all your data to pc or sd card (if sd card then better remove it after backup is complete). For pc you can use tools like moboginey pc suit.
Next you can use one click root functionality of mobogine. Or try following guidelines here - https://www.oneclickroot.com/root/motorola-xt320-tnbst_4_07-23-15rps-2-3-6/

https://motorola-global-en-roe.custhelp.com/app/answers/detail/a_id/77416/p/30,6720,8421

Thanks. The stock calendar app in Gingerbread AFAIK does not allow to sync a (previously) local calendar to a service other than Google could.  Because I want to avoid Google cloud, syncing the data out to a calendar server of my own is unfortunately not an option.  Step 1. Back up all your data - yeah, I have seen this advice before. Hence my quest for a relatively safe option. I can not backup the relevant data without rooting the device first :( The you need to be cautious part is where I am seeking advice from people who have experience with this or similar types of phones.

Did you try using moboginey?

"Fake google account" / "outlook calendar": If you can provide a working example / set of instructions, feel free to post it as an answer to the related question :)

Create a new google account, 2. Add it to your phone, 3. sync calendar -- now data is synced with your new google account. 4. export calendar as csv from google calendar.

hope this helps. please accept the answer if it helps.

https://support.google.com/calendar/answer/37111?hl=en

[...] google account, 2. Add it to your phone, 3. sync calendar ... this really does NOT avoid Google cloud, I am afraid. This is precisely what I do not want to do (with just any Google account). When I saw the phrase fake google account I sort of expected a way avoiding to involve Google's servers / infrastructure :/ Sry, but this does not help.

Why you dont want to involve google?


text:
Galaxy Note 9 stutters on QHD resolution
I notice that when I have my Note 9's camera resolution set to QHD, 60 fps (the highest), when the camera app comes up and I see the video on the screen, ready to record, there's about a 3 second pause (the entire screen freezes as if it's too much to handle), then the video resumes, and this happens every 6 seconds or so.  Every 6 seconds, the video would just pause for a few seconds like it's trying to catch up.  When I record using QHD, I notice the same behavior when playing the video back.  The video stammers, but the audio continues seamlessly.  When I switch to a lesser resolution, the problem mostly is resolved.  What can I do to fix this?

Please refer to this link: https://www.google.co.in/amp/s/forum.xda-developers.com/galaxy-note-9/help/note-9-camera-lag-freezing-t3834632/amp/
It seems that clearing G camera cache can help temporarily. It seems to be phone issue and I would suggest that you should raise this issue in Samsung forum or seek help from Samsung service center.
Quoted from the link above

Dear trebills and others in this thread, This is Cole from Samsung Electronics’ North American offices. We would like to further discuss this issue with you. Would you be willing to provide your contact information in a private message so that one of our technical support agents can get more detailed information about your difficulty?

Thus best way would be to contact Samsung support. It seems they are also trying to debug the issue.

If you can add more information from the link you provided, it can be better.


text:
How to make phone boot automatically upon battery insertion (unlocked bootloader and root: yes)?
By battery insertion I mean current flowing on the battery pins, not the micro USB port.
Description
The phone in question is a Samsung Galaxy Xcover 4, the bootloader is unlocked, and I have root access. Its intended purpose is as a kiosk device that will be sealed inside an external hard plastic enclosure. This means that the power button is unavailable for booting the phone. The phone is powered directly from the wall by means of a custom-made battery eliminator PCB, and I need the micro USB port for host mode UART communication, which means it will never be charged/powered via the micro USB port.
What has been attempted so far
As mentioned, the device is rooted, so I've tried modifying the BOOT partition image and flashing an updated one. The modifications I've been looking at pertains to the program
/init

in the root directory. and its associated
/init.rc
/init.samsungexynos7570.rc
/...

files. For example, I was able to make the phone boot upon receiving charge via the USB port by overwriting the contents of the file
/system/bin/lpm

with the script
#!/system/bin/sh
echo b > /proc/sysrq-trigger

because /system/bin/lpm is referenced in a service specified in the charging section of /init.rc. I was also able to make it boot via USB port charging by removing the existing "on charge" triggers in the init.*.rc files, and simply adding
on property:ro.bootmode=charger:
    trigger late-init

For more details about what I did, see this link. But this is not a solution for me because I want to make it boot simply by powering the battery pins, not the micro USB port (which is preoccupied with being in host mode, so it definitely can't be charged).
Further thoughts
However, since modifying the /init.rc file changed its behaviour even while "off" (i.e. it now boots upon micro USB charging as opposed to not), this seems to tell me that the phone is never really completely off when "off", and that the /init program is constantly running as long as there is enough charge on the battery pins (please derail this thought train asap if this is completely wrong). Which would mean the kernel and the /init program should start automatically when there's sufficient charge on the battery pins. So my thinking was to simply add something along the lines of
trigger late-init

or
start <my_service>

(where my_service for example could be the lpm script I mentioned above) in an early init trigger stage, so that it would boot simply by virtue of the /init program running. But so far I've had no luck.
Does anyone know whether something like this would possible? Thanks for your time.

I soldered the pins of my Nexus 7 2012 Gen 1 and the device did start up. The soldering simulates an always-pressed power-on button.
However, I tried the same with the Nexus 7 2013 Gen 2 and it turned itself off again because the button was always pressed. So I needed to solder a capacitor and a resistor in series to simulate a short button press. This worked for me, but the software solution would be more elegant.
I could measure only a few uA when the battery is plugged in so I can't imagine a part of the bootloader powering up on the mentioned devices. My idea is now to solder the power supply directly to the micro USB port as for data only 2 pins (USB2.0) are used. USB Pins: https://www.giga.de/downloads/microsoft-windows/tipps/usb-anschluss-farben-stecker-bedeutung-und-erklaerung/ (German)
Then the device will start up with the lpm script or the fastboot oem off-mode-charge 0 change.

Buy a USB-C hub with power delivery (PD), then you can charge and use all the USB's out there, or HDD/SSD.
I've done this for a Samsung Galaxy A30s and I use one on my Chromecast with Google TV, and as long as the file is under 4GB (FAT32) like music or movies, but struggling with not getting 4K and there's no 6 channel movie player to get because I think Google hasn't connected 6 channels to other than "Streaming services", not even VLC?

This doesn't address the question, which is about the battery.


text:
Accidently renamed system/xbin to system/xbi
So i accidently renamed xbin in /system to xbi. I can't get root anymore because su is stored there and it won't work in xbi. I get a 'Connection to ui timed out' every time i try do './su'. If it helps i'm on a Samsung S4 Mini or a GT-I9195T.

Someone will probably want an answer so here are the steps I performed:
I managed to get twrp running on it with odin. (I got odin from odindownload.com, gone to twrp.me/Devices), found my device, grabbed the .tar and started odin.
I then clicked the 'AP' button and selected the .tar file. I connected the phone and pressed start. Booted into recovery by holding the
Vol up + Home +  Power key buttons.
Finally I hopped in a terminal and finally cd system;mv xbi xbin.


text:
One click Google Photos backup & sync turn on/off
Google photos has this option nested within it settings → backup & sync.
I use Xposed Edge for various gesture based activities in which you can configure an apps activity as gesture. But I am unable to find this particular activity. Is there any other way (Using any xposed module or any other way) I can configure a toggle (QS Tile will be much better) which enables or disables Google Photos sync option?

Welcome to our site. +1 for an interesting question. AFAIK, there isn't a way - that activity is not exposed outside the app . Hope you get a solution

Thanks for the reply. I have been searching for this for a long time. If I get any other solution for this I will update here.

That's a good idea :) Meanwhile,please continue to contribute to this site


text:
WhatsApp Android: Auto move images
Is there any way to automatically move images from different person to different folders?

Related. WhatsApp uses own ways which are not exposed to other methods of automation , so I don't think it is possible

No. But WhatsApp does manage images for you. You can see all images posted in a particular chat by clicking on the Name of the group or person.


text:
How to intercept Chrome links with Advanced Download Manager (ADM)?
I have installed Advanced Download Manager (ADM), but when I try downloading a file from Chrome, it downloads the file with its Chrome download manager.
How to set-up ADM to intercept the download link on Chrome?

In addition to the recommendations made in other answer, do note a few things:

ADM can intercept downloads from within its own browser, not from other apps, except from those which are looking for a browser/downloader app.

Apps which depend on Android's activity resolver (to show chooser dialog or "Complete action using" by sending an implicit intent) can forward downloadable links to ADM (and other apps which register preferred activities as downloaders).
Apps can also query available activities for a certain intent (action, path and/or mime) type and then send explicit intent to an app chosen by user. E.g. Firefox looks for system's preferred activities for a given URL and mime type and maintains its own download preferences for all mime types.
ADM - in its AndroidManifest.xml file - registers itself for android.intent.action.VIEW, category DEFAULT/BROWSABLE, scheme http/https, all mime types and a long list of file extensions. So do other apps like MiXplorer and Firefox itself. Therefore they appears as eligible candidates when (an app through) OS looks for a downloader/browser.

Xposed module "Download Redirection" can intercept all downloads which are forwarded by apps to Android's Download Manager (com.android.providers.downloads).

But for apps which use their internal downloader, links need to be shared to ADM or copied to clipboard so that ADM can intercept them.

RELATED:

Alternative “File Open” - how ”ResolverActivity” works?

Actually, this isn't completely accurate; ADM can intercept links from other browsers, it's just that Chrome is not one of the compatible browsers.  The ADM telegram group has a robot command you can use to check the list of compatible and incompatible browsers.

@Arctiic "ADM can intercept links from other browsers". True. That's what's explained in the second point. // "Chrome is not one of the compatible browsers". True. That's what's explained in the last point.

Yes, I understand, I was specifically referring to the first bullet: "ADM can intercept downloads from within its own browser, not from other apps."  Maybe you didn't intend it as such, but that reads to me as an attribution of exclusivity.

@Arctiic you are correct. I changed the first bullet to make more sense.

Normally ADM should be able to intercept downloads automatically provided its service is running in the background.

You can check if the setting is active here: ADM Settings → Automation → Autostart service (tick box).
Secondly make sure it is activated for both mobile and wi-fi networks ADM Settings → Automation → Only via wi-fi (untick)
Also here, you need to fine tune the settings for download interception such as enabling the option when battery is low, and excluded the app from battery optimisation.

Share download links to ADM and it will start download in ADM. You can do so by long pressing on download button and selecting share link option.


text:
WhatsApp chats disappearing randomly
In WhatsApp, random messages are disappearing from chats chronologically. Messages from earlier dates are missing. Not all of them disappeared. It's happening randomly. Like if I asked something on WhatsApp, the reply of another person is missing. Also, it's happening with messages from both me and the other person. I have been facing this issue for last month when I port my number from IDEA to JIO.
I tried reinstalling WhatsApp with and without backup, but it didn't help.
What's the possible cause and how to prevent it? If it's related, I'm using a Xiaomi device.

Do you see anything like "this message was deleted"? If yes, it means that the person posting the message has deleted it for all users.
Otherwise, WhatsApp doesn't delete messages unless your phone is accessed by someone who intentionally or unintentionally deleted the messages.


text:
Prevent any Android app from changing WiFi state
At some point in the last year I noticed that my Android device (HTC 10, Android 8.0.0) WiFi would turn on even when I had it turned off. I found out there is a permission called CHANGE_WIFI_STATE, which allows apps to enable/disable WiFi on my device.
I don't want this to happen. I want to be in full control of the WiFi state, for several reasons including the desire to avoid using bad WiFi without forgetting the access point name and key.
Is there any way I can achieve this without uninstalling the guilty apps? Ideally, I'd like to revoke access to the CHANGE_WIFI_STATE permission for all apps present and future, but I would be OK with doing it per-app too.

Easiest way would be to use a Firewall. See Firewall tag https://android.stackexchange.com/questions/tagged/firewall

@beeshyams I don't see how a firewall could apply. Can you explain what you mean?

Using a firewall, configure it to permit wifi access to apps of your choice. Access /denial will be firewall rules based making it irrelevant whether the app changes the state of wifi

@beeshyams The WiFi state is still relevant because all other apps can use it when it's enabled. Unless I keep changing the firewall rules for all apps whenever I want to enable/disable WiFi. So that doesn't answer the question unfortunately.

You set the rules once to allow /deny app wise. If you want to change on need base you do it manually over riding the rules through firewall. For example app A never gets permissible to use Wifi ; app B always is permitted and so on. That's the firewall rule. You want to permit app A to use, change the Firewall settings. If this usage is not what you want, probably you should clarify more in your question

Which Android version are you using? I know only a per app solution. See https://play.google.com/store/apps/details?id=rikka.appops&hl=en You can disable that permission for the concerned apps using this app. E.g. https://i.stack.imgur.com/365aF.jpg (see the permission at the bottom).

If you're looking to do this per app basis, then you'd need to navigate to Settings→ Installed Apps → Other permissions → Change Wi-Fi connectivity (turn on or off). If it matters I use this on Xiaomi Redmi Note 4 MIUI

@beeshyams Respectfully, I think the question is quite clear if you read it carefully. I want either all apps to be able to use WiFi, or none of them, with a simple toggle to switch between the two states (exactly like how the WiFi toggle should behave!) And I want to be the only person that gets to change the WiFi state.

@Firelord Android 8.0.0

Thanks for clarifying. I understood it differently. I am not aware of a solution for this. Will retain previous comments just so that someone else does not repeat same suggestion

Netguard can also do that with on screen toggle

Quickly checked that and it works but won't make an answer of that since I have a adguard / VPN combo which I wouldn't want to disturb

You can use Android's native permission manager (appops) to debar apps from using that permission. While you can use appops command using adb, it can become a pain because you need a PC to get that job done, unless you have root access. As an alternative, there are third-party GUI frontends for appops in Play Store, of which, I use App Ops - Permission Manager. It can work with both rooted and non-rooted  phone, although, it would still be relatively painful in non-rooted mode.
The app shows tutorial at initial startup, to setup the mode to grant it the requisite privilege. After that, you just find your app in the list, and toggle that permission listed with the title "Connect and Disconnect from Wi-Fi".
Under App Ops app's settings, you can setup a template (allowing or debarring a permission) which would apply on all the newly installed apps.

OK I figured out how to do all that but unfortunately CHANGE_WIFI_STATE doesn't appear in the list of permissions in App Ops, even for apps that I know have the permission. This seemed so promising but it didn't solve the problem. Thanks anyway.

@TheQuickBrownFox The permission is listed with the label "Connect and Disconnect from Wi-Fi". It is hard to believe that the permission cannot be found because I have attached a screenshot in the answer actually. If you have a particular app bothering you, let me know as I would try to test it and then modify my answer accordingly.

"Connect and Disconnect from Wi-Fi" isn't there. It's not listed in the "All permissions" section of the app which lets you "View all permissions supported by your system", so I suppose it's not available at all. My phone is not rooted, by the way.

The possible problem might be that the protection level of permission became lower. The category of CHANGE_WIFI_STATE permission moved from "Dangerous" to "Normal". The link for Google Git. This means that permission to change the state of WIFI is granted automatically to application, and app doesn't need to ask for permission during running time to turn it on or off.

Go to settings -> permissions -> modify system settings and disable all apps' access to the same.
In your device you might find this setting at slightly different location.

Although you mentioned using Android 8 (You can get unofficial LineageOS on your HTC 10 device - at the expensive cost of failing SafetyNet verification - so you can choose android 9, 10 and even 11), the following applies on Android 9 and up:
Since Android 9, the setting for allowing or denying apps access to change wifi state is found under: Settings > Apps & Notifications > Special app access > Wi-Fi control.
You would have to deny access one by one, manually.


text:
Forgot Pattern and now cannot Erase Remotely
So I ended up forgetting my pattern lock. (I'm sure I remembered it yet no luck.  Maybe too many attempts and no info from google)
I went to Android Device Manager and tried the lock function to set a password, but received the dreaded "this device is already locked" so the password I set isn't used.
Then I rebooted the phone.
Then after some more pattern attempts I decided to just erase it and hope the google backup sync has my data, otherwise my adb backup from 1 month ago should be good.
So I went back to Android Device Manger to try erasing it, and now it cannot connect to the phone!!
The sim is just fine.  It is connected to my home wifi and has full bars on cellular.
What are my options?
How can I contact google?  There is no contact phone or chat support!
(Running Android 8 or 9 on Pixel 2)

Needed to boot into recovery mode.
You can follow the video here https://www.youtube.com/watch?v=YFaq4g-oa2Q, but these are the steps:

Press and hold the power button for a few seconds
Tap the Power Off option when the Power Menu appears
Wait for the Pixel 2 or Pixel 2 XL to completely turn off
Then press and hold the Power button and the Volume Down button at the same time
Continue holding these two buttons down until you boot into Fastboot Mode
Press the Volume Down button twice until Recovery is highlighted
Then press the Power button to select this option
Wait for the Pixel 2 to reboot and the splash screen to appear
Hold the Power button, and press the Volume Up button once and release.  You should you see the transition to Recovery Mode screen - let go of the power button.

Wipe the phone and reboot.
Now you can restore from cloud backups through the setup screens.

Here is the worst part:
A while back Google disabled the feature of using your google account instead of the pattern lock when locked out.  Everyone complained.  Now after wiping, it says you must use the old pattern, but it also has the option to bypass using your google account!!! Incredible!
Update:
Unrooted backups restore almost nothing! Surprise!
(Good thing I had a solid 2FA restore plan.)
To gain real backups (untested!) you must root, which would open up security holes.
Sorry google, I'm going back to apple and never coming back.


text:
How to make a full backup and restore (including ROM) using Windows PC via USB?
This should be simple, but apparently, it is not.
I want to make a full backup of my Xiaomi MI A2 (ROM, App, Data, All) to my Windows PC via USB.
If there is a problem (boot loop, crash, anything), I want to restore the entire backup to it so that it stays EXACTLY the same as before the backup (same ROM, same apps, same data, anyway, all the same), like a time machine.
How to do this?

Did you find a solution for this?

Flash (or temporarily boot) a custom recovery like TWRP, and you'll be able to make a Nandroid backup. It typically includes the boot image, the system image and your internal data (excluding Pictures, Musics, Downloads etc.).
When you restore a Nandroid backup, everything goes back to the exact state before the backup.
You won't be able to back up the boot image and the system image easily otherwise.
You can read more at the tag wiki of our nandroid tag.
Note: Even booting temporarily into TWRP requires an unlocked bootloader (if it's previously locked). If you haven't previously unlocked it, be aware that doing so wipes out all data on your phone, including your internal storage where your pictures, musics and downloads reside.

If TWRP is not an option for you (locked bootloader, unsupported device etc), you may want to check out Helium. Helium is a no-root adb-based solution similar in principle to TWRP. It transfers (bi-directional) apps and also the critically important app data. There are two installs, the app on your android and the companion program on your PC.
If (big if, I know) you know where all your files are, you could just use an ftp server on your android to push to and pull from PC.
Check out Where Android apps store data? if you'd like to go that route. And if you're new to FTP, there's a good tutorial at https://www.guidingtech.com/use-ftp-server-file-transfer-android/
Hope this helps.

Sorry, but this is not helpful. Helium is not the similar to TWRP in principle. TWRP doesn't care whether the app permits its backup or not, as it works on file level, while Helium uses backup service of Android and that service backs up an app if the latter permits it. Besides, OP wants a solution which makes an exact copy of everything. Helium obviously cannot do that.

My intent with mentioning Helium was to provide a partial solution option in case TWRP was not an option for the OP. With my own constraints, TWRP was not possible.I'm not aware of an "exact copy" solution and if there is one, I'd lovbe to learn about it. Will keep an eye on this thread for that.


text:
How to backup the entire device from a computer and mount any of the bakup partitions in Linux?
I am looking for some tutorial or help to be able to make a backup of all Android partitions directly on my computer and be able to mount each of them from Linux to view them.

Making backup is possible but all of them don't have mountable filesystem. You can mount /data, /system, /cache and a few others with ext4, f2sf, fat etc. filesystem. Even you can mount directly from  phone using UMS. Do you have root and custom recovery?

I don't know if it will work for your particular device and OS but I think this script is straight forward and you will be able to get the general idea and modify accordingly.
It first lists the content of /dev/block/platform/[xxxxx]/by-name directory (differs from device to device) then loops through the content files which in this case are partition names of your particular device. In each iteration it trims the 0x0d (carriage-return "\r") character that is added at the end of each file name, then it uses cat to print the partition to stdout of your terminal but we must also handle 0x0d (carriage-return "\r") byte that is added before newline(0x0a) before printing, then it calculates the md5sum of the output file which you can compare to the md5sum of the partition in your device to be sure there is no corruption.
#!/bin/bash
BY_NAME_DIR="/dev/block/platform/sprd-sdhci.3/by-name"
for partition in $(adb shell ls $BY_NAME_DIR)
do
            partition=$(tr -d '\r'<<<$partition)
            echo Backing up $partition partition
            adb shell "su -c cat $BY_NAME_DIR/$partition 2> /dev/null"|sed 's/\r$//' > ${partition}.img
            echo Calculating md5sum
            md5sum ${partition}.img > ${partition}.md5
            echo Done backing up ${partition}
done

You can also refer to this question to see how you can handle the added "\r"(0x0d) characters

Make sure the transfer is done in binary mode (adb exec-out instead of adb shell), or the images might turn out broken. Doing so, you can also omit the sed part, as exec-out should take care for that. I'd also remove the 2> /dev/null part (at least while testing) so you see when something goes wrong.


text:
Photos in DCIM folder visible on phone, not visible via USB
I use a RedMi 3S (Android 6.0.1), non-rooted and fully updated.
I have a large number of photographs in my DCIM/Camera folder (in my "Internal Storage"). They're visible via the Gallery app, File Manager, and even visible and accessible via an SFTP server that I set up on the phone.
However, if I connect the phone to a PC with a USB cable, and choose either PTP or MTP (Files or Photos respectively) - I don't see these photos. I do see the DCIM/ folder, and one of the other subfolders there (named Screenshot) but DCIM/Camera is suspiciously missing.
Why is this happening and how can I transfer my photos over USB?
Notes:

Unlike the highly related question, the issue here is not the out-of-date media manager database; I just performed a "rescan", and it didn't change anything.

MTP always sucks. If you have root, use UMS for extreme data transfer speed for larger data. Or use adb pull/push.

@IrfanLatif: And seeing how I've not rooted the phone?...

adb pull isn't a bad option

@IrfanLatif: What would be the command I need to type? I have adb installed on Linux.

Enable USB debugging on phone from Developer Options. Connect phone to PC and pass key pairing, then execute: 'mkdir Camera; cd Camera; adb pull /sdcard/DCIM/Camera'. Whole Camera folder will be copied to PC. However adb doesn't allow listing the contents of a folder (like ls or dir command does). MTP let it be done through File Explorers on Windows and many Linux distros.

MTP client makes different requests (https://en.wikipedia.org/wiki/Media_Transfer_Protocol#Direct_modification_and_partial_transfer_features) to "MTP Host" app on Android which works through a files database (MediaStore) built by "Media Storage" app (/data/data/com.android.providers.media/databases/external.db). If this database isn't updated as the files change, you need to force its updation. Delete this file and run some media scanner app from Play Store (restarting phone may not update whole database though MediaScannerReceiver broadcast receiver is launched on boot).

Non-root users can delete this file by clearing data of "Media Storage" app. But be cautious. It'll also clear internal.db which will make ringtones etc. unavailable. Once the database is updated, MTP will show all contents of internal SD Card on PC.

Other options include transferring data through network, while connecting to Wi-Fi. SSH (SFTP, SCP, SSHFS) NFS, CIFS, FTP are all client-server protocols that can be used for the purpose. NFS, CIFS and SSHFS also allow mounting of the shared directories so that contents can be listed, copied, moved, renamed and deleted using GUI File Explorers easily. However data transfer speed over Wi-Fi is slower than USB cable, depending on multiple factors. But after all, you can't compete UMS when it comes to speed and reliability.

Possible duplicate of Why my DCIM folder is empty seen in the computer but not empty in the phone

@einpoklum if your computer has support for Wi-Fi, you can use KDEConnect app (install its counterpart in Linux; works on non-KDE desktops too -- requires some dependencies) from Play Store in your device. Works fine and quite about every time. I use it to get notifications from the device and I can access my device through it on Linux. Otherwise, you can read https://android.stackexchange.com/q/91900/96277

@Robert: See edit

Try connecting your phone in unlocked state.

As you point out you're using Linux, I strongly recommend taking a look at adbfs. You can use that to mount the entire device to your computer and access it as if it were local. I'm using it for years and am very satisfied with it (including the support).

download/clone the repo
follow the install instructions (on the linked page)
create yourself a "mount point" (where you want to see the Android device, e.g. /home/foobar/droid)
attach your device (USB debugging enabled) via USB
verify with adb devices that it's there
mount it: adbfs /home/foobar/droid
access everything the non-root user has access to – including the photos – read/write
when done, unmount: fusermount -u /home/foobar/droid

(of course, once it's working you'll only need to repeat steps 5/6 to 8)
When mounted, it's available like any local file system – so you can access it from the shell, or use a graphical file explorer, or access it with whatever programs you want. As Irfan pointed out: MTP sucks (isn't it a MS product?) – but adbfs never let me down.

Have you adjusted your configuration accordingly? Pointer: How do I get my device detected by ADB on Linux?


text:
Pause audio when Google maps speaks
iOS has a nice feature, where any audio playing pauses when Google maps starts talking.  I was looking for a setting that might do this on my Samsung Galaxy S9+, but I can't find it. Is is possible?


text:
Use Samsung or Google account for automatic backup?
On my Samsung Galaxy S7 with Android 8.0 I'm logged into both a Samsung account and a Google account. Both of these offer cloud backup and data synchronisation of settings and documents, but I'm unsure which I should use, because it's not clear to me what each does exactly.
What I'm looking for is an automatic backup of settings, contacts, messages, downloaded files, photographs, ... in case my phone is stolen or lost or I have to do a reset for some reason.
This doesn't have to be done immediately; I'd be ok with data being uploaded once a day, or even every couple of days for things like photographs.
At the moment it seems that both the Samsung and Google account have some degree of backup/syncing switched on, but they're probably doing the same thing twice, and they may get in each other's way if I ever want to restore data.
Since I'm already using a lot of Google services (Gmail, Calendar...) it seems a logical choice to go with the Google account, but I don't want to completely disable the Samsung account, because I want to keep the "Where's My Phone?" functionality.
So, what would be the best way to set up automatic backups, and how do I avoid the Google and Samsung backup functionality doing duplicate work or getting in each othere's way?

If you are going to switch phones to another Samsung brand in the future, use the Samsung backup.
If you switch to a different android phone manufacturer, then use Google backup.
However, there is no reason not to use both. All of the Google service stuff, to my knowledge, does not backup with Samsung, and vice-versa.
As for restoring apps and data, I do not think they will collide.
You could also change what each is backing up. Say for instance, let Google save off the Apps and other google service things, and let Samsung do the rest.


text:
How to prove that the bootloader of a device is unlockable when it currently shows as locked?
A newly bought Pixel device from a random seller can switch between carriers but the bootloader shows as locked.
Are all pixel devices' bootloaders locked by default? And how to show that it is possible to unlock the bootloader? And how to re-lock it for Pixel 2 XL. Any sources would be appreciated.
This phone is model G011C.

Locked by default. As long as it's not a Verizon variant it can be unlocked and relocked.

The question is how to PROVE it is not a Verizon variant. This phone is model G011C.

All Pixel's are bootloader locked by default, Google retail models can be unlocked easily while Verizon models cannot.
In the comments, you said "The question is how to PROVE it is not a Verizon variant. This phone is model G011C."
The model G011C is the Google Retail version, the Verizon version has a model of GA00152-US. Also, determining whether it's a Google or Verizon version is not difficult by other methods.
Method 1:
Go to the device Settings Menu, About Phone, and tap the Build Number repeatedly to enable Developer Options and then open that menu. If the OEM Unlocking option grayed out and it says "connect to the internet or contact your carrier" then you have the Verizon model.
Method 2:
Obtain the IMEI number and go to Verizon's BYOD Checker site and enter your IMEI number. If it is NOT a Verizon version, the message will be "PIXEL 2 XL NON-VZW" if it is a Verizon variant the message will be "PIXEL 2 XL VZW" or just "PIXEL 2 XL".
Method 3:
Chat with Google support and give them the IMEI number, they can tell you if the device is a Google Retail variant, or a Verizon variant.
And to answer the second portion of your question, "And how to re-lock it for Pixel 2 XL", this is a simple fastboot command away. Just enter fastboot flashing lock when the device is in the bootloader - Source
All non-Verizon versions can have the bootloader unlocked simply by enabling OEM Unlocking in the Developer Options menu, and using the fastboot command fastboot flashing unlock. No Verizon version of the Pixel 2 can have the bootloader unlocked by any known method.
Also, I don't know if your original question is mis-tagged or not, but you also used the sim-unlocking tag. SIM lock or carrier lock is something else entirely than bootloader lock (related to custom ROMs & TWRP tags). No Pixel device is SIM/carrier locked regardless of where it is purchased originally, or even can be SIM locked to my knowledge. Many people bought the Verizon version of Pixel & Pixel 2 outright from Verizon stores as they had them instock and immediately took them to different carriers with no issue.

The tag was just an accident. Of course, the question has nothing to do with carrier locking. Method 2 is good. So, the question is if the model is listed as "PIXEL 2 XL NON-VZW", does that mean the bootloader is unlockable? Or is the bootloader unlockable on both versions? (Also, Verizon model numbers are not G001C as you've said - they clearly sell a model number GA00152 in USA). Maybe you can edit the answer with that?

@Zac The bootloader can be unlocked on all non-Verizon versions. Only the Verizon version cannot be unlocked. You are correct about the model numbers, I will update my answer accordingly.

My devices is reported to be PIXEL 2 NON-VZW, but I can see "connect to the internet or contact your carrier" in dev options screen, hence unable to unlock the bootloader anyhow. @acejavelin, what does this mean? Is it possible that my device is some 3rd type? (I'm not the first buyer of the device, hence I do not know where from it's bought). Thanks for any help.

@andranikAzizbekyan No, there is no third type. I would contact Google support.


text:
Nexus 5X keeps making notification sound without any notification
I've a Nexus 5X on Oreo that has recently been making notification sounds when I wake it up from sleep. However, there are no visible notifications. I tried to look at logcat to see if there are any logs that coincide with the notification sounds, but it's too noisy. I did notice the following though, but I'm not sure if they're the culprit.
11-07 17:01:49.997  3460 17021 I WifiService: getConnectionInfo uid=10124
11-07 17:01:49.998  3460 17021 D WifiPermissionsUtil: Denied: no location permission
11-07 17:01:49.998  3460 17021 D WifiPermissionsUtil: Denied: The current config is not for an open network.
11-07 17:01:50.003  3460  4950 I WifiService: getConnectionInfo uid=10124
11-07 17:01:50.004  3460  4950 D WifiPermissionsUtil: Denied: no location permission
11-07 17:01:50.004  3460  4950 D WifiPermissionsUtil: Denied: The current config is not for an open network.
11-07 17:01:50.009  7249  7249 W Notification: Use of stream types is deprecated for operations other than volume control
11-07 17:01:50.009  7249  7249 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
11-07 17:01:50.039 31569 31627 D Avrcp   : AudioManager Player: ID:23 -- type:android.media.SoundPool -- u/pid:10035/3869 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.039 31569 31627 D Avrcp   : AudioManager Player: ID:3639 -- type:android.media.MediaPlayer -- u/pid:10035/3869 -- state:idle -- attr:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.039 31569 31627 D Avrcp   : AudioManager Player: ID:15 -- type:android.media.SoundPool -- u/pid:1000/3460 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.039 31569 31627 D Avrcp   : AudioManager Player: ID:31 -- type:android.media.SoundPool -- u/pid:1027/6162 -- state:idle -- attr:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.039 31569 31627 D Avrcp   : AudioManager Player: ID:3631 -- type:android.media.MediaPlayer -- u/pid:10035/3869 -- state:started -- attr:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.039 31569 31627 D Avrcp   : AudioManager isPlaying: true
11-07 17:01:50.062  3114  3114 D NuPlayerDriver: NuPlayerDriver(0xf1414200) created, clientPid(3869)
11-07 17:01:50.082  3114 13299 D GenericSource: FileSource remote
11-07 17:01:50.094  3460 17021 I WifiService: getConnectionInfo uid=10124
11-07 17:01:50.094  3460 17021 D WifiPermissionsUtil: Denied: no location permission
11-07 17:01:50.094  3460 17021 D WifiPermissionsUtil: Denied: The current config is not for an open network.
11-07 17:01:50.097  3114 13298 D NuPlayerDriver: notifyListener_l(0xf1414200), (1, 0, 0, -1), loop setting(0, 0)
11-07 17:01:50.099  7249 13274 W Notification: Use of stream types is deprecated for operations other than volume control
11-07 17:01:50.099  7249 13274 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
11-07 17:01:50.113  3460  3510 I ActivityManager: Start proc 13301:android.process.acore/u0a1 for content provider com.android.providers.contacts/.ContactsProvider2
11-07 17:01:50.116  3460  3460 E NotificationService: Muting recently noisy 0|info.kfsoft.android.TrafficIndicator|2131623986|null|10124
11-07 17:01:50.314 13301 13301 I ContactsPerf: VoicemailContentProvider.onCreate start
11-07 17:01:50.348 13301 13301 I ContactsPerf: VoicemailContentProvider.onCreate finish
11-07 17:01:50.401  3114 13289 I NuPlayerDecoder: [audio] saw output EOS
11-07 17:01:50.483 13301 13316 D ContactsDatabaseHelper: WAL enabled for contacts2.db: true
11-07 17:01:50.608 31569 31627 D Avrcp   : AudioManager Player: ID:23 -- type:android.media.SoundPool -- u/pid:10035/3869 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.608 31569 31627 D Avrcp   : AudioManager Player: ID:3639 -- type:android.media.MediaPlayer -- u/pid:10035/3869 -- state:started -- attr:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-07 17:01:50.608 31569 31627 D Avrcp   : AudioManager isPlaying: true

PID=3460 is for system_server, and location setting is on(high accuracy), so I'm not sure why it's complaining of a permissions problem.
Tried dumpsys audio when I hear the sounds, and based on the timestamps, here are the relevant output:
Audio event log: focus commands as seen by MediaFocusControl
11-09 08:50:29:151 requestAudioFocus() from uid/pid 10035/3869 clientId=android.media.AudioManager@8aef0d8 callingPack=com.android.systemui req=3 flags=0x0 sdk=27
11-09 08:50:32:129 abandonAudioFocus() from uid/pid 10035/3869 clientId=android.media.AudioManager@8aef0d8

Audio event log: playback activity as reported through PlayerBase
11-09 08:50:29:120 new player piid:9887 uid/pid:10035/3869 type:android.media.MediaPlayer attr:AudioAttributes: usage=USAGE_UNKNOWN content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
11-09 08:50:29:120 player piid:9887 new AudioAttributes:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-09 08:50:29:121 player piid:9887 has OP_PLAY_AUDIO:true in uid:10035
11-09 08:50:29:652 player piid:9887 state:started
11-09 08:50:29:654 releasing player piid:9879
11-09 08:50:30:156 new player piid:9895 uid/pid:10035/3869 type:android.media.MediaPlayer attr:AudioAttributes: usage=USAGE_UNKNOWN content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
11-09 08:50:30:157 player piid:9895 new AudioAttributes:AudioAttributes: usage=USAGE_NOTIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
11-09 08:50:30:157 player piid:9895 has OP_PLAY_AUDIO:true in uid:10035
11-09 08:50:30:686 player piid:9895 state:started
11-09 08:50:30:688 releasing player piid:9887
11-09 08:50:32:129 player piid:9895 state:stopped

Audio event log: force use (logged before setForceUse() is executed)
11-09 08:50:32:130 setForceUse(FOR_MEDIA, FORCE_NO_BT_A2DP) due to setBluetoothA2dpOn(false) from u/pid:1000/3460

Any idea?

Did you, by any chance, enable screen unlocking sounds under Settings -> Sound & Vibration? If not, can you try "adb shell dumpsys audio" when the device makes that sound. You might be able to get something more from there. And there is dumpsys notification (though I don't think it is a notification, but still possible). There are also various media related services which ca help you find the problem and you can find them through adb shell 'dumpsys | less'.

Screen unlocking sound was on, but that's not it since it's several sounds when I turn the screen on, not just one, and the sound starts once the screen is on, even on the lock screen. Anyway, I've disabled the screen unlocking sound and it still happens. Will take a look at the adb command soon.

Added dumpsys audio output, any ideas?

Do you have NFC enabled and an NFC card or something similar nearby. It is just a hunch but would you try disabling NFC and observe whether the issue persists?

No, it's not the same notification sound as when an NFC card is nearby, I know that sound. Just realized that the notification sound comes on twice in quick succession whenever I turn my screen on.


text:
Motorola Nexus 6 won't show its filesystem
I've had a Motorola Nexus 6 for some time now, and I tend to be a bit static with it -- I'd uploaded the majority of my music library at the time and then didn't change much for a long time.
Now I recently purchased a number of new songs and wanted to upload them to my phone, but when I plug it into a computer (any computer I've tried so far, two linux systems and one windows 10) they recognize the Nexus 6, but when I try to open it in a file manager they only show an empty folder. Rebooting either the computer or the phone had no effect.
When I attempt the same thing on my Samsung Galaxy tablet, the tablet prompts me to enable sharing and after I confirm that I can browse the filesystem on my tablet, but the Nexus 6 phone never shows me that dialog.
It's entirely possible that I accidentally enabled a security feature and forgot about it; can anyone offer suggestions where I should start looking?

It took a lot more searching than I liked, but this question put me on the right track.
What you need to do is connect via USB, then unlock the phone and drag the top bar down. One of the notification areas will say "USB charging this device", and when you tap it you're offered the choice of USB charging, MTP file sharing, PTP photo sharing, or MIDI passthrough. Selecting MTP filesharing will let your computer browse your phone's files.