text:
Tasker | Intent Received | access Extras via tasker variables
I have Tasker send an Intent to Weather Ace then listens for an Intent Received. Upon receiving the responding Broadcast Intent from Weather Ace, the Extra fields are supposed to be available via local Tasker %variables but when I try to flash them to the screen, something goes wrong.
I do get a flash to the screen but it seems that all the variables are empty except some indices in the %evtprm() array.
Here's my triggering task, the listening profile, and the flashing task:

DESCRIPTION FORMAT
Weather Ace: Send Weather Data (79)
    A1: Send Intent [ Action:mycodefab.aleph.weather.WEATHER_DATA Cat:None Mime Type: Data: Extra: Extra: Extra: Package: Class: Target:Broadcast Receiver ]

Profile: Weather Ace: Weather Data (9)
    Event: Intent Received [ Action:mycodefab.aleph.weather.WEATHER_DATA Cat:None Cat:None Scheme:* Mime Type:* ]
Enter: Weather Ace: Response Handler (27)
    A1: JavaScriptlet [ Code:var nl = "\n";

var output = "";

output =  `intent_data: ${
    local("%intent_data") + nl
}`;

var forEachCount = 0;

evtprm.forEach(
    function(item){

        forEachCount++

        output += `Event Param ${

            forEachCount

        }: ${

            item + nl

        }`;

    }
);

output += `request_tag: ${
    local("%request_tag") + nl
}`;

output += `error_desc: ${
    local("%error_desc") + nl
}`;

output += `api_version: ${
    local("%api_version") + nl
}`;

output += `place_name: ${
    local("%place_name") + nl
}`;

output += `place_lon: ${
    local("%place_lon") + nl
}`;

output += `place_lat: ${
    local("%place_lat") + nl
}`;

output += `place_autofollow: ${
    local("%place_autofollow") + nl
}`;

output += `is_day: ${
    local("%is_day") + nl
}`;

output += `updated: ${
    local("%updated") + nl
}`;

output += `weather_desc: ${
    local("%weather_desc") + nl
}`;

output += `type: ${
    local("%type") + nl
}`;

output += `current: ${
    local("%current") + nl
}`;

output += `datetime: ${
    local("%datetime") + nl
}`;

output += `temp_max: ${
    local("%temp_max") + nl
}`;

output += `temp_min: ${
    local("%temp_min") + nl
}`;

output += `pressure: ${
    local("%pressure") + nl
}`;

output += `humidity: ${
    local("%humidity") + nl
}`;

output += `windspeed: ${
    local("%windspeed") + nl
}`;

output += `windspeed: ${
    local("%windspeed") + nl
}`;

output += `windspeed_gusts: ${
    local("%windspeed_gusts") + nl
}`;

output += `weather_id: ${
    local("%weather_id") + nl
}`;

output += `dewpoint_max: ${
    local("%dewpoint_max") + nl
}`;

output += `dewpoint_min: ${
    local("%dewpoint_min") + nl
}`;

output += `sunrise: ${
    local("%sunrise") + nl
}`;

output += `sunset: ${
    local("%sunset") + nl
}`;

output += `wind_degree: ${
    local("%wind_degree") + nl
}`;

output += `precipitation: ${
    local("%precipitation") + nl
}`;

output += `pop: ${
    local("%pop") + nl
}`;

output += `cloudiness: ${
    local("%cloudiness") + nl
}`;

output += `uvi: ${
    local("%uvi") + nl
}`;

output += `visibility: ${
    local("%visibility") + nl
}`;

output += `feelslike_max: ${
    local("%feelslike_max") + nl
}`;

output += `feelslike_min: ${
    local("%feelslike_min") + nl
}`;

output += `name: ${
    local("%name") + nl
}`;

output += `coords: ${
    local("%coords") + nl
}`;

output += `autofollow: ${
    local("%autofollow") + nl
}`;

output += `timezone: ${
    local("%timezone") + nl
}`;

flashLong(output); Libraries: Auto Exit:On Timeout (Seconds):45 ]

XML FORMAT Firing Task
<TaskerData sr="" dvi="1" tv="5.7.1">
    <Task sr="task79">
        <cdate>1556200360404</cdate>
        <edate>1557607436237</edate>
        <id>79</id>
        <nme>Weather Ace: Send Weather Data</nme>
        <pri>100</pri>
        <Action sr="act0" ve="7">
            877
            <Str sr="arg0" ve="3">mycodefab.aleph.weather.WEATHER_DATA</Str>
            <Int sr="arg1" val="0"/>
            <Str sr="arg2" ve="3"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
            <Str sr="arg5" ve="3"/>
            <Str sr="arg6" ve="3"/>
            <Str sr="arg7" ve="3"/>
            <Str sr="arg8" ve="3"/>
            <Int sr="arg9" val="0"/>
        </Action>
    </Task>
</TaskerData>

XML FORMAT Listener Profile
<TaskerData sr="" dvi="1" tv="5.7.1">
    <Profile sr="prof9" ve="2">
        <cdate>1557374196351</cdate>
        <edate>1557605085547</edate>
        <id>9</id>
        <mid0>27</mid0>
        <nme>Weather Ace: Weather Data</nme>
        <Event sr="con0" ve="2">
            599
            <Str sr="arg0" ve="3">mycodefab.aleph.weather.WEATHER_DATA</Str>
            <Int sr="arg1" val="0"/>
            <Int sr="arg2" val="0"/>
            <Str sr="arg3" ve="3"/>
            <Str sr="arg4" ve="3"/>
        </Event>
    </Profile>
    <Task sr="task27">
        <cdate>1555907929554</cdate>
        <edate>1557605755446</edate>
        <id>27</id>
        <nme>Weather Ace: Response Handler</nme>
        <pri>6</pri>
        <Action sr="act0" ve="7">
            129
            <Str sr="arg0" ve="3">var nl = "\n";

var output = "";

output =  `intent_data: ${
    local("%intent_data") + nl
}`;

var forEachCount = 0;

evtprm.forEach(
    function(item){

        forEachCount++

        output += `Event Param ${

            forEachCount

        }: ${

            item + nl

        }`;

    }
);

output += `request_tag: ${
    local("%request_tag") + nl
}`;

output += `error_desc: ${
    local("%error_desc") + nl
}`;

output += `api_version: ${
    local("%api_version") + nl
}`;

output += `place_name: ${
    local("%place_name") + nl
}`;

output += `place_lon: ${
    local("%place_lon") + nl
}`;

output += `place_lat: ${
    local("%place_lat") + nl
}`;

output += `place_autofollow: ${
    local("%place_autofollow") + nl
}`;

output += `is_day: ${
    local("%is_day") + nl
}`;

output += `updated: ${
    local("%updated") + nl
}`;

output += `weather_desc: ${
    local("%weather_desc") + nl
}`;

output += `type: ${
    local("%type") + nl
}`;

output += `current: ${
    local("%current") + nl
}`;

output += `datetime: ${
    local("%datetime") + nl
}`;

output += `temp_max: ${
    local("%temp_max") + nl
}`;

output += `temp_min: ${
    local("%temp_min") + nl
}`;

output += `pressure: ${
    local("%pressure") + nl
}`;

output += `humidity: ${
    local("%humidity") + nl
}`;

output += `windspeed: ${
    local("%windspeed") + nl
}`;

output += `windspeed: ${
    local("%windspeed") + nl
}`;

output += `windspeed_gusts: ${
    local("%windspeed_gusts") + nl
}`;

output += `weather_id: ${
    local("%weather_id") + nl
}`;

output += `dewpoint_max: ${
    local("%dewpoint_max") + nl
}`;

output += `dewpoint_min: ${
    local("%dewpoint_min") + nl
}`;

output += `sunrise: ${
    local("%sunrise") + nl
}`;

output += `sunset: ${
    local("%sunset") + nl
}`;

output += `wind_degree: ${
    local("%wind_degree") + nl
}`;

output += `precipitation: ${
    local("%precipitation") + nl
}`;

output += `pop: ${
    local("%pop") + nl
}`;

output += `cloudiness: ${
    local("%cloudiness") + nl
}`;

output += `uvi: ${
    local("%uvi") + nl
}`;

output += `visibility: ${
    local("%visibility") + nl
}`;

output += `feelslike_max: ${
    local("%feelslike_max") + nl
}`;

output += `feelslike_min: ${
    local("%feelslike_min") + nl
}`;

output += `name: ${
    local("%name") + nl
}`;

output += `coords: ${
    local("%coords") + nl
}`;

output += `autofollow: ${
    local("%autofollow") + nl
}`;

output += `timezone: ${
    local("%timezone") + nl
}`;

flashLong(output);</Str>
            <Str sr="arg1" ve="3"/>
            <Int sr="arg2" val="1"/>
            <Int sr="arg3" val="45"/>
        </Action>

            <nme>hd_action_help</nme>

    </Task>
</TaskerData>

XML FORMAT Listener Profile Task
<TaskerData sr="" dvi="1" tv="5.7.1">
    <Task sr="task27">
        <cdate>1555907929554</cdate>
        <edate>1557605755446</edate>
        <id>27</id>
        <nme>Weather Ace: Response Handler</nme>
        <pri>6</pri>
        <Action sr="act0" ve="7">
            129
            <Str sr="arg0" ve="3">var nl = "\n";

var output = "";

output =  `intent_data: ${
    local("%intent_data") + nl
}`;

var forEachCount = 0;

evtprm.forEach(
    function(item){

        forEachCount++

        output += `Event Param ${

            forEachCount

        }: ${

            item + nl

        }`;

    }
);

output += `request_tag: ${
    local("%request_tag") + nl
}`;

output += `error_desc: ${
    local("%error_desc") + nl
}`;

output += `api_version: ${
    local("%api_version") + nl
}`;

output += `place_name: ${
    local("%place_name") + nl
}`;

output += `place_lon: ${
    local("%place_lon") + nl
}`;

output += `place_lat: ${
    local("%place_lat") + nl
}`;

output += `place_autofollow: ${
    local("%place_autofollow") + nl
}`;

output += `is_day: ${
    local("%is_day") + nl
}`;

output += `updated: ${
    local("%updated") + nl
}`;

output += `weather_desc: ${
    local("%weather_desc") + nl
}`;

output += `type: ${
    local("%type") + nl
}`;

output += `current: ${
    local("%current") + nl
}`;

output += `datetime: ${
    local("%datetime") + nl
}`;

output += `temp_max: ${
    local("%temp_max") + nl
}`;

output += `temp_min: ${
    local("%temp_min") + nl
}`;

output += `pressure: ${
    local("%pressure") + nl
}`;

output += `humidity: ${
    local("%humidity") + nl
}`;

output += `windspeed: ${
    local("%windspeed") + nl
}`;

output += `windspeed: ${
    local("%windspeed") + nl
}`;

output += `windspeed_gusts: ${
    local("%windspeed_gusts") + nl
}`;

output += `weather_id: ${
    local("%weather_id") + nl
}`;

output += `dewpoint_max: ${
    local("%dewpoint_max") + nl
}`;

output += `dewpoint_min: ${
    local("%dewpoint_min") + nl
}`;

output += `sunrise: ${
    local("%sunrise") + nl
}`;

output += `sunset: ${
    local("%sunset") + nl
}`;

output += `wind_degree: ${
    local("%wind_degree") + nl
}`;

output += `precipitation: ${
    local("%precipitation") + nl
}`;

output += `pop: ${
    local("%pop") + nl
}`;

output += `cloudiness: ${
    local("%cloudiness") + nl
}`;

output += `uvi: ${
    local("%uvi") + nl
}`;

output += `visibility: ${
    local("%visibility") + nl
}`;

output += `feelslike_max: ${
    local("%feelslike_max") + nl
}`;

output += `feelslike_min: ${
    local("%feelslike_min") + nl
}`;

output += `name: ${
    local("%name") + nl
}`;

output += `coords: ${
    local("%coords") + nl
}`;

output += `autofollow: ${
    local("%autofollow") + nl
}`;

output += `timezone: ${
    local("%timezone") + nl
}`;

flashLong(output);</Str>
            <Str sr="arg1" ve="3"/>
            <Int sr="arg2" val="1"/>
            <Int sr="arg3" val="45"/>
        </Action>

            <nme>hd_action_help</nme>

    </Task>
</TaskerData>

Anybody out there?


text:
TWRP: vendor partition is not existed
I try to flash LineageOS on a OnePlus 5 (cheeseburger).  I installed TWRP 3.3.0-0 from here. I repeatedly wiped the partitions.
What I cannot manage is to adb sideload LineageOS 16.0.  I get this message:
Starting ADB sideload feature...
Installing zip file '/sideload/package.zip'
Error: Vendor partition doesn't exist!
Updater process ended with ERROR: 7

I have read here that I should install the latest stock ROM (from here), but that results in almost the same error message:
Starting ADB sideload feature...
Installing zip file '/sideload/package.zip'
vendor partition is not existed, exit ota!!
Updater process ended with ERROR: 7

How can I create/populate/fix that vendor partition?

OnePlus 5 didn't support project Treble out of the box, so there was no /vendor partition. However with update to Android P (as explained here), said partition was created to support Treble. If you didn't undergo that OTA update, you must haven't /vendor partition on your device.
You can also create the partition yourself from within TWRP if you are a bit tech savvy. parted or gdisk can be used for the purpose. But playing with partition table could be risky if you aren't sure what you are doing. You can see the partition table of your device in given link.

The /vendor partition was first introduced on OnePlus 5 with OxygenOS 5.1.4.  You will first need to flash that image on your phone so that the proper partitions are created.  This post on xda-developers forums has download links to older firmware.
I would recommend reverting to stock recovery image (download link in the same post), then flashing OOS 5.1.4, and finally trying again with latest versions of TWRP and LineageOS.

source: Stack Exchange

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

sort: votes


text:
How can I force a website to provide its mobile page?
I'm trying to access the following page using Chrome on my Galaxy S10+, but the website always returns the desktop page, even with the Desktop site check box unchecked.
Facebook's built-in browser seems to have no issue displaying the correct page.

I recently had a problem with gmail.com trying to get the desktop site to display (setting rules anđ labels requires the desktop site).  Somehow, the act of typing gmail.com into the browser does not show the desktop site but following the link from google.com works. I know this is backwards from your problem, but the presence or absence of extra data in the link or cookie can cause this behavior on certain sites. You can try deleting cookies for this site and try différent links from other sources.
I'm a web developer too and there are libraries like bootstrap that can switch to a mobile format that depends solely on the width of the page. It completely ignores the desktop checkbox and uses CSS and js to reformat the page even on a desktop computer if the window is resized. In this case, there really is no 'mobile site'. Viewing with your phone in portrait mode should work but landscape may or may not.
Facebook's browser may be a different size window, or may not be standardized to detect screen size with bootstrap, You could also have a chrome plugin that is causing an issue.
If I had to guess, I'd say that you need to delete the cookies (which will delete some login info) and try again.
Just keep in minđ that not every site responds to the checkbox in chrome. That only works if there are separate pages for mobile and desktop which is not the way that bootstrap works.
BTW, I just saw your link and tried it. I can use the checkbox on chrome on my s10e and I can switch from mobile to `desktop without issue.

It's a while since I encountered this issue, and truth be told, I'd forgotten about it until now. A quick check of the link has it working for me again, and I cannot reproduce the old issue. Perhaps it was to do with page width; perhaps it was to do with cookies; I don't know. Either way, I think this answer is probably the best one could expect, so I'll accept it.

probably you have turn on some dev feature on chrome. It is working fine on chrome...

That's my guess too, but I'm not sure where to begin.

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


text:
How to change the encryption key on (rooted) Android 9?
In Android 6, you could change the disk encryption key using the vdc command with
vdc cryptfs changepw NEWPW

In Android 9, you get a message, that raw commands are no longer supported.
During rooting and installing Lineage OS 16 and installing different stuff, I got different PIN and encryption keys. This means, that when I change the lockscreen PIN, the encryption key is no longer changed.
In principle, this is what I wanted to achieve, but the problem is that I currently do not know how to change the encryption key at all. I would like to have a rather short lockscreen pin and a longer encryption key, that I can change from time to time. On Android 6 this was no problem on the shell and with different Apps, but the Apps seem to depend on the vdc command as well.
I already tried to change the lockscreen PIN back to the current encryption password in the hope, that the next change of the PIN then would change the encryption as well, because I thought maybe the encryption was not changed because the new API needs a correct old password before changing the key to the new password. But this did not work as well.
Is there any App, command line tool or function in Lineage OS 16, that can change the encryption key?

I assume your device uses File Based Encryption (FBE) right?

No, it uses block based encryption. I just verified it using the adb command. That's fine for me, but in previous android version, i.e., marshmellow, I were able to use vdc to change the password and now the method is deprecated.

I am not sure if the FDE tools are still included. According to Google "Support for full-disk encryption is going away. If you're creating a new device, you should use file-based encryption.".

I encrypted it using the UI interface of Lineage OS 16 (Android 9.0) and now it is FDE. I do not really case about the mechanism, as long as it works properly after the phone is booted (A prompt at boot time is okay). But I would like to be able to change the password. Guides to set up FBE are welcome, but some help to change the FDE password would be sufficient. I already tried if I can use vdc binaries from other android versions, but this does not seem to work.

I was able to set an encryption password again, be removing the lockscreen by removing some files related to the lockscreen and then setting a new passphrase. To use a different lockscreen password then, you need to restore the original files.
Source on XDA: https://forum.xda-developers.com/showpost.php?p=78699812&postcount=58

As a workaround on Android Pie, you can do the following (on your own
  risk):

set the desired password for the screen lock
backup lockscreen files:

all files under /data/system_de/0/spblob/
files containing "_synthetic_password_" in /data/misc/keystore/user_0/
/data/system/locksettings.db

set the desired password for the device encryption
restore / replace all lockscreen files

If something went wrong, sqlite into /data/system/locksettings.db and
  set the values of sp-handle and lockscreen.password_type to 0 to reset
  the screen lock.

Afterwards I enabled the lockscreen using the settings app and used the current boot password as password. When changing the lockscreen, the boot password was changed as well.
To have separate lockscreen and boot passwords again, you can either restore the previous files, or remove the new ones and set a fresh lockscreen password, that does not overwrite the encryption key.

I don't think is documented anywhere the syntax but looking at this code
https://review.lineageos.org/c/LineageOS/android_system_vold/+/258179
I was able to set a different password.
Initially I used a PIN for unlocking, so the command to run on a terminal on lineageos 17.1 as root is:
vdc cryptfs changepw TYPEOFNEWPASSWORD OLDPASSWORD NEWPASSWORD

Where type of password can be:

password
pin
pattern

This looks good, but probably is LineageOS specific? But it looks like it would have solved my problem, when it were in my LineageOS build. So other people having the problem may be able to solve it using a vdc binary from LineageOS 17.0 builds that contain this patch.


text:
How to apply the latest security patches on Nokia 3.1?
I've a Nokia 3.1 with build number 00WW_2_680_SP02. When I run Check for updates, I have the message:

Your system is up to date
Android version: 8.1.0
Security patch level 1: 1 February 2019

But when I look at the official page Nokia Smartphone Security Maintenance Release Summary and that I select Nokia 3.1, I can see that there is two security patches (00WW_2_760 and 00WW_3_180_SP01) and one maintenance releases (00WW_3_180) that have not been applied.
My question is: How can I applied these missing security patches and this maintenance release.

Getting the latest update can be a bit trick on some Android devices. There are devices known where the "Check of updates" does not every time really check for updates, on such devices hammering the "Check of updates" button 10-20 times can help. I don't know if this also applies for Nokia 3.1.
Another "update blocker" is if your device is branded by a Mobile Network Operator (MNO). In such a case the MNO also has to release the update which can take weeks to months. Therefore IMHO buying a MNO branded device is a bad idea.
Third online updates are never rolled out to each and every device at the same time. Consider a new release that requires the download of ~300 MB that is released for 1 million devices. If all devices would start download at the same time or within a short time frame this would cause a denial-of-service attack against the download server. Therefore updates are usually released step-by-step to the devices. If your device belongs to an "early" or a "later" update group is invisible to the user.
If Nokia provides a PC based update software you may be able to update your device using it. Such a PC based update mechanism is usually not restricted to certain devices as it is not widely used.


text:
Leaving phone plugged in all the time?
I have a spare OnePlus One that I use for home automation stuff (RM Plugin, Tasker, etc.) I leave it plugged in all the time. Sometimes the phone does get quite hot. Just today, wanting to do more Tasker stuff with it, I noticed that the screen popped out a bit, guessing due to battery swelling.
I'm basically confused what causes what between:

Leaving the phone plugged in all the time
App power management (like sometimes screen was left on, etc.)
High temp
Battery swell

Also, would it be possible to continue using the OnePlus?
Thanks!

I want to use an android phone for similar stuff too. The best solution would be to use the device with battery removed or a device that is designed to work only plugged in to electricity, which doesn't have a battery. Anyone knows about such solutions?

Saw some DIY stuff involving removing old battery terminal and connecting it to a regulated voltage supply.

I saw some of them too, but not all were successful. I wonder if there are any cheap devices that don't have a battery in the first place. They would serve well as (almost) always on wall mounted displays, or could be used in cars for example.

You can leave the phone plugged in. Modern phones have advanced charging electronics, that should prevent overcharging and similar problems.
But when the battery is swelling, you should not continue using the phone. It may start to burn or explode. When you still have seller's warranty, use it. Otherwise I would still buy a new one as soon as possible. Defect batteries can be dangerous.


text:
Unknown icon briefly appears in notifications
I'm hoping someone can help me figure out with this icon means. It's a phone with two left-pointing arrows on the right edge, and three concentric half-circles off the left edge.
It appears randomly, flashes once or twice, and is gone. It's all too quick to get a screen shot.
I have a Samsung Galaxy S4 on Verizon running Android 5.0.1. I also have a Gear S2 watch connected. And my mobile hotspot is also on (currently) with a tablet connected.
Any thoughts, please??
Ed
Edit: 5/18/19
So sorry for taking so long.  Crazy work and life schedule.
I have attached a rough drawing of the mystery icon.

Edit (2):
Just found it -- it's for Samsung services (com.samsung.accessory). I'm assuming it gets called to communicate with my Gear S2 watch.

On your homescreen long prees for about 5 seconds then go to widgets tap the widget for settings then place it anywhere on you homescreen the shortcut you want is notification log. tap on the widget you made and you can see all noifications from the past few days. you can then see which app the noification came from.

@qblueRed42 -- I don't have a notifications log shortcut???

Does the icon appear on the left side (-> app notification) or the right side (-> system icon) of the notification bar?

@Robert: On the left side.

Then there is a chance: Android keeps track of recent notifications. You can see the notification history as described here: How to get the notification history.

@Robert: As I told qblueRed42 earlier, that Notifications Log shortcut is not available on my phone. But that post did tell me there may be an app I can download to access that, so thank you for that.

Hi, looks like you've found the solution by yourself, which is great! Consider posting it as a proper answer since self-answering is not only allowed but even encouraged. Thanks!


text:
Is it possible to change camera settings of an app on android emulator?
I am using Nox Android Emulator and i have a question about if i can change default camera settings of an app, i have uninstalled stock camera app by android terminal but this app still uses to default camera and don't ask for camera preferences.

However it depends on the emulator I personally recommend bluestakes4 it also have an option for default apps and supports almost everything

i thought that it depends on apps, like an another app asks for which camera do i want to use, but an another one doesn't even ask and just use default camera app. I am trying to change preferences of this app.


text:
Issues with new Pixel 3 connecting to car
So I've just switched back from IOS to Android and picked up a Pixel 3 XL with the 1-day sale. I tried setting up Android Auto though but I can't get it to work properly. I can connect and add my car (2017 Kia Niro), but after I try to select the Android Auto icon on the head unit it crashed and keeps flashing "Phone is not responding" and "Reading USB" over and over. On the phone, it still says connected to the car and shows the green notification bar suggesting Google Maps is in use.
I've tried using an older version of AA, but it gives an error unless I update. If I try to connect, not press the icon on the head unit and start playing Spotify, I get 1-2 seconds of audio through the car but then it crashes again. One time I got as far as launching and selecting the navigation tab until it crashed. I've briefly talked to Google support and they requested a bug report which I've sent. I also tried updating to the Q beta to see if that made any changes. I've used 5 different USB cables with no luck.
I didn't have any issues with Apple Carplay, and I also tried a very old Samsung phone (micro-USB) successfully so it shouldn't be the car causing the issue. Does anyone have any tips on what I should look at? I've done a factory reset, cleared all cars, toggled the AA setting on the head unit but nothing makes any difference. I'm pretty reliant on this functionality, so if it doesn't work I probably will be switching back to my iPhone. I hope this is fine being on superuser, apologies if it shouldn't.

"it shouldn't be the car causing the issue" ... I wouldn't be so sure - when did you last update the head unit's firmware?

I have never, I searched for that and it doesn't appear KIA posts firmware updates any longer that I can tell. I can contact the dealer to check though. Wouldn't it working with the Samsung and Carplay also working suggest that shouldn't be the case?

Apple CarPlay is irelevant to Android Auto... older Android Auto devices (i.e: your old Samsung phone) may not use some of the newer features that the Pixel 3 supports... call in to a Kia dealership and whine at them? :-)

I'll see if I can schedule an appointment to find out if there are any firmware updates to it then. Thanks!

...or find out who actually made the unit & see if they do firmware updates. Pioneer manage to trickle out about one a year for mine.

Well, turns out it was the cable. This was 4 old supposedly good cables from a few years ago, along with a new one from Best Buy. Picked up a new Insignia USB C cable where the reviews mentioned success with AA and it is working. Bit of a headache but good news.


text:
End-to-End Encryption IMAP client
I recently discovered that Outlook for Android uses an intermediate server for IMAP connections, meaning that:

mail is accessed in plain-text by a third-party
credentials are known in plain-text by a third party

This defeats much of the purpose of encrypting IMAP connections in the first place, since the information is no longer private between the host server and the client.
As I was unhappy with this, I switched to Bluemail since I saw that they have an option to configure either push or fetch. However, I have now found that, regardless of how this option is configured, the account credentials are still held by the Bluemail server.
Question
How can I connect to an IMAP server over TLS from Android without mail and credentials being shared with third party servers and providers?
Also, why has this become the norm, considering that the security implications are woeful.

I finally found one: Nine.
I continue to be astonished that so many mail clients on android are handling user mail data in this way.


text:
Alarm volume changes on its own
Something keeps lowering my alarm volume. I keep it at about 70% because I can be a heavy sleeper at times, but I keep finding that it's been lowered to about 40%. This has been going on daily for months. (One time it turned itself to silent and I slept through my first class)
Any ideas as to what's causing this or how to fix it?
EDIT: I've realized that it would probably be useful to talk about some of my settings.
I have Do Not Disturb scheduled for "Priority Only" from 10pm to first alarm daily.
I keep my ringer on mute or the first/second setting.

So, I've had this problem for a while as well. What I came to realize was that my sleepy-brain would hit the volume rocker to adjust the volume of the alarm while it was going off. Usually, this was to adjust the volume of my music to a more bearable level to wake up to once my phone was in-hand. But this also had the side-effect of adjusting my alarm volume to a point where next time it goes off, it's way too quiet.
I fixed this problem by downloading an app called MacroDroid. I set up a macro that executes each night at 10 pm. The macro starts by setting the alarm volume to 80%, pops a notification up that says "Don't forget to set your alarm!" And when the notification is clicked, it takes me to the Clock app to set my alarm.
It's a bit of a workaround since it uses a third-party app, but it's been a huge quality-of-life adjustment for me so I figured I'd share.

I think it's a bug.  This happens to me and I never touch the volume.  I always tap snooze on the screen. But somehow the volume resets/lowers.

This happens to me regularly on my Motorola Moto G6 Play.
I've been testing the alarm app today by snoozing two alarms many times and I'm not touching the volume buttons while an alarm displays.
After snoozing the alarm, I increase the alarm volume and the next time one of the alarms appears there is no sound and the alarm volume has gone to zero yet again.
I seem to have solved it by: update native clock app,
turned batt saver OFF - next time alarm had sound,
then Turned batt saver ON - next time alarm had sound,
then turned DND ON - next time alarm STILL had sound, yippee!


text:
Missing notification bar and navigation bar on an Amazon Fire HD 10 tablet
I turned on my Amazon Fire HD 10 tablet the other day, and some (but not all) of the bottom navigation bar buttons had disappeared.  I rebooted, hoping that would clear up whatever caused it, but now all of my navigation bar buttons are gone.  My notification bar is gone too, and I am unable to swipe down to activate the notification shade.  There is empty black space where the notification and navigation bars are supposed to be.
If it matters, I have the Google Play Services and the Google Play Store side-loaded, through which I installed typical Google apps.
(I'm asking and answering this myself mostly so that if/when this problem recurs, I'll be able to remember/find how I fixed it.)

I don't know exactly what caused it, but it seems related to Gmail notifications.  Going to Settings > Apps & Games > Manage All Applications, choosing Gmail, and unchecking the "Show notifications" checkbox caused my notification and navigation bar to return.  Re-enabling "Show notifications" did not cause the problem to recur.


text:
WhatsApp Messenger zero-day exploit: How to upgrade?
It turns out that WhatsApp Messenger is affected by an exploitable buffer overflow vulnerability, which can be used to take over the phone with "zero clicks", by placing a call using specially crafted packets:
The Register:
It's 2019 and a WhatsApp call can hack a phone: Zero-day exploit infects mobes with spyware
also
The Verge:
Update WhatsApp now to avoid spyware installation from a single missed call: NSO Pegasus spyware can turn on a phone’s camera and mic and collect emails, messages, and location data
and, originally the Financial Times (sadly, paywalled):
WhatsApp voice calls used to inject Israeli spyware on phones
Reading the article from The Register:

A security flaw in WhatsApp can be, and has been, exploited to inject
spyware into victims' smartphones: all a snoop needs to do is make a
booby-trapped voice call to a target's number, and they're in. The
victim doesn't need to do a thing other than leave their phone on.
Engineers at Facebook scrambled over the weekend to patch the hole,
designated CVE-2019-3568, and freshly secured versions of WhatsApp
were pushed out to users on Monday. If your phone offers to update
WhatsApp for you, do it, or check for new versions manually. The
vulnerability is present in the Google Android, Apple iOS, and
Microsoft Windows Phone builds of the app, which is used by 1.5
billion people globally.

Ok, cool. I'm not in the target population of poor sods protesting their nasty governments or nasty sods protesting their governments by different means, but I want to upgrade anyway.
Facebook gives out this mini-advisory:
CVE-2019-3568

Description: A buffer overflow vulnerability in WhatsApp VOIP stack
allowed remote code execution via specially crafted series of SRTCP
packets sent to a target phone number.
Affected Versions: The issue affects WhatsApp for Android prior to
v2.19.134, WhatsApp Business for Android prior to v2.19.44, WhatsApp
for iOS prior to v2.19.51, WhatsApp Business for iOS prior to
v2.19.51, WhatsApp for Windows Phone prior to v2.18.348, and WhatsApp
for Tizen prior to v2.18.15.
Last Updated: 2019-05-13

Note that CVE-2019-3568 is not (yet) in the NIST database: CVE ID Not Found.
Now, I'm a bit confused. I have checked the WhatsApp application version on my Samsung:

Start WhatsApp
Go to the menu with the triple dot (︙)
Select "Settings" in the menu that appears
Select "Help" in the menu that appears
Select "App Info" in the menu that appears
You will see something like "WhatsApp Messenger" Version 2.19.134

(Why is this so complicated? Google should demand that applications deposit their version string in an easily perusable database, as sanity would command. Anyway...)
So I have Version 2.19.134. According to the Facebook advisory, that should be good.
But when I check in the Play Store, I see "Last updated 10 May 2019", i.e. before the weekend. No version information is given here, somebody in the design office needs to be given the lash. And is there a change log somewhere?
Finally, when I go to https://www.whatsapp.com/android/ I am told that I can "Download now" Version 2.19.137, which is three minor ticks up from the version I have.
So:

Should I just not worry because I'm at the safe version (about which I have now contradictory information).
Should I just wait until WhatsApp Messenger updates itself (which presumably will happen soon, or maybe can be explicitly triggered).
Should I install the version at https://www.whatsapp.com/android/ instead of using the Play Store (I'm not even sure that would work).

Update
For added lulz, the "Update Notification" screen: It shows that Whatsapp Messenger has been updated "2 days ago" (i.e. somewhen around Monday), but doesn't give the new version number and coyly doesn't really say anything about any security problem.

Kaspersky says at One call on WhatsApp is enough to establish surveillance: Our best suggestion at the moment is to make sure your WhatsApp is up to date. To do that, go to the Apple App Store or Google Play Store, look for WhatsApp and hit Update. If there’s no “Update” button, but you see the “Open” button instead, that means you have the latest version of WhatsApp, and it is already patched against such attacks. This means I have "a latest" version but not "the latest" version. I find this lack of info disturbing.

In cases of proprietary software vulnerability coupled with a lack of proof-of-concept and detailed technical information about the exploitation you have to rely on the word of softwares' developers, follow their instructions, and be content that you are safe.
If your WhatsApp shows that you are on v2.19.134, than it must be that. I understand that there are discrepancies in the versions shown to users on Play Store and WhatsApp's website. On Play Store, it shows 2.19.134 as the last version to me as well, and that too updated on May 10, 2019. On APKMirror, there is no stable 2.19.139 as of now, and Appbrain agrees with you here with 2.19.134 as the last update on May 10 it tracked.

Should I just not worry because I'm at the safe version (about which I have now contradictory information).

You do not have contradictory information. Your Play Store shows 2.19.134 and so as the app itself. It would have been contradictory if these two mismatched.

Should I just wait until WhatsApp Messenger updates itself (which presumably will happen soon, or maybe can be explicitly triggered).
Should I install the version at https://www.whatsapp.com/android/ instead of using the Play Store (I'm not even sure that would work).

The Facebook advisory clearly mentions that versions prior to 2.19.134 are affected. As long as you have 2.19.134 or above you are safe (according to Facebook). There is no need worrying about why the official website has some higher version available. You can always try installing that one. If the signature mismatches with the sideloaded version the app won't install, and you should put this matter to rest. If it matches you would have the latest app and that should definitely work.

As far as I know, the WhatsApp on the Play Store is stable, while the site hosts beta versions.

@DeathMaskSalesman Is there a way to know whether my apk is a beta or other version? I tried looking into the manifest of the apks from both Play Store and the website of WhatsApp and I don't know what else to look for. Package name is same for them.

Sounds like good advice. But the Facebook advisory is utter shite. 2.19.134 came out before the weekend (on Friday), and every churnalist says "they worked on it during the weekend". Hence, contradictory information: Someone is lying or the advisory is wrong.

@DavidTonhofer agreed. Media has caused profound confusion on this matter.

@Firelord It's been a while since I last used the app, so things might've changed. In general, I used to look in the Play Store for stable releases, and interpreted the releases on WhatsApp's website as beta, since they didn't show up on the store. If they use semantic versioning, though, the website ones might simply be bugfixes.

I recommend you go with the latest version available (2.19.137) from https://www.whatsapp.com/android/
That's where I usually upgrade from anyway. I tried it out a few hours ago, and it does works.
But I have no way of verifying it fixes the issue, as no release notes found.

I'm not sure that the Play Store version of WhatsApp is compatible with the website's. If their signatures are different, OP won't be able to upgrade without uninstalling the app first.

Can't confirm as I don't use playstore.... I get apk from alternative places and install. But you need to set android to allow apk from other sources. But I am able to install on top of older versions.

It means the signatures are the same.


text:
Why I can't find Clear Local Search History on Google play store?
The Google support said that it is in the Play Store at the Settings, but there isn't this option.
I can find only these. I tried to delete all upgrades, and I found it at the 6.9.21 version, but not at the latest version.
I have Leagoo M8 with Android 6.0 (literally Freeme OS).


text:
How to set password request for booting the smartphone?
How can I set the phone so it requests to unlock the screen before starting up?
Earlier I had to unlock the phone so it starts up but now it boots without unlocking (and I didn't change anything in this regard, at least deliberately). (I bought it as used so I don't know how it was activated).

See if this happens to be the problem with your device. https://blog.g3rt.nl/android-lollipop-encryption-user-interface-flaw.html

It seems that there was an issue described in the link provided by Firelord in the comment:

Don't get tempted by any app asking you to enable its Accessibility Service. It will change your encryption password to the Android default one allowing everyone to decrypt the "encrypted" data. The PIN you enter at powering on your device may not be used for encryption at all - without a warning given.
If you use encryption on your Android device, follow these steps now:

Open up the Accessibility settings menu.
If a Accessibility Service is listed there at the top, disable it.
Change your screen lock PIN/password/pattern whatever to reset the encryption password. Make sure to tick the "Require PIN to start device" option.

These three steps reactivate the password request for powering up on Android 8.0.


text:
Prevent Contacts from forcing me to save to a logged in gmail account?
If I have a logged in gmail account (say, for example, in the play store), the phone absolutely forces me to save contacts, calendar appointments, etc. to the gmail account.
For example, if I add a contact, I'm supposed to be able to say where I want to save the account to (my email account, the device itself, etc). It will not allow me to save to the device (that's not even a selectable option).
What do?
Device is a Moto Z Play, Android version 8.0.0

even worse local saved contacts will move to google contacts (for example when saved to phone with MyPhoneExplorer)

Disable Google Contacts Sync app (root is required). Or try revoking Contacts permission and all AppOps of the same app. Works for me, I manually sync contacts, not to Google servers.


text:
Wi-Fi "bootlooped" on Android
The Wi-Fi on my Android phone is "bootlooped". That means, that it permanently tries to start but never completes to do so. This is also visible in the Wi-Fi menu, where it says "Turning Wi-Fi on...". As suggested for similar problems I tried deleting the files
/data/misc/wifi/wpa_supplicant.conf
/data/misc/wifi/p2p_supplicant.conf

but it didn't help. What can I do to resolve this problem?
I got it as a used phone so I don't know, if the Wi-Fi module is working. Switching the daughterboard did, however, not change anything.
My system:
Fairphone FP1
Android 4.4.2

The command cat /proc/kmsg | grep wifi doesn't give any results. When I execute logcat | grep wifi only the following line is printed several times: D/WifiController( 768): wifiSleepPolicy:2.

Any error messages available on logcat or /proc/kmsg?

The command cat /proc/kmsg | grep wifi doesn't give any results. When I execute logcat | grep wifi only the following line is printed several times: D/WifiController(  768): wifiSleepPolicy:2.

Don't use grep use your brain, otherwise you may miss important messages (e.g. messages that just use the wifi chip code-name. And don't write the results in the comments edit and extend your question instead.

The problem is that I don't really know what to look out for.


text:
Recovering deleted Telegram chat
On my new Android phone I accidentally (yes...) deleted a complete chat I never exported before. Looking for ways to recover it I didn't find the ultimate solution. While I could restore the chat pictures (they weren't actually deleted) I couldn't find a way to restore the messages which are far more important to me.
I still have my old Android phone that I used until a month ago that never connected to the Internet since I deleted the chat. So, if the messages are somehow stored locally, it still has the deleted chat (obviously but for the last month, but that would be better than losing everything). I didn't dare to start the device since the chat loss as I want to understand the implications first.

Does Telegram store the chat messages locally or only on the server?
If storing them locally, how can I export them? I guess I need an internet-less solution as a synchronization would obviously delete the chat on my old phone as well. I could only find the Desktop-Telegram-based export, but no other suitable solution.

I'm afraid I guess I'll get a "you're screwed" answer but I want to give the community a last chance to help me before eventually giving up hope.

it is usually stored local and synchronized online. make a full rom dump of your old phone before (download or recovery mode). then switch to airplane mode as soon as phone starts up. If you are paranoid, you can unplug your wifi router and hold phone in microwave oven while doing this


text:
Undo "Disable autofill for [app]"
I am referring to the system-wide password autofill feature that was introduced in Oreo. In one app, I accidentally fat-fingered the prompt; instead of pressing "Fill with [autofill service]," I pressed "Disable autofill for [app]." How can I undo this? I want to be able to use autofill with that app again.
These did not fix the problem:

Changing the autofill service to Google and then back
Uninstalling and reinstalling the app in which I want to use autofill

Long tap the username field, tap the three dots next to "Paste" and select autofill. There will be an option "Enable autofill for " where you can re-enable it.
Tried on Android P

Thanks. I realized that I didn't specify that I was using Android P.


text:
BT connectivity(connection / unpair) is not working properly
I am working on Toradex apalis imx6q with Android Nougat. When we try remove the paired device(bu clicking unpair), unpair was done properly. But, still music playing on bluetooth headsets.
Steps::
1.Go BT and connect your phone.
2.start play music.
3.go to BT(headset/phone) and unpair the device.
Observation::
still song/error is playing in the bluetooth headset.
Regards,
VinothS

Is there a question? This site is for end users of Android, not bug reports for Android Open Source Project or bug reports for manufacturers of Android hardware/software systems.

Thank you for your reply

The issues in bluetooth stack. I want to disconnect the headset after unpair.

This is the problem in the bluetooth stack side. I identified and resolved this problem. The solutions of this problem is needs to disconnect after unpair the headset.


text:
Can no longer select "none" lock screen option after factory reset
Previously I've had my phone (Nokia 6.1 plus running android pie) set to use the "None" lock screen option but after doing a factory reset this option no longer appears. I'm only able to select the swipe, pin, password or pattern options.
I find this extremely infuriating and am probably going to have to buy a new phone if I cant fix this. Any help would be appreciated.
Things I've already tried:

Clearing the credentials.
Disabling all device admin apps.
Setting a password and then trying to find the option.
"hard" resetting the phone through the device recovery menu.
Removing my google account.

I've searched high and low for a fix for this and nothing works.
Thanks for your time!


text:
Use adb before screen unlock
I'm kinda in an argument here and I want a definite answer
On any device I've used, adb can't be used before I unlock my screen. I'm being told it can, you just can't access storage
So can adb be used before screen unlock, or is it OEM dependent?

I have used adb on both Nexus 6 and OnePlus 6 with screen lock on and screen off. Are you sure this is not about granting authorisation to the RSA fingerprint dialog? Because that requires unlocking the screen. Which device is it?

@Firelord I've tested with Moto g6, g7, and Alcatel tetra, and Samsung Galaxy j3 Luna pro. I know once I've unlocked once after attach to the PC and activate adb, it'll continue working. Just if the screen is locked on plugging it in (eg just booted) it won't work (I think)

It works here in OnePlus 6 even when encrypted, restarted, and the decryption password not entered. Probably OEM dependent, but let's wait for others to chime in.

@Firelord ok. Seems to be mostly flagship models that can use adb on a locked screen so far

On my Sony XA2 (Android 9 with FBE), adb also works directly after reboot (before SIM card and device unlock). Of course before I enter the device unlock PIN the files (e.g. on /storage/emulated/0) are still FBE encrypted.


text:
I can't open my apk file
I downloaded an apk from the web that is a paid app in the Play Store, but I can't use the app cause the app knows I downloaded it without paying. I tried it with 2 different apps and these happened:
First worked for a few seconds until it crashed and wouldnt let me open it. When it did open, it asked for a verification through email then crashed again.
Second app isn't in the Play Store anymore, but apk versions still exist. When I downloaded it and opened the app, it asked me to download from the Play Store but it isn't in the Play Store anymore.
I have Lucky Patcher on my tablet too. I was wondering if it could help or is there any alternative. Or its just impossible?

We do not provide support for hacking paid softwares. You should either buy the software or seek solutions elsewhere where such questions are on-topic. As for the one not available in the Play Store, you should seek the assistance from the developer. Ask them how to make it work. If they decline to extend support, we can't help with it either.

May be these reasons for that..

Your app is old or developers stopped publishing
That app not available for your country region
3.They block apps who download without payment (free Apk)


text:
Does Android not supports Java?
Redmi 6 does not support java.
Redmi Note 5 support java through third party support.
What's the difference?
I read on Quora that by not supporting Java I can't go to Play Store.

Java
Java is used for developing Android apps, however Android devices itself never supports executing Java (code) out of the box.
Google Play Store
All devices which are certified by Google have access to the Google Play Store.
The complete list of certified devices is available at Google:
https://support.google.com/googleplay/answer/1727131?hl=en
In this list you can find for example:

Xiaomi Redmi 6 cereus Redmi 6
Xiaomi Redmi Note 5 whyred Redmi Note 5
Xiaomi Redmi Note 5 Pro whyred Redmi Note 5
Xiaomi Redmi Note 5 Pro whyred Redmi Note 5 Pro
Xiaomi Redmi Note 5A ugg Redmi Note 5A
Xiaomi Redmi Note 5A ugg Redmi Y1
Xiaomi Redmi Note 5A ugglite Redmi Note 5A


text:
How can I fix a charging problem on Moto G5 Plus?
A Moto G5 Plus device (Android 8.1.0) was charging and performing normally with a healthy battery response.
One morning, instead of being at 100% (expected after charging all night), the phone reported 61% (unexpected after charging all night).  This was with the same charger I always use, which is the one that came with the phone.  I also tried different chargers and cables, but there was no difference in symptoms.
Settings > Battery reports that the phone is charging, but the reported charging percent does not increase at all.  So if I plug it in at night with 42%, it says 42% again in the morning.
The device is discharging at a normal rate.  In other words, given a certain level of charge, and not plugged-in, the battery lasts a normal/long/expected amount of time (many hours with just a few battery percentage points down).
Theory of Cause: Not Slow Decline
Because of the suddenness and severity of the difference between the former and current observations, the likelihood of this being attributable to simple wear on the battery seems unlikely.  That leaves a software problem as a more likely cause. A sudden hardware failure could also be the cause, but it seems less likely that a sensor suddenly failing is less likely than fallout from a software update.
1. Clear Cache
Activity
I read that clearing cache could help, so I tried that by doing the following:

Press Power and Volume Down and hold a long time until you see the screen have a "weird menu" thing
Press and release Volume Down until you see Recovery Mode, then press Power.  You'll see an Android on it's back with a triangle/exclamation mark.
Hold the Power button and then press and release Volume Up then release all buttons.  You should see a list of actions.
Use Volume Down to scroll to wipe cache partition, then press and release Power to activate.
Use Volume Down to scroll to reboot system now, then press and release Power to reboot.

Result: No Change
Symptoms seem to persist as before: while plugged in and while the phone reports that it is charging, the percent reported does not increase.
Diagnostics
Because I'm an Android developer, I have access to Logcat in Android Studio.  I see this reported periodically in the logs:
POWER_SUPPLY_VOLTAGE_NOW=4394353, POWER_SUPPLY_CHARGE_RATE=Normal, POWER_SUPPLY_HEALTH=Good, POWER_SUPPLY_CURRENT_NOW=124510, POWER_SUPPLY_PRESENT=1, SUBSYSTEM=power_supply, POWER_SUPPLY_TEMP=302, SEQNUM=3965, ACTION=change, POWER_SUPPLY_NAME=battery, POWER_SUPPLY_STATUS=Charging, POWER_SUPPLY_CHARGE_COUNTER=3038000, POWER_SUPPLY_CAPACITY=32, DEVPATH=/devices/soc/qpnp-smbcharger-17/power_supply/battery}
This is with the USB cable is plugged into a computer, of course.
The POWER_SUPPLY_VOLTAGE_NOW value ranges from 4394xxx up to 4397xxx, indicating the PC is offering a slightly different voltage over time or that the phone reads the voltage slightly different (0.07%), which seems normal.
The POWER_SUPPLY_CURRENT_NOW value ranges from 91xxx to 354xxx, but mostly is around 112xxx.  This variability probably has to do with how much activity is going on in the phone and whether the screen is on.  This also seems normal.
The POWER_SUPPLY_TEMP value started at 317 (when I first started logging) to 275 (after an hour).  I'm not sure what this change (-13%) means, if anything. Probably because the screen was on earlier in the log and mostly off later in the log.
The rest of the fields seem not to be changing over time.
2. Lower Temperature
Activity
Knowing that some phones have had issues with getting too hot while charging, I thought that maybe this was an aggressive safety thing that was being incorrectly triggered.  The phone was NOT getting even slightly warm when charging, but I thought I'd put it in the freezer while being charged.  I put it in the freezer for an hour or two with the cord attached, and the phone "on".
Result: Improved, But Not Resolved
After charging the phone in the freezer, the phone did show a higher battery percent.  The reported percent was erratic, though.  It jumped around from the 90% range to the 30% range.  The reported percentage changed as I plugged it into the charger and removed it from the charger.
3. Plugged in While Off
Activity
To reduce the number of programs active during charging, I powered the phone off and left it connected to the PC.  Based on the PC's reaction to the USB connection, I can tell that there's still some kind of processing going on in the device, but I thought it might make a difference.  The device reported 32% at the start.  It indicated that the device was charging.
Result: Same Symptoms
After leaving the device connected for an hour, it still reported 32%, so the main symptom of this question persisted, even if the charging activity was undertaken while the device was "powered off".
4. Safe Mode
Activity
Although since charging with the device "off" didn't help, I didn't have much confidence in this action improving things, but wondered if the USB Logcat debugging would work and possibly show some diagnostics.

Press and hold Power until on-screen menu shows Power off.
Touch and hold Power off until Reboot to safe mode shows on screen.
Touch OK (device begins restarting).

Result: Same Symptoms
Leaving the device, while in safe mode, connected to the PC for an hour, it remained at 32%.  The Android Studio Logcat did provide this a possible clue No service published for: batterystats:
2019-05-15 19:23:52.186 2682-2682/? E/AndroidRuntime: Error reporting WTF
    java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.app.IActivityManager.handleApplicationWtf(android.os.IBinder, java.lang.String, boolean, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference
        at com.android.internal.os.RuntimeInit.wtf(RuntimeInit.java:332)
        at android.util.Log$1.onTerribleFailure(Log.java:117)
        at android.util.Log.wtf(Log.java:481)
        at android.util.Log.wtf(Log.java:471)
        at android.app.SystemServiceRegistry.onServiceNotFound(SystemServiceRegistry.java:1085)
        at android.app.SystemServiceRegistry$StaticServiceFetcher.getService(SystemServiceRegistry.java:1037)
        at android.app.SystemServiceRegistry.getSystemService(SystemServiceRegistry.java:962)
        at android.app.ContextImpl.getSystemService(ContextImpl.java:1682)
        at com.android.internal.os.PowerProfile.getBatteryCapacity(PowerProfile.java:463)
        at com.android.internal.os.BatteryStatsImpl.setPowerProfileLocked(BatteryStatsImpl.java:8983)
        at com.android.server.am.BatteryStatsService.<init>(BatteryStatsService.java:175)
        at com.android.server.am.ActivityManagerService.<init>(ActivityManagerService.java:2954)
        at com.android.server.am.ActivityManagerService$Lifecycle.<init>(ActivityManagerService.java:2853)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
        at com.android.server.SystemServiceManager.startService(SystemServiceManager.java:96)
        at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:539)
        at com.android.server.SystemServer.run(SystemServer.java:407)
        at com.android.server.SystemServer.main(SystemServer.java:285)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:791)
2019-05-15 19:23:52.187 2682-2682/? E/AndroidRuntime: Original WTF:
    android.util.Log$TerribleFailure: No service published for: batterystats
        at android.util.Log.wtf(Log.java:476)
        at android.util.Log.wtf(Log.java:471)
        at android.app.SystemServiceRegistry.onServiceNotFound(SystemServiceRegistry.java:1085)
        at android.app.SystemServiceRegistry$StaticServiceFetcher.getService(SystemServiceRegistry.java:1037)
        at android.app.SystemServiceRegistry.getSystemService(SystemServiceRegistry.java:962)
        at android.app.ContextImpl.getSystemService(ContextImpl.java:1682)
        at com.android.internal.os.PowerProfile.getBatteryCapacity(PowerProfile.java:463)
        at com.android.internal.os.BatteryStatsImpl.setPowerProfileLocked(BatteryStatsImpl.java:8983)
        at com.android.server.am.BatteryStatsService.<init>(BatteryStatsService.java:175)
        at com.android.server.am.ActivityManagerService.<init>(ActivityManagerService.java:2954)
        at com.android.server.am.ActivityManagerService$Lifecycle.<init>(ActivityManagerService.java:2853)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
        at com.android.server.SystemServiceManager.startService(SystemServiceManager.java:96)
        at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:539)
        at com.android.server.SystemServer.run(SystemServer.java:407)
        at com.android.server.SystemServer.main(SystemServer.java:285)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:791)
     Caused by: android.os.ServiceManager$ServiceNotFoundException: No service published for: batterystats
        at android.os.ServiceManager.getServiceOrThrow(ServiceManager.java:75)
        at android.app.SystemServiceRegistry$17.createService(SystemServiceRegistry.java:319)
        at android.app.SystemServiceRegistry$17.createService(SystemServiceRegistry.java:316)
        at android.app.SystemServiceRegistry$StaticServiceFetcher.getService(SystemServiceRegistry.java:1035)
        at android.app.SystemServiceRegistry.getSystemService(SystemServiceRegistry.java:962)
        at android.app.ContextImpl.getSystemService(ContextImpl.java:1682)
        at com.android.internal.os.PowerProfile.getBatteryCapacity(PowerProfile.java:463)
        at com.android.internal.os.BatteryStatsImpl.setPowerProfileLocked(BatteryStatsImpl.java:8983)
        at com.android.server.am.BatteryStatsService.<init>(BatteryStatsService.java:175)
        at com.android.server.am.ActivityManagerService.<init>(ActivityManagerService.java:2954)
        at com.android.server.am.ActivityManagerService$Lifecycle.<init>(ActivityManagerService.java:2853)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
        at com.android.server.SystemServiceManager.startService(SystemServiceManager.java:96)
        at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:539)
        at com.android.server.SystemServer.run(SystemServer.java:407)
        at com.android.server.SystemServer.main(SystemServer.java:285)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:791)
2019-05-15 19:23:52.187 2682-2682/? D/BatteryStatsImpl: Reading daily items from /data/system/batterystats-daily.xml

Seeing batterystats, above, led me to run the following command:
adb shell dumpsys batterystats > c:\my\tmp\batterystats.txt

That generated a file with over 46,000 lines.  There's apparently a way to analyze that data, but I haven't figured that out (yet?).  More detail is on this page on the Android Developer site.
5. Overnight Freezer w/Device Off
Activity
The device was powered off, plugged in, showed as charging at 32%, then placed in the freezer.  The next day, the device was placed in a sealed bag at room temperature and let to naturally warm up.
Result: Still No Charging
The device was started normally and showed 32% (same percent, no charge was reported).  Repeatedly plugging/unplugging the PC USB did not cause the reported percentage to change. Repeatedly plugging/unplugging the 110 USB power adapter did not cause the reported percentage to change.
This was unexpected, since earlier it seemed that a reduced temperature caused charging to occur.  This could have been because the phone was "off" or it could have been that the earlier low temperature charging was coincidence.
Below is the battery usage diagram for the last few days while this problem has been going on.  You can see the erratic changes, indicating that the percentage is inaccurate.  The span without data is when the phone was "off":

6. Allow Discharge
Activity
Through all of these steps, the device was typically plugged in.  The next activity I inadvertently tried (due to not being in a place where power was available), was to allow the phone to run without power connected.
Result: Erratic Charge Percentage
After NOT being connected to power, the charge percentage stayed at 32% for around 6 hours, then the next time I looked, the charge percentage was unexpectedly shown as 93%.  So without a power connection, the phone significantly increased it's reporting of battery percentage as shown in the image below.

Over the next 3 days, without significant charging, the battery proved to be very healthy. I plugged the device into my computer one time for a few minutes to interact with Android Studio and the percent dropped from 65% to 0% instantly.  When I unplugged the device, it immediately shutdown.  When I turned it on again, it showed 65% again (see spike in the graph, below).

Discussion
Given that the device ran for 3 days without charging, one must conclude that the battery itself is healthy.
Given that the device runs for a very long time after being plugged in indicates that charging going on, the battery is picking up a charge, even though the reported percent does not increase.
Also, given that the battery is successfully picking up a charge indicates that it's not the cable, the adapter, lint in the micro USB plug, or anything like that.
So something about the ability of the device to reflect proper level of charge remaining is "broken".
QUESTION:
Is there an action or set of actions I can take to get the device to resume normal reflection of percent charge remaining?

I am not really sure what all your tests are hoping to accomplish, and you have skipped the most basic replace/test process entirely, that said you have only a handful of possibilities here... the battery has exceeded it's lifespan or is defective, the USB port is defective or gunked up with lint, the charging cable is defective, the charging source is defective... Those would be the most likely causes, with a defective mainboard charging circuit less likely, and your attempts at "software" fixes almost never accomplish anything as this is a hardware issue.

What I'm trying to accomplish is not spending money if I don't have to.  I'm not sure what "replace/test" you're talking about.  A closer read would help elucidate that the device charges fine, it just doesn't report that it's making any progress when it is making progress.  The battery lasted 3 days without a charge, so the battery has not exceeded it's lifespan.

I have been using the device normally for a week; plugging it in at night and using it all day. Except for the reported percent remaining being wrong (usually below 10% and stays at that reported level all day without moving) the device functions normally.


text:
Lock screen widget and wallpaper
I'm currently using a Moto E with Android version 5.1. I would like to change the clock widget on the lock screen with a customized one and even lock screen wallpaper. Is there a way to do so?

I'm using Nova Launcher Prime. Can you help me out please?

Do you not want to use custom lockscreens? They offers such features.

@Firelord I would prefer but can you recommend me some


text:
How to keep track of updates to APK
I use only a handful of apk that are not from Google Play store (for whatever reason). For example Youtube Vanced, GCamera, Blokada.
But since they are not in the Play store, is there any way I can check if there are any available updates to all my "unofficial" apps?
I mean check from one place and automatically, not going to the relevant sites and checking manually every few days.


text:
What is the difference between NB and WB entries in mixer_gains.xml?
LineageOS for my phone has these sections with entries in the mixer_gains.xml file:
<path name="gain-incall_nb-handset-mic">
<path name="gain-incall_nb-handset-mic">
<path name="gain-incall_nb-speaker-mic">
<path name="gain-incall_nb-speaker-mic">
<path name="gain-incall_nb-dex-speaker-mic">
<path name="gain-incall_nb-dex-speaker-mic">
<path name="gain-incall_wb-handset-mic">
<path name="gain-incall_wb-handset-mic">
<path name="gain-incall_wb-speaker-mic">
<path name="gain-incall_wb-speaker-mic">
<path name="gain-incall_wb-dex-speaker-mic">
<path name="gain-incall_wb-dex-speaker-mic">

But I can't find what NB and WB stand for, or their difference, which makes it hard to know which to alter.
(I'm guessing they could stand for "no <something>" vs. "with <something>" but that doesn't help much)

The abbreviations here stand for narrowband (nb) and wideband (wb).
You can see the list of supported media formats, including the supports audio codecs here:
https://developer.android.com/guide/topics/media/media-formats
For example, the quite common AMR-NB codec.

Can the answer be expanded a bit, as right now it unfortunately answers the question asked, but in a way that isn't usable information :) I now understand the abbreviations, but still have no way to know which of these to modify for a given type of audio output which I figured I'd learn, given the abbreviations. For example,.which codecs are WB vs NB isnt stated, nor is is clear which codecs are used in a phone call (always gsm, or others too?)


text:
Clock speed of Adreno 509
I'm sorry if this if off topic but I don't know a better place to put it, after it's a GPU used in Android device
My ROM maintainer has capped it at 430 mhz on the Moto z3 play. I distinctly remember it being 830 on stock, and I know the 506 clocked at 652 mhz and why would a better gpu have a much lower speed
So once and for all: what is the max clock speed of the Adreno 509?

According to Wikipedia, the "stock" clock for Adreno 509 (Snapdragon 636 SoC) is 720 MHz.
But keep in mind that this "stock clock frequency" on Wikipedia is the "stock" defined by Qualcomm, and it's extremely common that phone manufacturers define a different (higher or lower) "stock" clock for chips.
For Moto Z3 Play, the "Lenovo stock" frequency is 850 MHz, as can be seen on their website.
I have not been able to find a "max speed" of this particular GPU, probably because my Google-fu isn't powerful enough.

Very thorough, thanks for the answer


text:
Can I enable my fingerprint lockscreen whitout (!) enabling encryption
I like to regularly backup my data partition using TWRP. I noticed once I enable my fingerprint screenlock, TWRP is unable to access my data partition because Android 8.0 encrypts it from the moment I set a lockscreen password (obligated when I enable fingerprint lockscreen). For the moment "preserve force encryption" is off in Magisk. Can I take the risk and enable my fingerprint screenlock now? Or will it encrypt my data partition again? I don't want to format my data again and reinstall everything. My bootloader is unlocked and my phone is a Samsung SM-G935E

It is probable your device is already encrypted, but without a screen unlock authentication set by you TRWP uses the default Android password, thus, making you believe setting screen lock authentication encrypts data. Verify first whether device is encrypted or not.

"preserve force encryption" is off and "settings -> security -> encrypt device" is available. anything else I can check?

Your device (S7 edge) should be encrypted by default. Therefore as Firelord it is more a question of the password used for encryption. Usually TWRP should be able to access your data if provided with the PIN/password. Therefore you should try to set a simple PIN. Afterwards TWRP should ask for it and you can again make a backup.

I remember I did a format of my data partition because my device was in a bootloop and I couldn't access the data partition with twrp. Is it possible that TWRP cannot decrypt or does not ask for a password on Samsung S7 edge devices? As it never did with me in previous installs. How can I check if my device is encrypted now? It is not in a default state and is running TheGalaxyProject with Magisk pre-installed.


text:
How do I install OS in Andriod phone without using fastboot and TWRP?
I've tried to upgrade the rom in MOTO G4 Plus using TWRP version of 3.2.1.0 and during installation process I wiped out the existing android 7.0.1 without backup(understood the cost of backups now). As I faced error while installing android 9.0.1 with error 255 code because of TWRP some upgrade issue couldn't complete the installation process successfully.
I tried multiple ways to upgrade TWRP which was not successful and even fastboot commands aren't working now. Whenever I try fastboot + combinational command like devices and etc it goes into an infinite loop with an error code iterator not found. After a good amount of search found about ADB and happily can connect to my device using ADB now. Then started trying with multiple options like adb side load after reading multiple forum answers and posts I did pushed a rom to scared/data/media after reading this forum NEED HELP: Accidentally deleted OS in TWRP/Cant install Rom which was successfully pushed but didn't do any thing nor I couldn't understand what to do after pushing it.
Then started search again to install stock rom in any different ways before coming here and stumbled at this question which is similar did read the question and included forum post in it to go start the process when I did download stock rom stock rom download couldn't find any flashall.sh file to start the process
Now I'm stuck and couldn't find better place to find a working solution for this situation. Can somebody help me? What can I do while my phone is in this state?

QPST Flash Tool

That ROM seems to be for G4 Plus. I don't recommended playing with it when your device is already bricked.

Here is the Full Forum discussion link to the problem I've faced. Thanks everyone who tried to help me out.
For Quick Solution follow this steps mentioned below:

If you still have access to TWRP on your device? please push 32bit flashable ROM to your device.
Try with a TWRP flashable like the stock ROM Oreo flashable https://forum.xda-developers.com/mot...-test-t3873367 and follow the instructions to install it (i.e. push to your device, or copy to an SD card, then tap install in TWRP to flash it to your device). This TWRP flashable should work on this mentioned TWRP version since it's 32 bit.
The stock ROM download would still require fastboot, so I'm not sure why the fastboot is not working and not choosing the fastboot method as of now.

FYI: error 255 when flashing custom Oreo or Pie ROMs means that the TWRP is 32 bit, whereas the custom ROM requires a 64 bit TWRP.

It is best if you mention the details behind that link because this answer would lose its usefulness should the link expires.


text:
How to receive call and force that call to ring indefinitely to the caller but not the receiver
My ultimate goal is to handle incoming calls that are obviously robospam, in such a way so that the robocaller cannot detect that this is a valid phone number with a real human at the end (including voicemail). If the robospammer detects that it is a valid number, they will record it for future spams. So I want that number to ring and ring indefinitely, and not go to voicemail.
Most importantly, even if they have prior knowledge that I have picked up and hung up, or they left voice mail in previous attempts at reaching a live human at this phone number, I still want to send the call to the "ring indefinitely" state, and not go to voice mail, such that the caller hears the ringing, but the receiving phone stops ringing. The reason is that eventually the robospam problem has increased to the extent that, by my current practice off simply allowing all of them to go to voicemail (e.g., flipping the phone over to trigger the proximity sensor logic which then pushes it to voicemail), means that I have the ever increasing burden of listening and deleting the voicemails that are obviously spam. And that is a waste of time and distracting.
So, is there a way to configure a Samsung Galaxy Note 8, under the AT&T carrier, to allow me to ring indefinitely, and not go to voicemail, and not be answered with some automated message? I'm not interested in rooting the phone.
Various Contact and Phone Tools - Android App Overview - IzzyOnDroid has a listing of related apps, but none are exactly what I'm after.

What you want is mostly a carrier-specific circumstance, and less of an Android device one.  Though, some OEMs support the ability to turn off call forwarding via Call app settings:
Device > Apps > Phone > More settings > Call forwarding > Voice call.  Then, disable these three things: "Forward When Busy", "Forward When Unanswered" and "Forward When Unreached".  This option may not be available on your device.
If the above option isn't offered on your device, you will have to log onto or call AT&T customer support to turn off voice mail for your account.
See: https://forums.att.com/t5/AT-T-Phone-Features/Turn-Voicemail-On-and-Off/td-p/3606949

Thanks. However, that implies me having to do two operations: One to navigate a web-based setting to enable call forwarding, and then yet another operation to disable it. What I was envisioning was a one-shot button I could press when the phone rings and I know that it is a spam caller, that would then ring indefinitely only for that one incoming phone call, and then reset it self back to normal operation.


text:
Set device owner app causes "Workspace has been locked" on Android 8.1 Oreo
I've been using my app as a device owner app since Android Lollipop.
I have a new device here which I want to be a device owner too. It is a Samsung Galaxy Tab A 10.5(2018) SM-T590. I am currently running this version of the ROM: T590XXU2ASC1.
I am not using the NFC method. I usually create the /data/system/device_owner.xml file by myself. But since it is not working, I tried this method:

Factory reset the tablet in recovery mode

Pass through the annoying startup menus

Set lock screen to none

Enable USB Debugging

Install my app adb install MyApplicaton.apk

adb shell dpm set-device-owner com.example.myapplication/.MyApplicationReceiver. It always says success when I execute the command.

Start my app, I can pin/unpin my app without problem.

Reboot, and then the famous message appears every time:

Workspace has been locked
Unauthorized software has been installed on your device. Workspace has been locked to prevent any unauthorized access. Contact your admin.

Then if I press on the FACTORY DATA RESET button, the workspace app crashes then pops back.
I tried the kioskModeDemo app and the androidDeviceOwner sample app and they all do the same problem.
Does anybody have any hints of why this is not working anymore on Android 8 Oreo?

I found the problem: once you OEM unlock (custom OS) your device on a certain Samsung Knox level API, you can't be the device owner anymore on this device.
This is from Samsung Knox page:

"Cannot create work profile" "The security policy prevents the creation of a managed device because a custom OS is or has been installed on this device".

The device could be vulnerable to potential attacks with custom OS.


text:
Files not visible after upload from pc
My phones have same issue i don't know if i do something wrong or what but after I connect my phone to pc and upload some files you are not able to see them on phone.
Example i upload new.apk to Downloads folder and disconnect my phone. Then going to Download folder on phone but file is not there. However if you go trough file explorer you can see file there.
Also same issue if i connect phone to pc and delete files. After disconnect and going to that folder files are still there but if you go trough file explorer wont be there.

Which OS do you use on your PC? You may be affected by a bug in the used MTP protocol via USB (on PC and/or phone side). Try to reboot the device and see if the files re-appear or use on of the commands presented in this answer:https://android.stackexchange.com/a/202739/2241

I have windows 10 on pc , reboot did not helped

The media storage database may be corrupt. Try to clear the app data of the "Media Storage" app (com.android.providers.media) and reboot your device. Then missing files should be visible.


text:
WiFi dropping with channel switch and not reconnecting: how to debug
Since a few days my new Samsung Galaxy A50 (running Pie build PPR1.180610.011.A505FNXXU1ASD6)  is dropping the WiFi connection to my router (Fr!tzBox 7940) for no clear reason.
I've been trying all the suggestions I found on the web:

Changing DNS/disabling PiHole (as I have/had one), as somebody with a Pihole experienced the same issue here: didn't solve it.
Disabling IPv6 on the router: didn't solve it.
Using a static IP address for the device: didn't solve it.
Reset the network settings on the device: didn't solve it.
Factory reset the device... a lot of work... didn't solve it.

The funny thing is that the phone is the only device experiencing issues. We also have a Samsung Tab (gen1), Tab S3, S7, multiple HP laptops and a Tanix TX6 that experience no issues at all!
... I am expecting radio issues.
Every time this occurs, I need to disable and re-enable the Wifi of the A50 to get a connection again. Sometimes it even lists my router, but just doesn't (automatically) connect.

Sometimes it even lists no Wifi sources at all! Even though I should see the weak signal from the neighbors: it's quite busy here

Sometimes I don't even get the WiFi to enable!!
The logging apps I found don't tell me much. E.g. the app "WiFi monitor" logs this (translated):
2019-05-16 17:20:06 WiFi is switched on. WiFi network is connected: "FRITZ!Box 7490". RSSI: -52 dBm
2019-05-16 17:20:08 WiFi is switched on. WiFi network is connected: "FRITZ!Box 7490". RSSI: -48 dBm
2019-05-16 17:20:46 WiFi is switched on. Connecting to WiFi network…
2019-05-16 17:20:46 WiFi is switched on. No connected WiFi networks
[3 minuted later I find out and manually intervene]
2019-05-16 17:23:51 WiFi is switched on. No connected WiFi networks
2019-05-16 17:52:05 WiFi is being switched off
2019-05-16 17:52:05 WiFi is switched off
2019-05-16 17:52:08 WiFi is being switched on
2019-05-16 17:52:09 WiFi is switched on. No connected WiFi networks
2019-05-16 17:52:11 WiFi is switched on. Connecting to WiFi network…
2019-05-16 17:52:11 WiFi is switched on. WiFi network is connected: "FRITZ!Box 7490"
2019-05-16 17:52:11 WiFi is switched on. WiFi network is connected: "FRITZ!Box 7490". RSSI: -54 dBm
2019-05-16 17:52:12 WiFi is switched on. WiFi network is connected: "FRITZ!Box 7490". RSSI: -56 dBm

My router also has some logs indicating that in some cases it might be related to channel switching:
16.05.19 17:52:13 New wireless device registered itself (5 GHz), 433 Mbit/s, Galaxy-A50, IP 192.168.178.97, MAC [cut].
16.05.19 17:52:11 Wireless LAN device registered: Reactivating wireless LAN at full power (5 GHz).
16.05.19 17:25:57 Wireless auto channel: The channel settings (previously channel 52 (5 GHz)) were changed; now active on channel 36 (5 GHz).
16.05.19 17:25:51 Wireless auto channel: Current detection of the wireless LAN environment (5 GHz) in progress, in order to optimize the wireless channels in use; some wireless devices may be re-registered.
16.05.19 17:23:50 No more wireless LAN devices registered: Reducing power consumption (5 GHz).
16.05.19 17:20:52 Wireless device was deregistered (5 GHz), Galaxy-A50, IP 192.168.178.97, MAC [cut].
16.05.19 17:20:03 Reregistered wireless device (5 GHz): Automatic change of wireless band to improve data transmission, Galaxy-A50, IP 192.168.178.97, MAC [cut].
16.05.19 17:20:03 Wireless device registered (5 GHz), 433 Mbit/s, Galaxy-A50, IP 192.168.178.97, MAC [cut].
16.05.19 17:20:01 Wireless LAN device registered: Reactivating wireless LAN at full power (5 GHz).
16.05.19 17:19:58 Wireless device was deregistered (2,4 GHz), Galaxy-A50, IP 192.168.178.97, MAC [cut].

I'm trying to find a way for android to tell me why it is dropping the wifi and not reconnecting. Any tips?

Which Wifi 2.4GHz channel is used by your Fritz!Box? Which country you live in? Is the 5GHz network strong enough (the log shows your phone tries to use 5GHz) at all points you use the phone?

@Robert the box automatically switches channels, so there's no fixed 2.4GHz or 5GHz channel. As the picture second picture shows, the 5GHz is quite strong. Also, the phone does see the 2.4Ghz but simply doesn't automatically connect (even though it should). On other occasions it doesn't see radio sources at all, while they are there. It seems like the wifi radio SW "crashed" or so. I mean: even if the 5GHz is bad, it could switch to 2.4GHz right? It does so in other occasions. I want debug information from the wifi radio SW...


text:
SD Card unmounts automatically
Each and every time I restart my phone, a Samsung Galaxy Duos version 5.0.2, the SD card unmounts itself.  What could be the problem and what should I do to stop this.  Whenever this happens all the applications do not show up.

Have you tried another sdcard to see if it exhibits the same behavior?

I think it's probably with the phone.The problem doesn't persist whenever I go to the settings and firstly unmounts  SD card and then restarts.It's a solution I discovered and as a precaution I have to take before restarting the Os.Take note also that-After restarting I then heads to the settings and re-mounts back- However,you asked if I have tried another SD card.Well I have two handsets and each has the card and I have verify.Huawei doesn't exhibits what I see with this Samsung Duos.Another thing that tends to overwhelms me recently is that;pictures from my gallery doesn't uploads either through android browser or within individual applications.Thanks for your great concern.


text:
Android Q Desktop Mode - control secondary display
I tried new Desktop Mode on Android Q Beta 3. The problem is that I'm not able to move mouse pointer to second display, so I don't have any way to use Desktop Mode.
Google Pixel XL, display is ASUS ZenScreen MB16AC, connected throught HUB via DisplayLink presenter (with USB-A)
Question: How to move mouse pointer to secondary display?

What phone are you using?

@ShaunRoselt I'm using Google Pixel XL

You should keep in mind that Android Q with it's Desktop Mode is still very much in beta and not a finished product at all.
There's still lots of bugs and problems with it.
The best you can do is wait for the official release later this year.


text:
How do I bring back the Spotify lock screen controls?
I accidentally permanently dismissed the play/pause/skip controls for the Spotify app on my lock screen. I've looked all over trying to find how to bring them back to no avail. How is it done?

There's a setting in the spotify app. From the spotify home page on your phone, open the settings (top right) and enable "Device Broadcast Status".

That didn't do it, thanks though. Still no controls after restarting app and phone, not that that should be necessary.


text:
How to start video record from PC?
is there a way to record a video just like if I would record with a normal camera app but with the difference, that I can observe the image on the PC? I've tried IP webcam and droidcam, but both created videos with very bad quality compared to normal camera recording, I guess due to streaming limits.
But streaming is not my aim, I just would like to have a preview and then simply start recording locally to the phone.

scrcpy is a free/open source project which allows you to mirror the Android device and control it from the Windows/MacOS/Linux. It does require the device to be Android 5.0+, and have adb developer debugging enabled.
Once running I was able to with a Pixel 2 and a MacBook Air:

See the Pixel 2 screen on the MacBook Air screen
Scroll on the Pixel 2
Click on the camera app
Switch to video recording in the camera app
Click record
Click stop recording

without touching the phone.
You would still need to get the video off the phone but the video quality is of the native camera app.

in ip Webcam you must change the settings to get the full quality on video recording and can record at a 1920x1080 resolution if what you need is record from the phone and monitor from network it is the app you need, maybe you have being recording from the computer the stream whit some lose !


text:
Troubleshoot fastboot error 'remote: ' command not defined

Device: iMX 7ULP evaluation kit
Platform-tools: r28.0.3
Image: O8.1.0_1.4.0_ANDROID_TOOL_7ULP_GA (ARM 32 Android 8.1)

I used the image provided by nxp website on the device. Then I tried unlocking it.
According to a tutorial, I used adb to bring the system in bootloader via
> ./adb reboot bootloader

The device goes to the splash screen and stop there (Not sure if that's how it should be). adb does not recognize the device anymore and fastboot fails on any command as fowllows
> ./fastboot.exe oem unlock
                                FAILED (remote: ' unlock device failed.')
fastboot: error: Command failed

> ./fastboot oem device-info
                                FAILED (remote: ' command not defined')
fastboot: error: Command failed

> ./fastboot flashing unlock
                                FAILED (remote: ' unlock device failed.')
fastboot: error: Command failed

How can I troubleshoot that and unlock the device?

I found the problem eventually.
In the developer options, there is an option OEM unlocking which must be allowed. Otherwise fastboot fails.


text:
Can I get the account details or logged details of an application from the data / file system directory of phone?
Can i get the account details or logged details of an application from the data file of the application in the file system. My device is rooted.
For example I have two Instagram accounts saved in the app. Can I get any details about the account from the file system of the application.

What app you are taking about. Please edit your question and provide the name of the app and a link to the app in Google PlayStore. Are the accounts visible in the accounts list of Android?

If you are looking for a way to get the account information for the app's data files then that is probably impossible. Apps store confidential user data in files which are not visible to users in their file managers. Also, if one finds such a file, then parsing it to get necessary details is another challenge.


text:
Downgrade Android OS from Android Pie
One of our devices had the OS upgraded to Android Pie. How do I identify the time and date that the update occurred?  Is there a way to downgrade the OS back to the Android version from which it was upgraded?

What manufacturer?

Which device is it? You should also check out if the device supports firmware downgrade or not. Unsupported devices get bricked during this process.

thanks for very quick response, Device is Xiami Redmi MI 5 Pro @BoLawson

thanks for the help could you plz guide  me to  know  the steps  to check device supports firmware downgrade or not.. @Firelord

@reema First you need to download the device firmware image for the exact device type you use in the version you want. I don't know if Xiami provides (old) firmware images for download.

How do I identify the time and date that the update occurred?

Open your device's Settings app.
Click on "Software Update"
You will see a "Last Update" entry at the bottom
e.g.  The last update was installed on xxxx x, xxxx at xx:xx PM.

Is there a way to downgrade the OS back to the Android version from which it was upgraded?

The short answer is 'Yes.'  The long answer: This is a very complex process that is typically not encouraged by vendors or manufacturers so you won't be getting support from them.  You also run the risk of losing data, permanently losing use of your device (bricking), losing warranty, amongst other issues.  I would respectfully suggest that this may be more than you should be taking on.  You will find it very challenging and unless you find a site in your native language, you are apt to miss some small (or large) detail or nuance.
Having said that there is a very active community of users who do this sort of thing. You might want to hop over to XDA Developers Forum for Xiaomi devices and see what you dig up, but I would be very cautious about what you do and whose advice you take.

Thanks for your great help, but still m stuck with identify the time and date that update occured,because my device received another update of MIUI 10.2.2.0 |Stable that's the simple step not showing in my device.thanks again.


text:
OTG Android Wifi dongle
I need your advice.
I have a Nexus 5x.
I'd like to connect Wifi dongle with Nexus 5x to use larger antenna for wifi.
Example product
[Nexus 5x]--[Otg cable]--[USB wifi product]
I tested with a usb-wifi module.

My nexus 5x recognize my usb-wifi device as "Ralink 802.11 n WLAN".
I used "Easy Otg Checker" app to check device name.
but. I do not have confident whether Nexus can use dongle as wifi.
Is there any way to use wifi dongle on Android smartphone ?
I saw a Youtube video. but I do not know...How to...

Is your device rooted?

No. it is not rooted.  Should I do rooted ?

With root access you can manually create and configure network interface. The problematic part is if kernel doesn't have driver for the dongle, which is not your case.


text:
Why is "mdnsd" draining my battery and how to stop it?
This process (mdnsd) had been draining my battery for a few weeks. I have not been able to find a solution after a lot of search.
I don't have any drone app, Facebook app or Firefox, although it's true the issue started more or less when I installed the Firefox app. But I have uninstalled it, rebooted my phone and the issue is still there which makes me think Firefox maybe didn't have anything to do with this.
Any ideas? I have an LG G2, Android 4.4.2

How to you see the process list (via an app - which one; or via command-line - adb/termux)?

@Robert I just see it from the default battery usage feature of my phone

WHAT IS MDNSD:
mdnsd (Multicast Domain Name System Daemon) is Android's implementation of mDNSResponder, a part of upcoming Zero Configuration Networking. It allows you to automatically discover services and appliances attached to your network:

Name-to-address translation and other DNS-like operations (mDNS) in the absence of a conventional unicast DNS server:

It provides the ability for the user to identify hosts using names instead of dotted-decimal IP addresses, even if the user doesn't have a conventional DNS server set up.

Network Service discovery (DNS-SD):

It also provides the ability for the user to discover what services are being advertised on the network, without having to know about them in advance, or configure the machines.

This daemon is continuously sending multicast broadcasts (queries / advertisement) to all hosts on local network at IP address 224.0.0.251 and UDP port 5353, also listening on the same port.
WHICH APPS USE MDNS:
Any app that makes use of Android's Network Service Discovery, will request mdnsd running in background (1, 2, 3):

Adding NSD to your app allows your users to identify other devices on the local network that support the services your app requests. This is useful for a variety of peer-to-peer applications such as file sharing or multi-player gaming.

A quick search on forums will show many apps being blamed for excessive battery drainage becuase of using mdnsd, e.g. Facebook and Firefox. The later has been gone through a bug in the past that caused the unexpected behavior. Now they have their own implementation of MDNS (4). Google Play Services also have built-in MDNS service (to discover Google Cast receiver devices like Chromecast) (5, 6).

Devices that support NSD include printers, webcams, HTTPS servers, and other mobile devices.

AOSP's built-in apps Print Service Recommendation Service (com.android.printservice.recommendation) and Default Print Service (com.android.bips) also make use of NSD. So if you are using printing features on your device, those would be causing mdnsd run in background. But the most common reason is ADBD (Android Debug Bridging Daemon) which force starts mdnsd (7).
HOW TO STOP MDNSD?
mdnsd is an init service (8) which can be stopped by triggers. Add a few lines to /etc/init/mdnsd.rc:
# stop mdnsd on startup
on property:sys.boot_completed=1
    stop mdnsd

# stop mdnsd when adbd starts/stops
on property:init.svc.adbd=*
    stop mdnsd

You can also manually stop the service anytime by executing:
~# setprop ctl.stop mdnsd

Or you can directly kill the mdnsd program as suggested by @DBX12. The service shouldn't restart because it's oneshot. But if it's triggered again and again by some app or the OS, you can make the binary inexecutable (or delete) at all:
~# chmod a-x /system/bin/mdnsd

However this may break some apps' functionality.
All of the above solutions require root. If your device isn't rooted, the only way is to identify and stop using the app/feature that uses Android's NSD API or directly starts mdnsd service.

I guess I'll have to root my phone. I have tried to identify the app but I couldn't, after playing a lot with uninstalling things

Did you stop UDB Debugging from Developer Options and restart device? May be it's the ADB starting mdnsd at startup. Once started, it won't stop even if you stop ADB later on.

Yes, I had done that

May be you have set persist.sys.usb.config=adb in your /default.prop.

It seems like it is the daemon for multicast DNS. I have the same issue as OP and Trevor. My solution is the following (assuming you have a rooted device). If you have adb, then do step 2 over that, it is more comfortable to type on a keyboard ;)

Install a Terminal Emulator
Create a shellscript with the content su -c "kill $(pgrep mdnsd)"
Run it everytime you see fast battery drainage as this is a symptom of a running mdnsd. Confirm the prompt of SuperSU to grant root permissions to the script.

What the script does:
su -c "kill $(pgrep mdnsd)"
^      ^    ^ ^
|      |    | |
|      |    | +- Search the process list for the phrase "mdnsd" and return the process id
|      |    |
|      |    +- Spawn a subshell and execute contained command and return its output
|      |
|      +- Stop the process with the process id specified after kill
+- run the command specified after -c with superuser privileges

Needless to say, it requires a working "su" binary, meaning you need a rooted phone.

@peterh well, I put that requirement in the second sentence in bold ;)

Oops, thx, dbx! :-)