# Question
Title: How to "passthrough" a file from PC to Android and back using 'exec-in' and 'exec-out' directives?
I can do this:

```
adb exec-in "gzip > sdcard/test.gz" < C:\test.txt
adb exec-out cat sdcard/test.gz > C:\test.gz

```

The question is how to do something like this:

```
adb exec-in "gzip > C:\test.gz" < C:\test.txt

```

I mean, how can I use a file on my PC as an input for some android (linux) program and use another file on my PC as an output WITHOUT saving any data on android's internal memory (flash, microSD etc)?

# Answer
My post is more a comment than an answer (but I cannot comment). All my comments below address only the case of Windows adb host.

`adb shell gzip >C:\test.gz <C:\test.txt` probably works just because the input file is a text file.

`adb shell gzip >C:\test.gz <C:\test.bin` fails because the call of Windows read function in adb stops reading as soon as 0x1A byte (ctrl+Z) is read. This is the default text operation mode of the Windows read function. The workaround uses by `exec-in` and `exec-out` is to call \_setmode() to configure the writing and reading of file descriptors in binary mode.

Unfortunately most of the time `<test.bin adb exec-in "cat - > sdcard/test.bin"` fails as well for adbd version \< 1.0.41 (ie anything below android 10). The cause is probably some race condition issues in the usb.cpp code of adbd.

Android 10 fixes this with the nonblocking FFS implementation and `<test.bin adb exec-in "cat - > sdcard/test.bin"` works with Windows (tested with LineageOS 17.1 + Windows 10)
> 1 votes

---
Tags: adb
---


title: How do I get my keyboard back?

text:
# Question
Title: How do I get my keyboard back?
I recently got an Android Polaroid tablet and I noticed it was incredibly slow so I disabled and force stopped a lot of the apps that were pre-downloaded onto the device because I knew I'd never need them. That seemed to help and for a few weeks everything was cool and way faster until I started getting this notification every two seconds that said, "*Unfortunately, Android Keyboard has stopped.*"

A little bit after that, I went back to college and I tried to connect to my school's WiFi and it wouldn't work because you need to type in a username and password to connect, and you can't type without a keyboard. So, I know you can install keyboards onto your tablet to replace the old one, but

1. I can't connect to WiFi without typing,
2. I can't connect to Google Play without WiFi, and
3. Even if I could, how would I search for keyboard apps without being able to type them in?

# Answer
It is possible to connect your device via USB to push an apk from the computer. There are a number of sites that allow apk files to be downloaded to a pc and file transferred this way. Search google for "android keyboard apk download" for an acceptable one. Once the file has been placed in a folder on the device, double click it to run "Package Installer" to install. You will have to enable the setting "Unknown Sources" in the security panel to install this way.
> 1 votes

# Answer
I just had the same issue. I used the "touch" to copy and paste the word keyboard into playstore. If you cant get wifi because you cannot VOICE it in. Then VOICE your information into Google. Copy. Paste. Hope you solve this is terrible when it happens! I was hoping someone could just tell me the app I accidentally flipped off... Literally and. Figuratively!
> 0 votes

# Answer
maybe you can install new keyboard via recovery. i don't know what your device is, but you could try install this keyboard.

you could use this "get the flashable zip here"

go to recovery and install it. good luck.
> -1 votes

# Answer
Go to Google play, push another keyboard apps to your mobile from any pc or notebook, after installing newly installed keyboard app set it as default, then from setting make google keyboard as default, you will get the keyboard back....... .........
> -1 votes

---
Tags: google-play-store, wi-fi, keyboard
---


# Question
Title: Why does Google Chrome on Android has so many permissions?
Just found out through a connection tracking app, that Google Chrome on my Android 9 has so many permissions granted . Permissions like :-

1. Pair with Bluetooth devices
2. Access Bluetooth settings
3. Read your contacts
4. request install packages
5. Download files without notification
6. Find accounts on the device
7. Download files without notification

**Are there permissions Normal?** When I check in the permission settings of the Chrome App, it does not show all these permissions enabled! Have factory reset the phone too

# Answer
so yes permissions:

* pair and acces bluetooth - this is STANDARD for some sites in html/html5 , if browser wouldn't have this permission some website could be broken.
* read contacts - it's a next html api and also can break some sites if disabled.
* install packages/download files - you think that you can't download things from internet? just look at clouds, github (and other similar sites), pages for converting media types, etc.
* find accounts on device - for logging in to your google account which can be use for f.e. : tabs and bookmarks

and if you think that sites doesn't require some permissions look at my game : https://hacknorris-notyetbanned.github.io/glitched.github.io/game/index.html (yes it's self-advertisement but it'd answer your question i think...)

and a few sources with these and a few similar permissions and API's for use by YOU : https://www.w3schools.com/js/js\_api\_geolocation.asp ; https://developer.mozilla.org/en-US/docs/Web/API/Contact\_Picker\_API ; https://developer.mozilla.org/en-US/docs/Web/API/Web\_Bluetooth\_API ;

and if about not showing these permissions in system - it may be due to ROM on your phone.
> 0 votes

---
Tags: security
---


# Question
Title: Executing ADB commands while running scrcpy
I am using the program scrcpy in order for me to control my Android phone from my PC.

It all works just fine with showing the Android screen, but I want to open an app from within the scrcpy console box.

I have not seen anything on Github about a feature like this - just the ability to add or remove an app.

Am I overlooking something?

# Answer
> 2 votes
You can open up a new command prompt window and issue whatever adb commands you want. They would work.

You can also put scrcpy in background if you want to use the same command prompt window to do something else there. Head over to Superuser to know more about this.

---
Tags: adb, scrcpy
---


title: Mic doesn't work during calls!

text:
# Question
Title: Mic doesn't work during calls!
I have Honor 3C.

My phone records sounds, in sound recorder app or capturing video with camera. But when I call someone (or someone calls me) mic doesn't work unless I enable speaker. When it's on speaker, the mic works!!!

What should I do?

# Answer
My first guess is that your phone has two mics - one for "computer-like" use, one for when you're holding it to your face - and the second of these is broken (i.e. a hardware problem). If that's right, then you should get it repaired, either by taking it back to the shop, or by finding a repair centre near you.
> 3 votes

# Answer
A temporary fix is to put it on speaker then back to internal mic I've had this problem with three different phones all different name brands.
> 1 votes

# Answer
Try going to -\> Settings -\> APPS -\> Permissions -\> Microphone -\> When Recorder is enabled, disable it.

If this does not work, you can try to disable all other checkmarks *"screenshot it first"*, if none of this has helped, you have to contact a repair service.
> 0 votes

# Answer
I got the same issue before. And I solved. The mic is controlled by other apps during your call. Just deny apps having permissions to use microphone and phone. Go to settings-apps-all apps-tap each app, check it's permissions and deny microphone and phone. Ofcourse don't deny for apps like whatsapp, skype etc.
> -1 votes

---
Tags: calls, microphone, speaker, huawei-u8860
---


title: WiFi not in range

text:
# Question
Title: WiFi not in range
I have a Samsung galaxy S3. I used to connect it to my router via WiFi and connect to the internet. Everything was OK till I switched WiFi off and then on. It doesn't connect to the router anymore and says "WiFi not in range", But it does connect to WiFi hotspot on my other phone. I don't have the problem on my other devices. I've tried restarting the phone and it didn't work. Any ideas?

# Answer
If you have not changed your setup, it could be a hardware issue. You might want to check if you can still access other networks.

You may also use a Wifi Scanner application to verify that you can at least see other WiFi access points. If you don't see any other networks, then you might have issue with the WiFi in your phone.

If you do see networks, then your home WiFi might configured in a way which the phone doesn't like or support. I would have a look at you routers channels (e.g. pick one 1,6,11). Make sure you access point allows 802.11 n devices (i.e. not AC-only), since the Galaxy S3 only supports up to N.

Should it be a hardware issue and you where very determined to try and fix it yourself, you can use the resources published over at iFixit to learn how to open it and see if anything obvious is disconnected.
> 0 votes

# Answer
Just flashed the phone and it solved this. I still don't know what caused the problem, but it worked.
> 0 votes

---
Tags: wi-fi, router
---


# Question
Title: How to boot into the Recovery mode without volume buttons and reset hole?
I'm having a Chinese tablet Allwinner Quad Core A33. The tablet has only Power and Home buttons. No Volume buttons, no reset hole.

When it boots, it freezes on the Company logo.

The ADB devices command sees no devices.

I am trying to boot into the Recovery mode by holding down the Power and Home button, then releasing the Power button, but nothing happens (like pressing the Power and Volume Up buttons on other devices).

Is there any way to boot into the Recovery mode?

# Answer
I found that I can go to the Download mode by pressing and holding down the Home button. Then I connect the USB and press the Power button. I also used Phoenix Suite.
> 0 votes

---
Tags: recovery-mode, tablet
---


# Question
Title: Making a call Google Assistant by saying "Call Mom & Dad" shows "App is not installed."
I have an Android Head unit in my car running Android 8.1 It has Google Assistant and almost all of the voice commands I've tried work normally except for making calls with the command "call Mom & Dad". My phone is connected to the Head Unit through Bluetooth. It is running an AOSP version of Android 10. I can manually make and receive calls successfully on the head unit through the phone Bluetooth app that comes with the head unit.

Assistant recognizes the command and then displays "App is not installed." in a toast message. After that, it shows the command that was just spoken. There is a button next to the command that says "Call". When I press this button, it successfully brings up the Bluetooth app and makes the call.

I've tried the following with no change:

* installed Google Contacts
* installed an XDA version of the Google phone app as the Google Phone app does not show up in the Play store on my head unit
* I've made sure all permissions have been turned on for the Google app
* I installed an app called GVC CallHandler for Joying

When I try to do the voice call on my phone, it works. Initially, I made the call through the standard Google phone app. I then installed the GVC CallHandler app on my phone and selected it to make the call. Assistant tried, but when the GVC CallHandler took over, there is an exception saying that the Joying Bluetooth app was not found...which is correct when run on my phone...and that can be found in the app source.

The GVC CallHandler is not used and/or is not an option to make a voice call when I voice "Call mom & dad" on my head unit. After installing this GVC CallHandler on my head unit, when I pressed the Google Assistant "Call" button described above, then I am asked to choose between the Bluetooth app and the GVC CallHandler app.

From my research, I believe the message "App is not installed" is shown when no activity is found in Android to handle the intent being invoked. I'm not sure what intent is being called and don't know how to find out what intent is being called. I have the source for GVC CallHandler. It's an app from XDA that is available on the Play Store. GVC CallHandler XDA thread and the post with the source.

GVC CallHandler is an app that was previously created to modify the number being called to make it into a format that would work in the built-in dialer. It would remove characters such as "(", "+", etc.

So, any help to determine and address the "App isn't installed." message as described above would be great. What I'd like to do is say "Call Mom & Dad" and have the call go through my Bluetooth connected phone to make the call.

Addition: This happens to any and all contacts that I've tried.

Addition: The intention of this is to make calls through the Bluetooth attached phone.

Addition: While testing this again, I was able to find this in the logs related to the request to make a voice call:

```
android.intent.action.CALL dat=tel:xxxxxxxxx flg=0x1000000000 pkg=com.android.server.telecom (has extras)

```

This was followed by a failure to find the activity and/or the telecom package. I'm currently looking into this.

Thank you

# Answer
> 1 votes
I thought I'd come back and post an update / conclusion to this question.

With the help of others, it was determined that the Android Telecom server on my Android Head Unit was missing code to handle the voice call. After replacing it and then adding a custom phone dialer modified to pass the call information to the GVC CallHandler, which then passes the information to the Bluetooth attached phone, the voice calling worked.

Details can be found on the XDA forums under the General / Android Auto / Android Head Units forum in the thread named "Modding your Joying/FYT SC9853i unit without root", page 31.

Note: I thought originally that this was a common problem. However, this is not a general problem with Android but a specific problem with my head unit and possibly other FYT head units based on the Intel sc9853i CPU running Android 8.1 This may also apply to other units, but you'll have to go through and determine that on your own.

---
Tags: bluetooth, calls, google-assistant, automotive-head-unit
---


# Question
Title: Viewing using computer Chrome a HTML page downloaded on Arndroid Chrome
I save webpages for offline reading by opening the three-dot menu icon and tapping the download icon up top, which will download a version of the page. I also take regular backups on USB drives.

Now if I wish to view these HTML pages on my computer's Chrome browser, how do I do the same?

These files do not have any file extension. I tried adding .htm to them and then trying to open but was not successful.

All help is sincerely appreciated.

Thanks

# Answer
> 0 votes
Chrome for Android saves a webpage in MHTML format. It doesn't append the extension in the filename though, hence, the problem in opening it in Chrome on PC. Opening such a file in Chrome on PC without correct extension makes Chrome load the content of the webpage in plain text instead.

Appending `.mhtml` or `.mht` as extension to the filename and then opening the webpage in Chrome on PC should work.

---
Tags: chrome-for-android
---


title: TalkBack won't turn off

text:
# Question
Title: TalkBack won't turn off
I have a Motorola Moto E running KitKat 4.4.4. It somehow got into TalkBack mode and now I can't swipe the screen to get into Settings. I did a factory reset, but it's still there! How can I change the settings when I can't get to them?

# Answer
> 1 votes
If you have inadvertently enabled Talkback, you can quickly pause it then go to the Settings and disable this feature.

* From anywhere on the screen, swipe down then right in a single motion, as if you were drawing an “L”. *(This should work whether the phone is on the lock screen or unlocked.)*
* You will then see 2 options in the top corners of the screen, select “Pause Feedback”.
* When the **Suspend Talkback** message appears, double tap “OK”.
* You can now normally go into *Settings \> Accessibility* and disable Talkback.

# Answer
> 0 votes
Hold the UP and DOWN volume buttons for 3 seconds, then do it AGAIN.

---
Tags: 4.4-kitkat, talk-back
---


title: Reduce video size

text:
# Question
Title: Reduce video size
I want to transfer video files over the internet. I intend to reduce a video size of 100x MB to below 10 MB. I tried some apps, but they reduce the size down to 10x MB, *not* below 10 MB. Also, their video qualities are *not* acceptable.

Is there is any app that can produce a video of less than 10 MB with high quality?

## UPDATE

My videos are around `5` minutes long. On a desktop computer, I use HandBrake software with these settings to produce an acceptable output:

* Dimension `360` width by `640` height
* RF quality `33`
* FPS `15`
* Video codec H.264 (x264)
* Audio codec AAC stereo with `24` bitrate.

With the above settings, for example, a 700 MB video would become 7 MB.

I don't know how to set these values by any Android app. Is there any app for it? I tried YouCut, but I couldn't find any such settings.

# Answer
**Video Transcoder** seems to be what you are looking for:

* transcodes videos
* can reduce file size by manually adjusting parameters, as you are used to by Handbrake
* "size-reduced" videos have acceptable quality, again as you are used to by Handbrake

<sup>*Video Transcoder* (source: F-Droid)</sup>

While the app is also available from Google Play, I recommend using F-Droid whenever possible: better privacy, and the only "store" where (until now) no malware was found ever.
> 1 votes

---
Tags: audio, video, media-files
---


# Question
Title: Security on a Nexus 6P purchased on Ebay
I purchased a used Nexus 6P on ebay to replace my current 6P, because the camera has failed.

The seller indicates that the new phone has been factory reset, but I'd like to be sure that there is no spyware hidden deep in the system.

On a desktop machine I would erase the hard drive, install the operating system of my choice, and be confident that most reasonable vectors of attack were removed. (Sure, he could've hidden something in the firmware of a device or whatever else, but I'm not worried about that level of sophistication).

I'm not sure how Android factory resets work, but given that the phone's memory is never completely erased, I worry that a malicious actor could have put bad software into the image that the factory reset restores from.

Is this a valid concern? If so, is there a way to address it and be sure that my phone is not sending all of my information to some one else (other than google)?

# Answer
> 28 votes
Theoretically, a factory-reset wipes data only while any deep seated malware that injects itself into the `/system` partition *isn't* wiped. To that extent you have a valid concern.

Fortunately, you have a Nexus device. Google provides factory images for Nexus/Pixel devices (here). You can flash the factory image for your device following instructions on that linked page. See adb tag wiki, if you aren't familiar with `adb`. It might look a little complicated if it's the first time you are doing this, but it isn't.

# Answer
> 7 votes
In addition to the accepted answer, by flashing the official image and applying **bootloader lock** you have 100% spyware-free guarantee.

This because Android devices with a locker bootloader won't boot if the boot loader is not genuinely signed by the manufacturer, and the public key is buried in the firmware.

---
Tags: security, factory-reset, nexus-6p
---


# Question
Title: Is it possible to restore the data of Microsoft Authenticator from a TWRP backup?
After installing the latest LineageOS update on my phone, unfortunately, my phone boot looped, so I made a backup using TWRP, and I did a clean install of the latest version of LineageOS, attempting to restore the backup TWRP had made, but only for my phone to be boot looped yet again. Unluckily for me, I had to "restore" my apps by simply downloading them (through the Google Play Store) and logging into them. Sadly though, one of my necessary apps/accounts requires two-factor authentication, which is a problem because my two-factor authentication app ("Microsoft Authenticator") had gotten wiped, and although it is backed up in TWRP, I don't know what I can do with it. Also to note, there are no other "additional" methods of logging in for this account of mine. Now I am stumped, as to what I could possibly do to be able to recover either:

1. My keys + all of my Microsoft Authenticator app data, or
2. Be able to find out what other accounts were linked to my Microsoft Authenticator app.

I am aware that I'm able to extract TWRP's files (each has some sort of `win` extension) by renaming their extension to `.tar` and opening them with a file archiver like 7-Zip/WinRAR. However, my question is, what would I have to do to be able to possibly restore my Microsoft authenticator app data to my phone, without having to restore the entire data partition of my TWRP backup (Because if I were to restore the entire data partition, my phone would boot loop again).

Sources I checked out:

* Restore-apps-from-a-nandroid-backup-using-titanium-backup \- Titanium Backup doesn't work well on the more up-to-date versions of Android (Particularly Android 11, since that's what I have right now), the same thing with Nandroid Manager (Nandroid Manager isn't maintained for the time being)
* Twrp-manual-restore -- Seems old and unlikely to work on Android 11 (But it might)
* Restore-app-data-without-restoring-the-whole-image -- Could be a plausible solution, but I don't know where I'd paste the data/data file (I don't even know what the data/datafile looks like) to, cause I don't have anything similar to "sd/ext.SD", and I don't know what'd be considered my "readable memory."
* Restore-data-of-a-specific-app-from-a-twrp-backup -- Asked 8 days ago, a remarkably similar issue to me. However, I don't think I can replicate the steps since I found two `com.azure.authenticator`'s, each in separate `win` files (One has the `base.apk`, another has some other files, and an image of me combining them is shown)

>

**TL;DR: How can I recover solely my Microsoft Authenticator data from my TWRP Backup?**

Notes:

* I use Microsoft Authenticator as my 2-factor-authentication app, and sadly, I did not enable cloud backup for it at the time of my factory reset
* I did not export my codes/OTP from Microsoft Authenticator, as there is no option for that
* My phone is rooted, and I have TWRP installed

Any help would be much appreciated, thank you!

# Answer
> 4 votes
With much thanks to @Robert and especially @Firelord, I was able to resolve my problem, and with relative ease.

Below contains all of the steps I had to take to recover the necessary information I required from the Microsoft Authenticator folder.

Pre-requirement steps:

1. I had to have access to my entire TWRP backup, with all of the data partition files (I transferred my TWRP backup from my SD card to my PC to be able to access it with convenience/efficiency)

>
2. Then I had to change all of the data partition file extensions to `.tar` (The easiest way to do this was to just rename the files, and add `.tar` at the end)

>

Microsoft Authenticator Recovery Steps:

3. Next, I had to look through all of the ".tar"(s) and find the one that had the `_\data\data\` directory, from there, I found the `com.azure.authenticator` folder

>
4. I opened the `com.azure.authenticator` folder, and then found and opened the `databases` folder

>
5. Then I looked for the `PhoneFactor` database file which contained all OTP-related information for Microsoft Authenticator (I made sure it was not the cached version -\> I was able to tell which was the cached version by comparing the two `PhoneFactor` files and determining which is bigger, the bigger one is the "actual" file --- It seems all of the "cached" files have a size of 72 bytes)

>
6. I extracted the `PhoneFactor` file to an accessible location -\> downloaded an SQLite Viewer application (I chose DB Browser for SQLite) -\> and proceeded to open the `PhoneFactor` file with the SQLite viewer
7. Then I clicked the "Browse Data" button (The highlighted red boxes on the left side of the image are solely to indicate what I was looking for, which is all of the OTP information - On the right side, the highlighted red box is meant to display where you have to click to actually get the information)

>
8. You should now see all the information related to your Microsoft Authenticator app, including all of your OTPs and the names you assigned to them, the usernames you set to them, and most importantly, their oath\_secret\_key(s)
9. Now, you can either manually type in the oath\_secret\_key(s) alongside their name(s)/username(s) into Microsoft Authenticator, or any other 2-factor-authentication app you prefer

Boom, you have now successfully recovered the OTP information from Microsoft Authenticator.

---
Tags: twrp, restore, microsoft-authenticator
---


# Question
Title: Forcing Rooted Samsung Galaxy S5 onto 2.4Ghz WiFi
I'm looking to force my Samsung to use the 2.4Ghz range of our Wifi as I need it to setup another device. The problem is the SSID for the 5Ghz and the 2.4Ghz is the same.

Does anyone know of a way to block the 5Ghz range so only the 2.4 Works?

Thanks CRFC11

# Answer
I needed to be connected to 2.4ghz to connect to my robotic lawn mower to wifi and set it up. Tried everything to no avail. Finally I walked outside to a range that the 5ghz would no longer be good and the tablet automatically connected to the 2.4ghz signal. Then I was able to do the setup. Voila! I don't have an answer to change it forever but that worked for the little setup I needed.
> 1 votes

# Answer
If the SSID for the 5GHz and the 2.4GHz network is the same, it probably means that the connection is handled by the router/access-point. Hence, you should look into the configuration of the router/access-point, to see how it selects the channel to connect to.
> 0 votes

---
Tags: wi-fi, samsung-galaxy-s-5
---


# Question
Title: Chrome 65 doesn't allow screenshots in Incognito mode
Seems that in Chrome for Android version 65, a "feature" was introduced which doesn't allow you to take a screenshot in Incognito mode.

When attempting to take a screenshot, Android will now show an alert saying "Taking screenshots isn't allowed by the app or your organization."

```
     /**
     * Sets the attributes flags to secure if there is an incognito tab visible.
     */
    @VisibleForTesting
    void updateIncognitoState() {
        WindowManager.LayoutParams attributes = mWindow.getAttributes();
        boolean currentSecureState = (attributes.flags & WindowManager.LayoutParams.FLAG_SECURE)
                == WindowManager.LayoutParams.FLAG_SECURE;
        boolean expectedSecureState = isShowingIncognito();
        if (currentSecureState == expectedSecureState) return;

        if (expectedSecureState) {
            mWindow.addFlags(WindowManager.LayoutParams.FLAG_SECURE);
        } else {
            mWindow.clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
        }
    }

```

Source: chrome/android/java/src/org/chromium/chrome/browser/incognito/IncognitoTabSnapshotController.java

This is imposing rules you can expect to have in a enterprise environment on a personal phone.

> The operation system UI should make clear when and how other apps are recording the screen. As an app developer, I should not be bothered with avoiding screen captures. Breaking this functionality breaks the lowest common denominator of data sharing: Taking a screenshot. One of the reason to make a screenshot is just because an application misses a proper data export functionality.

Source: HN Discussion

>

Is there any way to disable or prevent this behavior?

# Answer
**Update:**

1. Navigate to `chrome://flags`
2. Search for "Incognito Screenshot" and mark and mark the `incognito-screenshot` as **Enabled**
3. Restart Chrome

---

**Previous workaround:**

For now, the workaround to take screenshots in Incognito mode is the following:

1. Navigate to `chrome://flags`
2. Search for "share-screenshot" and mark the `chrome-share-screenshot` as **Enabled**
3. Restart Chrome
4. Open Incognito mode, click the share button below the address bar
5. Select **Screenshot** and then **Save**
> 4 votes

# Answer
This appears to be a side-effect hiding incognito tabs from the recent apps list, which is intended as a privacy feature.

They also added an `--enable-incognito-snapshots-in-android-recents` switch to change this behavior, but unfortunately that's not easy to pass on Android, and there isn't an entry in `chrome://flags`. I didn't find anyone requesting a way to make it (easily) optional; I suggest filing a bug report about the screenshot-blocking side effect; that switch should at least be exposed as a flag.
> 6 votes

---
Tags: chrome-for-android, screenshots
---


# Question
Title: Can 2 mobile devices detect each other's presence using NFER technology?
If 2 mobile devices are in the same room can they identify each other or detect the presence of each other by using Near-field electromagnetic ranging (NFER) technology ?

And the second question is what technologies give such an opportunity at all ?

# Answer
When I understand the Wikipedia article on NFER correctly this requires special hardware that is not yet present in Smartphones. Therefore this questions seems theoretical to me (which means that it is Android independent).

Regarding your question what other technologies can be used to detect devices in the same room I would like to reverse the question:

What other technologies can not be used for such a purpose. Using some creative use of technologies like Bluetooth, Wifi, GPS, NFC, mobile network you can for certain use cases invent usage schemes that allow to detect devices nearby.

* NFC (hold devices next to each other)
* Accelerator sensor + mobile network ("bump devices to communicate")
* Wifi (open a mobile hotspot, or Wifi-direct)
* GPS + mobile network: devices with the same location
* Bluetooth - devices in range
* Speaker + microphone: use audio tones with frequencies non-recognizable by humans to communicate between devices
* ...

Nearly every sensor or technology provided by an Android smartphone can be used to establish a communication between two or more devices, depending on the sensor, the situation, the devices and so on. You just have to be creative and know the limitations of each technology.
> 2 votes

---
Tags: samsung, geolocation, operating-system
---


# Question
Title: Play audio through phone speakers when connected to Bluetooth car
My car has Bluetooth for making / receiving calls. It also allows media playback if I switch to Bluetooth instead of USB. I use my phone for sat nav so I'd like to be able to hear the audio telling me which direction to go and of any traffic problems. The issue is that it routes that audio to the car and I can only hear it if I switch the stereo to Bluetooth media, as if I was going to play songs from the phone. That means I either can't listen to music on my USB or I can't hear the sat nav. Is there a way to get my phone to play the audio back through its speakers in n steal of through the Bluetooth but still allow phone calls through Bluetooth?

# Answer
> 2 votes
This seems to be the setting -- go to Maps' Settings (tap the three lines in the left top corner to open a pane, then tap Settings there), there go to "Navigation Settings" and turn off "Play voice over Bluetooth" switch.

# Answer
> 0 votes
On my Samsung Galaxy S4 (Lollipop) using Samsung Music (recently updated, but this was the case when I bought the car, before the Lollipop update, and immediately after that update as well), with a 2015 Ford Fiesta (basic Sync Bluetooth audio and controls), this is the default. When I'm playing music, either Verizon Navigator or Google Maps directions (if set to give voice directions) pauses music playback to speak through the car's sound system. Even if I'm listening to FM radio, the broadcast is interrupted for directions. If I'm on a phone call, the directions voice is mixed, much softer than the voice of the person I'm speaking to (but still there).

Other phone initiated sounds (notification, for instance) also pause music, though keyboard sounds don't. Car initiated sounds (low fuel warning, service required warning) pause playback as well.

If this isn't happening with your phone and your car's Bluetooth, I'd start with checking your phone's general settings, then those of your navigation app, and finally those of your car's Bluetooth and sound system. It's got to be in there somewhere.

# Answer
> 0 votes
Go to Bluetooth settings, click on the gear icon beside the car name, uncheck audio.

---
Tags: bluetooth, audio, google-maps
---


# Question
Title: Apps go portrait and then landscape unexpectedly
When I updated my Motorola Moto G9 Plus to Android 10, when going landscape watching videos or playing videogames (after some minutes, repeatedly) go portrait and after 1 to 3 seconds return to landscape, I thought was just my phone, but my wife's phone (Motorola Moto G8 Plus) also have this glitch/bug

How can I fix that?

This was not happening with Android 9.

# Answer
Well, I believe the easiest way for you to avoid that would be to disable auto-rotate in your phone.

The automatic rotation tool is very sensitive, based on accelerometer, and some users complain that Motorola's is not so good. You may try also to calibrate it using an app like Accelerometer Calibration Free or maybe following the tips on this tutorial.
> 2 votes

---
Tags: applications, android-10, operating-system
---


# Question
Title: Prevent phone from automatically lowering media volume
I have a Samsung Galaxy SII Skyrocket. Everytime I unplug my headphones/auxiliary cord from my phone and plug it back in, the media volume gets lowered to about 60%, system-wide, regardless of media player. As much as I appreciate that Android is looking out for my hearing, I don't want it to do this. Any way to prevent the phone from lowering the volume of its own accord?

# Answer
I'd say this is solvable with an automation tool like Tasker, Llama & Co. Rawly described profile:

*Condition:* Headphones plugged
*Action:* Set audio level to X

Where "audio level" in many cases (at least with Tasker) can be defined more specific (e.g. different levels for notification, alert, incoming call...) -- and "X" being the specific level you'd like it to have.

This done, everytime you plug your headphones in, you'll have the same media volume you've defined.
> 4 votes

# Answer
Here is how to fix the problem without root and without setting the volume to some predefined volume (such as 100%).

This "feature" is controlled by a System.Global property `audio_safe_volume_state`, which is also reset automatically every 20 hours (this is why the volume periodically gets lowered all of a sudden even without plugging / unplugging the headset).

This excellent tutorial shows how to prevent volume lowering by changing the value of this property.

I cannot repeat the tutorial here, but the main points are:

* Install Tasker and AutoTools
* Grant AutoTools WRITE\_SECURE\_SETTINGS permission (no root required, but this is to be done from a computer via USB debugging with ADB; the command is `adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS`)
* Create tasks in Tasker (using AutoTools plugin) for start and for every several hours; you will probably need also to catch the event of plugging in a headset
* In this task, set System.Global property `audio_safe_volume_state` to `2`.

The value of `2` tells the system that it has shown you the "Do you REALLY want to increase the volume?" dialog and you have agreed.
> 1 votes

# Answer
There's an Xposed module to fix that: http://repo.xposed.info/module/com.pyler.nosafevolumewarning

It does the trick for me on the Galaxy Nexus I have plugged into my sound system.
> 0 votes

# Answer
Hey Guys ive had this problem... volume decreasing to mute and youve got no control of it, even when going to settings of media player.. volume goes to mute, its was a simple solution in phone settings. I went to settings/ my device /Sounds & notifictions. There youll see option for sound mode/ Make sure its set to sound and not vibrate or mute. Fixed my Problem with galaxy S4 . Dont know how the setting got changed but it while my phone was connected to my laptop via USB & the internet was on, Sum bug may have changed settings Possiblaly. Fix now
> 0 votes

# Answer
There's no hardware issue. It has a software issue. Problem can be solved in this way

1. Install an anti-virus software on mobile. I recommend AVG.
2. Scan device and delete threats apps.
3. Problem solved
> -6 votes

---
Tags: samsung-galaxy-s-2, audio, media-player
---


# Question
Title: YouTube no longer available for old Android 2.2 devices?
I unrooted my HTC Desire today and restored the stock ROM image, recovery image, etc. It's running Android 2.2.2 now. I noticed that the YouTube app is broken. I can run it, but it complains about not having Internet access, even though WiFi is working perfectly fine and I can surf the web. It also shows no video content, not even video titles, nothing.

I have received the Play Store (came with Android Market app) and I have successfully updated apps like Maps, Facebook, etc. but I can't see any update available for YouTube. I can't even locate the YouTube app.

If I visit the Play Store on my desktop PC I can locate the YouTube app, it's right here: https://play.google.com/store/apps/details?id=com.google.android.youtube

I can't push install it from the desktop, because it says it's not compatible.

> This item is not compatible with your device.

So does this mean that users who are stuck with an old device, and with older version of Android, are not able to use many of the Google apps such as YouTube?

IMHO, it should still be possible to download an older version of any given Android app, one that works with that particular Android version and device. This has always been the Achilles heel of Android, since its inception. Once you go up, to a newer version of an app, be it Google app or some other app, you can't go back.

But Google apps especially, should be made to work with older versions of Android, and users running old versions of those apps, such as YouTube, should be able to use the service without running into errors. In case the service has changed so much that it's no longer compatible with the old app version. The service should be developed to keep backward compatibility with old app versions.

Look at how the Play Store can be offered, installed, and run on old Android 2.2.2. I can even buy movies and music, despite this being an old device with limited storage space. Why can't they make YouTube work on old Android devices as well?

# Answer
APKMirror provides mirror for (almost) all version of YouTube APK.

You could try sideloading YouTube 5.2.27, the last version that Froyo (Android 2.2) still supports.

The next version, which is 5.3.23, already requires Gingerbread (Android 2.3.3).
> 4 votes

# Answer
This might work as a workaround, but I don't know if this particular app is compatible with Android 2.2. The "Dolphin" browser I believe has Flash built in. It would mean that you could browse the Youtube website as if you were using a PC with a browser. The videos would be shown as either html5 or flash plugins, which is built in to Dolphin. I have not tried this recently, but I believe I had this working in one of my older cell phones.
> 1 votes

# Answer
I know this isn't exactly what you're after - but NewPipe is an alternative YouTube app that may run on your device (I couldn't find the exact requirements): https://github.com/TeamNewPipe/NewPipe

YouTube Vanced is another alternative: https://www.xda-developers.com/youtube-vanced-apk/
> 1 votes

---
Tags: stock-android, youtube
---


title: SSH Key generation

text:
# Question
Title: SSH Key generation
How do I generate a pair of SSH keys to be able to use in several apps (Juice SSH, Turbo, etc) to access my remote host? I've tried generating them with Connectbot, JuiceSSH and on a Linux machine, but none seem to work...

EDIT: I've generated the keys the way I usually do, with `ssh-keygen -t rsa -b 4096`, copied the private key to a `ssh/` folder on my phone's internal memory (which I later point to in the client software) and added the public key to the `.ssh/authorized_keys` file on my server.

# Answer
You could install Termux, a terminal shell with additional Linux functionality on top of Android, with a package manager, so you can scale the magnitude of native Linux functionality at will. Then enter

```
pkg install openssh

```

Key-pairs in different formats will be generated upon OpenSSH install.
> 3 votes

# Answer
1. Install Termux from Google Play Store
2. Open Termux and execute `pkg install openssh`
3. Installation scripts automatically generates four public/private key pairs at `/data/data/com.termux/files/usr/etc/ssh/` folder for RSA, DSA, ECDSA, and ed25519 encryption algorithms.
4. If you prefer to do it manually and setup a passphrase just execute `ssh-keygen -t rsa -b 4096` and follow the process.
> 1 votes

---
Tags: networking, ssh, web-server
---


# Question
Title: Resetting the (non-gmail) email application
I am using the non-gmail email application to connect to get email from my university, but the app seems to have a bug and sometimes (probably when there are connection issues) doesn't properly delete emails. These would be deleted from the server, but get stuck in the app. Every time after a refresh operation they reappear even if I delete them over and over again. They reappear even if their date is older than the defined relevant window (e.g. last month). How can I refresh the app to get rid of these zombie emails?

# Answer
> 1 votes
If you don't mind having to completely re-configure it, and start as if you'd just installed that app:

1. Go to *Settings → Apps*
2. Scroll to the app in question, tap it
3. Select to "Delete Cache" and "Delete Data"

Now you've *completely* "refreshed" it. With some luck, the app somehow offers to export its configuration; if so, do that first, and re-import the settings after above described "reset" to save you from manually reconfiguring it.

# Answer
> 1 votes
I had exactly the same problem myself. The default android app for email took up a lot of storage space. When I tried to clear the Data from the app menu (Settings-\>Apps-\>Email) the "Clear Data" button was greyed out.

The process below will reset you connection to you email account, so make sure you know your password and settings so you can reconnect at the end.

I found that the Exchange Email server acquires some security settings, and this leads to the greyed-out option. What you need to override these settings is to go to Settings-\>Security, scroll to down and click on "Device administrators". You will find a list of programs with special security options, and one of them will be "Email". Uncheck the "Email" program. Once you do this your e-mail account will be *reset and deleted* and the space that the app takes will be cleared.

Gil

# Answer
> 0 votes
if you are using a cheaper phone, and this happens in **outlook** (Clear data is grey) go to settings-Search for security with the magnifying glass icon; then search for device admin aps click on **device admin aps** then un-check the **outlook device policy**..You can now clear the data..restart your phone, and start outlook again, you will need your password, but outlook recognizes your account.

# Answer
> -1 votes
It wants to be device admin in security. Unstick the device admin and use a separate app like OWA for exchange mail

---
Tags: email, 4.4-kitkat
---


# Question
Title: Samsung S21 where is enable auto space after period setting
I cannot find the setting for auto space after period when I'm typing a message on my Samsung S21.

Anybody knows where it is?

**hope it's not part of the autocorrect, because I have that turned off, because it's making a mess in my language*

# Answer
Samsung keyboard does not have that option to add a space after a full stop. It has an opposite option instead which adds a full stop before two spaces, converting one of the spaces after a word to a full stop.

* Bring up the keyboard,
* tap the keyboard input method chooser in the bottom right,
* select the "cog" and it will bring up the keyboard settings.
* A short way down there is the "More typing options". Tap that.
* in there you will find an option "double tap space bar to add full stop"
> 2 votes

---
Tags: keyboard
---


title: Faster way to unmount the SD card?

text:
# Question
Title: Faster way to unmount the SD card?
I unmount my SD card a lot, and I find it annoying to have to navigate through the settings app each time to safely unmount the SD card. I would like some way or some shortcut that can do this as quickly and as simply as possible.

I'm running Android 4.4.4 and I am rooted and using Xposed Framework.

# Answer
> 3 votes
You can use the app QuickShortcutMaker to create a shortcut to the Storage settings activity of Settings app.

<sub>(Click image to enlarge)</sub>

Tap on a particular entry and choose *Create* to create a shortcut on home screen.

# Answer
> 1 votes
The app Shortcut Creator works well. In the app, go to Shortcuts -\> Settings -\> Storage -\> +

Maybe Tile Shortcuts also works.

---
Tags: external-sd
---


# Question
Title: Can not receive WhatsApp messages unless I open the app
I have a Huawei P20 Lite with Android 9, EMUI 9.1.0 and WhatsApp 2.19.253, which is the latest version.

As I wrote in the title, I can't receive WhatsApp messages, after many hours of researching I didn't find any solution for my problem. This is the first time I face whit this problem, because I managed and configured variues P20 Lite but none of them gave me that headache.

The things which I did:

* Turn on every single option for WhatsApp's notifications;
* Uninstall the application and install it again;
* Remove the app from the battery optimization process;
* Clear the cache;
* Enabled automatic start, secondary start and running in background, following this steps Settings -\> Battery -\> app launch -\> 3 vertical dots -\> manage manually;
* No limit for internet traffic and allow background data, following Settings -\> networks and wireless -\> data usage -\> select WhatsApp -\> enabled the varius option.

Any idea or solution for this problem?

EDIT

When I send a message from my phone to this P20 Lite, on the message appears only 1 tick, such as the P20 is disconnected from wifi/mobile data, but the wifi is enabled and connected, the same behaviour with mobile data.

# Answer
I just had this issue here with P10 - WhatsApp would not receive until opened or at least running in the background. Now it receives even if closed. I solved it by:

Settings \> Search for setting \> Ignore battery optimisation

If by 'Allowed' apps you don't see Whatsapp, click on the corner triangle for 'All apps', search for Whatsapp and 'Allow'
> 0 votes

# Answer
I had similar issues with late or no notifications showing up, eg for Snapchat, Messenger.

> It is called PowerGenie and it kills all apps that are not on its whitelist. You cannot add custom apps on their pre-defined whitelist. This means there is no other way to fix proper app functionality on Huawei than uninstalling PowerGenie.

https://dontkillmyapp.com/huawei

Basically you can remove PowerGenie without root using ADB:

```
adb shell pm uninstall -k --user 0 com.huawei.powergenie
adb shell pm uninstall -k --user 0 com.huawei.android.hwaps

```

After I removed those packages I receive notifications 100% of the time for all my apps, just how it should be (and with no impact to battery life that I can see).
> 0 votes

---
Tags: applications, whatsapp-messenger, huawei, 9.0-pie, background-process
---


# Question
Title: Chrome Tab Grid Layout can no longer be disabled via chrome://flags, is there another way?
I used to be able to disable Google Chrome on android from having the Tabs Grid, by disabling the flag.

That no longer seems to have any effect. Is there another way to change this setting?

# Answer
> 1 votes
Doing some more research, I find that this is no longer enough

Update: That used to be it, but with the most recent update Google broke this fix, but never fear there is a temporary solution to make it work again.

1. Type `chrome://flags/#temporary-unexpire-flags-m88` into the address bar
2. Tap on the drop-down menu in the Tab Grid Layout entry
3. Select "Enabled"
4. Tap the Relaunch button at the bottom of the screen

I suspect that will only be a temporary solution though.

---
Tags: chrome-for-android
---


title: How do I lock my bootloader again?

text:
# Question
Title: How do I lock my bootloader again?
I tried to root my Moto G3; but I was unsuccessful. Now my phones boots with this warning.

I am sick of seeing this on boot screen. How do I disable it? Seems like I need to lock the bootloader again. How do I do that? I'm completely blank.

# Answer
> 2 votes
First, I want to tell you that relocking the bootloader will NOT get rid of that message... On the Moto G3, once the bootloader has been unlocked that message will always appear, forever. That being said, you can flash a custom boot logo to cover the warning. I will explain how to relock the bootloader and fix the logo though.

To successfully relock the bootloader on a Moto device, you must flash a complete stock firmware image via fastboot that is of the same or newer revision than you have installed, you cannot downgrade to relock. Firmware images are available here and vary by exact model. Once you have that unzipped and in your fastboot directory, perform the following commands:

```
fastboot oem lock begin
fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5
fastboot flash system system.img_sparsechunk.6
fastboot flash system system.img_sparsechunk.7
fastboot flash system system.img_sparsechunk.8
fastboot flash modem NON-HLOS.bin
fastboot erase modemst1
fastboot erase modemst2
fastboot flash fsg fsg.mbn
fastboot erase cache
fastboot erase userdata
fastboot erase customize
fastboot erase clogo
fastboot oem lock
fastboot reboot

```

Note that the number of sparcechunks can vary by model and Android version from 5-11 pieces, but what you flash must match the firmware image you have. If any piece fails, the bootloader will not lock.

Once this is done, you will have a completely stock device and a relocked bootloader, with a nice Bootloader Unlocked warning screen. As I said, once the bootloader has been unlocked, it cannot be restored to it's original condition in any way we know of.

To get rid of the screen (but not the delay or vibration, we can't get rid of that) you can flash a patched logo.bin file in fastboot. This can be done even with a locked bootloader. This can be done by flashing the logo.bin file from this ZIP file with the command:

fastboot flash logo logo.bin

And the warning screen will disappear. The ZIP file can also be flashed in it's entirety via TWRP recovery instead.

All of this may not be relevant, since rooting this device is very simple, since that wasn't your question I will not answer it here, but I will point you to my thread on XDA which may be of assistance if you want to attempt rooting again. Note that the logo.bin file I reference above can be flashed on a stock or modified system to get rid of the warning, your bootloader does not have to be locked to get rid of the warning.

# Answer
> 2 votes
> I am sick of seeing this on boot screen. How do I disable it?

I too was annoyed by the hysterical warning. As other users answered already, while relocking wouldn't get rid of or skip it, the screen image can be easily reflashed back to stock.

I want to expand on this and show how this screen can be given a custom boot screen, way less alarming and fitting your custom rom.

Build github.com/eriktim/moto-bootlogo and either pull the logo partition from ones own device..

```
adb shell su -c "dd if=/dev/block/platform/msm_sdcc.1/by-name/logo of=/sdcard/logo.bin count=1 bs=634418"
adb pull /sdcard/logo.bin .

```

..or download and trust an existing `logo.bin` within the original animation of your devices in the moto boot animation collection.

```
$ moto-bootlogo -i logo.png logo.bin
Created 'logo-custom.bin'
Parsing header of 'logo-custom.bin'.
..
Found 3 images.

$ adb reboot bootloader

```

then flash the logo partition

```
$ fastboot flash logo logo-custom.bin

```

and gone is the bootloader warning.

# Answer
> -2 votes
`fastboot oem lock` should do it.

---
Tags: rooting, bootloader, motorola-moto-g, unrooting, bootloader-lock
---


# Question
Title: Hand shields bluetooth antenna in Google Pixel 4a 5G?
Is it a reported issue with the Google Pixel 4a 5G, that the bluetooth connection of the device is disturbed when having it in your hand?

My headphones work flawless if the pixel sits on my desk, but stuttering begins when it is in my hand..

I wonder whether the issue is specific to my device.

# Answer
> 0 votes
If you're having troubles with your new Google Pixel 4a 5G from late 2020 in 2021 or later I recommend downloading the latest Google connectivity apps and update your system to the latest Android version.

I was forced to set-up my device offline, the original version must have had some kind of bug with the bluetooth. After installing the updates everything worked.

I was able to determine, that the issue is software related after conducting a few tests. It turns out, that not holding the phone but turning on its screen is causing the stuttering.

---
Tags: google-pixel-4a
---


# Question
Title: Can't authorise android lenovo tablet in USB debugging mode
I have **Lenovo YOGA Tablet 2** **830LC** *X86*.

`Rescue and Smart Assistant tool` is a software to work with this tablet.
When i activate USB-Debugging in tablet i face the error below in `Rescue and Smart Assistant tool`.

Unauthorized is because after activating USB-Debugging mode in tablet and connecting my tablet to PC, there is no popup asking me if i want to trust this PC, which i have to agree (permanently).

By deleting the adbkey file found in `C:\Users\[Username]\.android` folder the permission dialog did n't appear on my device.

What should i do to fix this issue?

---

Edit after comment :

1. I am using USB charging cable.
2. I have windows 7
3. USB OEM driver for Lenovo \> When i connect lenovo tablet to pc a pop up shows up on pc to install usb driver.
So i installed it & after that i can see tablet folders.
But i did n't install any other things.
4. Have you reset the USB authorization on the device too (usually inside Developer options) \> Is this your mean `revoke USB debugging authorization`? If yes i did it several times.
5. Is the device detected by ADB (call adb devices on command prompt)
I found a `adb.exe` in this path : `C:\MagicPlusMini\app`
After enter `adb devices` command it founds : `Baytrail6F284E37 offline`
I found another `adb.exe`
Here is the command prompt :
`C:\Program Files (x86)\Rescue and Smart Assistant>adb devices`
`List of devices attached adb server is out of date. killing...`
`daemon started successfully`
`Baytrail6F284E37 unauthorized`

# Answer
**Resolution**
Possible solutions if `adb devices` shows a device as `unauthorized`:

> C:\Users\JohnDoo\>adb devices
> List of devices attached
> 17310D821D \> unauthorized

1. Disconnect USB between PC and device
2. Stop adb server by entering `adb kill-server` in command window
3. On device use `Revoke USB debugging authorizations` in `Developer Options`
4. On PC delete `adbkey` file in user directory, for example `C:\Users\JohnDoo\.android`
5. Reconnect the device to the PC
6. Open a command window and enter `adb devices`. Watch the device's screen for any Authorization message and allow the connection.

The device should now show as `device`:

> C:\Users\JohnDoo\>adb devices
> List of devices attached
> 17310D821D \> device

If the above does not help, re-installing adb and or USB drivers may help.
> 0 votes

---
Tags: applications, usb-debugging, lenovo
---


# Question
Title: Display two clocks in two different time zones in the notification bar
How can I display two clocks in two different time zones in the notification bar? By default, only one time is displayed at the top left of the screen.

# Answer
> 2 votes
You can achieve this using tasker Play Store Link and a plugin called Text Inject Xposed Repo Link you will need to be rooted and have Xposed installed.

Instructions:

1. Setup a profile in Tasker that runs every 2 minutes. (Smallest interval)
2. Set the task to Parse Format Date/Time
3. Input should be Now.
4. Output should be h:mm a z
5. Formatted Variable Name set to whatever you want. Ex. %TimeOffset
6. Offset should be set to Hours and set the amount of hours needed.
7. Set a task to set TextInject Variable to the variable setup in previous task. Ex. TimeOffset = %TimeOffset
8. In TextInject set statusbar time to #TimeOffset and parse as time Done

# Answer
> 2 votes
I found a better solution, but leaving my original answer in case someone wants to format the statusbar differently.

Using Xposed as well as before. There is a Module called xDualStatusClock which makes it very simple to just choose the timezone and it works. XDualStatusclock - http://repo.xposed.info/module/com.jukka666.xdualstatusclock

---
Tags: notification-bar, clock, time-zones
---


# Question
Title: How to adjust the threshold for the "storage low" event?
There's almost no Android user (and certainly no regular visitor of our site) who hasn't heard of the "insufficient storage" error – or even experienced it him/herself. That there must be at least 10% of storage free on `/data` sounds ridiculous at least when the total space on that partition goes at or beyond 8 GB. Thus we quite frequently have questions on this topic here.

On one of the latest I've done some investigation of the relevant code, and discussed that in my answer. Let me quote the relevant code-block (taken from the latest code) here again:

```
 * This class implements a service to monitor the amount of disk
 * storage space on the device.  If the free storage on device is less
 * than a tunable threshold value (a secure settings parameter;
 * default 10%) a low memory notification is displayed to alert the
 * user. If the user clicks on the low memory notification the
 * Application Manager application gets launched to let the user free
 * storage space.

```

Now please focus on lines 2+3:

> If the free storage on device is less than ***a tunable threshold value*** (a secure settings parameter; default 10%)

(emphasis mine). So here comes my question:

---

**TL;DR:** If that threshold is tunable, how to tune it?

---

Is it something in settings we overlooked all those years? Is this supposed to be "tuned" by the "ROM bakers" only? Or, taking the hint of a "secure settings parameter", is there some app utilizing the `WRITE_SECURE_SETTINGS` permission to take care of that? By which means are we supposed to address this (if at all)?

# Answer
> 5 votes
Low storage threshold is the minimum value of the two:

* `sys_storage_threshold_percentage` (default is `5%`, was `10%` on Android 7 and older). It's multiplied with the total storage size to get threshold value in bytes. This setting is there since the early days of Android.
* `sys_storage_threshold_max_bytes` (default is 500 MiB). This setting was added in Android 4.

In JellyBean both settings were moved from `secure` namespace to `global`. And the logic to calculate low threshold was moved from `DeviceStorageMonitorService` to `StorageManager`.

If the `5%` of total space on `/data` is greater than `500 MiB`, the threshold is always `500 MiB`. In order to set the threshold to even smaller value, e.g. to `100 MB`:

```
~$ settings put global sys_storage_threshold_max_bytes 100000000

```

# Answer
> 1 votes
> That there must be at least 10% of storage free on /data sounds ridiculous at least when the total space on that partition goes at or beyond 8 GB

Forcing the user to have 10% free space is not ridiculous, or stupid. It helps wear levelling, and is highly recommended for european users due to the continental 2y waranty law. Some manufacturers like Crosscall even provide 3y waranty (no restriction).

Spending long time using a disk with less than 5% can damage it. A friend used to own a large Flash disk, and after 14 months with 1% free space, the disk died. Yes, 1% free was between 1GB and 10GB free space; but the system needs to write loads of cache and temp files; and always rewriting the same cells killed the disk.

That's why phone manufacturers are very happy in europe with the Android 10% limit. This limitation is very frustrating when it triggers; I suffered from it this week; but it's preventing the Flash dieing before the 2y waranty.

# Answer
> -1 votes
You need to build your own kernel with preferrable settings, this option not writable by "normal\_apps".

---
Tags: insufficient-memory
---


# Question
Title: Vietcombank Smart OTP app says "Your device does not match security requirements. Please re-activate Smart OTP on other devices"
I am trying to use the app Vietcombank Smart OTP on Android. This is the Smart OTP app of the Vietnamese leading bank Vietcombank. The app downloads fine, but everytime I start it up I get this error message:

```
ANDROID
Thiết bị của Quý khách không đảm bảo yêu cầu về bảo mật. Vui lòng kích hoạt lại Smart OTP trên thiết bị khác
Your device does not match security requirements. Please re-activate Smart OTP on other devices

```

This error message can be seen here: https://smartotp.vietcombank.com.vn/shield/android.html?4

I have tried this with 3 different brand-new phones and I get the same error message.

Some descriptions for Vietnamese readers:

Không sử dụng được app Vietcombank Smart OTP. Mỗi lần mở app lên đều nhận được lỗi như ở trên.

# Answer
> 3 votes
After hours of trying different things, I realized the problem is that I used Swiftkey. Apparently, third-party keyboards will trigger this issue. So you have to disable any third-party keyboards and use Google keyboard or the default keyboard of your smart phone.

Sau nhiều giờ thử nhiều thứ khác nhau, tôi nhận ra vấn đề là tôi đã sử dụng Swiftkey. Có vẻ như bàn phím của bên thứ ba sẽ gây ra vấn đề này. Vì vậy, bạn phải tắt mọi bàn phím của bên thứ ba và sử dụng bàn phím Google hoặc bàn phím mặc định của điện thoại thông minh của bạn.

---
Tags: applications, google-play-store, keyboard
---


title: Cannot reinstall Google Play Services

text:
# Question
Title: Cannot reinstall Google Play Services
I can't seem to reinstall Google Play Services again.

I tried the APK file thingy from Google but it didn't work. I tried a website called APKPure.com but it also didn't work. I also tried some videos but those are for different models of devices.

I didn't know that Google Play Services plays a big role for an Android and now I can't even sign in into my Play Store account (the sign in button for the Play Store isn't working).

Also, if this helps, I use a Samsung Galaxy Tab 2 (I think it is a 2016 model).

Is there a way to fix this problem?

# Answer
You might want to try a trick using the Device Administrator.

* Settings \> Security \> Device Administrators
* Deactivate Android Device Manager
* in Settings \> Apps find the Google Play Services
* Uninstall Play Services updates

This might restore the version originally shipped with your phone depending on your vendor.

Check if you can activate Play Services again in Settings \> Apps \> Google Play Services.

Enable Device manager again, like above.

*Edit:* If this does not help I'd suggest to backup your data and do a device factory reset. (see e.g. https://www.rd.com/article/factory-reset-android/)
> 1 votes

---
Tags: google-play-services
---


# Question
Title: AVD Pixel_XL_API_30, emulator process gets killed every time in Android
I just downloaded Android Studio's latest version being: 4.1.3 (18 March 2021) with the repository being: android.googlesource.com/platform/tools/adt/idea. The problem is that my AVD Manager is unable to load any of the Virtual Devices, however, light it might be. Currently, I am using Pixel\_XL\_API\_30.

It shows "The emulator process for AVD Pixel\_XL\_API\_30 was killed."

Can anyone tell me if this new version problem or is a bug?

# Answer
The most frequent reasons for this is

1. Windows: Not enough disk-space on drive C: (where Android stores its emulators)
2. Enabled Windows hypervisor!

* Hit Windows-Key and enter 'features', select 'enable/disable Windows Features'
    * Disable 'Windows Hypervisor Platform' (this disables Windows Subsystem for Linux as well)

This worked for me, you currently can't have both unfortunately even in Windows Pro.

*Edit:* There seems to be a solution with Hyper-V
> 2 votes

---
Tags: android-emulator, crashes
---


# Question
Title: Mysterious and whimsical selection of ringtones recognized by clock as alarms
I have a Samsung Galaxy Tab A with S pen. I am trying to add additional alarm sounds to the list used by the native alarm clock app provided by Samsung, as these lack personality and often fail to wake me. I copied all the ringtones from my phone to Dropbox, and then exported them to the Ringtones folder with the Dropbox export feature.

Of the sixty-odd ringtones so exported, exactly four appeared in the alarm clock list of available sounds. I can discern no pattern in the ringtones so appearing. All 60 are all of the same file type, .mp3s. They are not especially long or short, nor large or small. They are neither clustered together under any file sort view nor evenly spaced. I have played all the files with six different player apps, all such apps that I have installed. With one exception, every app played all the files without difficulty.

The exception is the Sound Picker, invoked via the plus sign at the top of the clock's list of alarm sounds. The Sound Picker shows the four ringtones the clock sees, and four more, again with no obvious pattern; also a bunch of short snippets of some lecture that I do not recognize. The sound picker allows me to add exactly one of these new sounds to the clock's list. Adding another removes the one previously added.

I am completely befuddled by this and have no idea how to proceed further. Any insight or diagnostic suggestions welcome.

# Answer
I found, through no insight of my own, a mysterious solution to my mysterious problem. My ringtones appeared in the new location at a rate of one per several hours. Three days later they were all there. Why so slow? No idea. There was no visable reformatting of the files.
> 0 votes

---
Tags: samsung, alarm, ringtone, custom-sounds, samsung-galaxy-tab-a
---


title: HTC Sensation fastboot unknown device

text:
# Question
Title: HTC Sensation fastboot unknown device
I experience problems trying to root my HTC Sensation.

I turned **USB Debugging ON**, checked that **Fast boot** is turned **ON** in **Settings \> Power** section and connected phone to PC.

My device was recognized successfully

Also it was shown in adb list

```
C:\sdk\platform-tools>adb.exe devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
HT15LVXXXXXX    device

```

Now i took out my battery, inserted that back, pushed and hold Power button and Volume Down and voila, i am in **HBOOT**.

I pressed Power button once, choosing **FASTBOOT**

My phone connected to Windows, but this time device was **not recognized**.

I tried to add drivers for that device manually, but it failed

I even tried to add **%MyHTC%=HTCAND32.Dev, USB\UNKNOWN** to **androidusb.inf** and then add driver manually, but device was not working anyway and **fastboot devices** command returned empty list.

I tried same operations on my Mac using fastboot-mac for that and i got same result as on Windows - device is not recognized in fastboot mode.

Any ideas?

# Answer
Hey if somebody searches for an answer to this.

I have solved it by adding a key in the registry.

In `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\0BB40FF00100` (The "cryptic" hex-number at the end is the VID, PID and REV value of the Hardware-id you can see under Details) if that key isn't existing (mine was) create it.

Then add a Binary Value `SkipBOSDescriptorQuery` and set it to `01 00 00 00`

When I did that it "magically" worked on my Windows 10 vers 20H2 Build 19042.928 after a reconnect of the USB device.

*Why does this work?*

As far as I can deduce, this BOS Descriptor is a fairly new thing in USB 3 and was backported to USB 2.1. Windows is requesting that from the phone's USB device and that or the driver isn't new enough to consider/disable this BOSDescriptorQuery and only delivers garbage to device enumeration. The drive/OS is confused and refuses to properly work. My bet is that the driver for such of an old phone isn't worked on anymore to consider this failure mode.
> 2 votes

# Answer
you need to unlock thebootloader first before doing anything... the screen shot shows that your phone is still locked you can do that on HTCDEV site
> 1 votes

---
Tags: rooting, fastboot, htc-sensation
---


# Question
Title: How to I block advertisements for one specific app?
Lately I've been getting ads for a TikTok-like app called Kwai. These ads always include girls of questionable age dancing very suggestively to the sound of very bad music.

These ads appear on many of my apps, from YouTube to Duolingo (and other language study apps), and it's very annoying to see these while I'm trying to concentrate, especially since it always comes with loud music (while I'm wearing headphones to listen to my lessons). I did manage to get rid of them on YouTube by using Vanced, but I've still got issues with the other apps I use.

I don't mind any of the other ads that show up; it's only this one I've got beef with. That being so, I'd like to know if there's any way to block all ads for this Kwai app, specifically, from showing on my apps.

Thanks in advance!

# Answer
> 0 votes
Since these objectionable ads show up in multiple apps, they are likely being mass-distributed by a large advertising provider company (such as Google).

I don't think you'll be able to successfully block ads for a single product that are distributed this way, but since the content of the ads is questionable, you can determine which ad provider is delivering questionable content, and file a report with them. If the content being pushed is illegal in your jurisdiction, you can also involve law enforcement.

Finally, you can notify the developers of all the apps in which you see these ads and let them know about the issue. They can then file a report with their ad providers and consider finding more suitable ad providers. If you leave accurate reviews regarding this issue, you may be able to pressure the developers of the apps you use to find a more appropriate advertising provider or remove the advertising content altogether. Often, you can purchase paid versions of apps that have no advertising.

---
Tags: ads
---


# Question
Title: If I buy the cheapest possible Android smartphone today, how long can I keep it without having to buy a new one?
I'm forced to get a "smartphone", even though I want nothing to do with them, simply to be able to use as a "digital identification" thing and similar things for companies that refuse to provide a website -- only an "app". So I'm trying to find the cheapest possible one.

There appears to be only two "kinds": iPhone (ridiculously expensive beyond words) and Android (less expensive, but infested with Google). Since I don't actually want to use them for their intended purpose, and will only power it on briefly when forced to, I'm going to have to pick an Android one.

The cheapest one I can find where I live is $189. A bit more than I expected. Could've sworn they sold sub-$100 ones not long ago. Either way, what I'm wondering is if they are going to make me keep buying new ones every few years, or if I can just perpetually update that one with new versions of the "Android" OS? Or do new versions eventually require newer phone hardware and refuse to install, leaving me with a rotting brick which eventually stops working?

I have a feeling that these things are made to become obsolete rather quickly. Is that feeling correct?

# Answer
I have an old Sony Ericsson Xperia Arc S, its a phone from 2011. It still working, you can use the browser and make calls ets... The play store don't support it because the android version of this phone is 4... so I can't install new apps from the play store, but I still can download them from the internet. This phone is so weak and old that many apps just wont work on his system...

But you can still use your phone even after 10 years
> 0 votes

# Answer
***"Planned obsolescence" is synonymous with "Android".*** As a general rule, you cannot upgrade the Android OS on a device unless the manufacturer provides you with an update. And huge companies like Samsung typically do not provide OS updates to customers for very long.

Even Google themselves, which typically provides the longest "promise" (the word of Google always has to be placed inside quotation marks) of OS upgrades for their hardware, but even they max out at under a half-decade (which, itself, is only a tiny fraction of what should be the usable lifespan of the hardware). And with a Google phone, you become even more entrenched with the *Evil Empire*.

That ugliness disclosed, the reality is that you can more or less continue to use Android devices well past the time when greedy self-centered manufacturers hope you throw them in the back of an obscure drawer. They key is finding apps (and app stores) that are compatible with your devices and not worry about the actual OS. If you can, removing the Google Play store and Google Play services can often dramatically increase the lifespan of an Android device, as well as its battery life. Yes, security will be an issue, but frankly, I consider all Android devices to lack effective security.

In all likelihood, though, the developers of your corporate "identification thing" will be using the latest version of Android on their development phones, and not pause to consider that most regular people are not interested in spending all the money required to buy that kind of hardware. As such, you'll probably need to run whatever OS version they demand.

One solution, if you aren't overly concerned about security, is to buy used Android devices. They are often much less expensive, and someone with your uses will likely not care about scratches or dents. In most regions, you can pick up a working, yet scratched and dented, Android phone for a low cost (same with iPhones).

That said, I think the best choice for you would be a used and beat-up iPhone that supports the software required by your company. Apple is well known for upgrading older devices to their latest OS, so an old iPhone may work. The downside to this is that Apple is also well known for intentionally degrading performance on such devices so the battery will last longer with all their new bloatware built into the OS. But for your uses, that shouldn't matter.

I learned about all this the hard way. Early during the ongoing pandemic, I wanted to see a doctor online. The doctor I found only performed video visits using software (written by her wealthy family) that supported the very latest Android devices or a recent iPhone. I had neither, and she simply didn't care that she was excluding all patients who could not afford such luxuries.
> 0 votes

---
Tags: updates
---


title: Boot to ROM recovery instead of TWRP

text:
# Question
Title: Boot to ROM recovery instead of TWRP
My phone is OnePlus 5t.

In fastboot mode I flashed TWRP `fastboot flash recovery twrp-3.5.2_9-0.img`

and every time I try to enter recovery mode it just start the original recovery mode that came with the system.

But if i enter 'fastboot' and type: `fastboot boot twrp-3.5.2_9-0.img` the TWRP comes up.... How can I make it automatically TWRP? ty!

Edit: someone send me this: adb device doesn't listed on cmd {Lenovo K8 Plus}

And this was the problem:

`Another common mistake after flashing TWRP you must not boot into android. Reboot straightforward into recovery right after flashing, otherwise your custom recovery will be replaced with stock recovery /system/recovery-from-boot.p`

# Answer
i think u need to flash 2 more files , called "force dm verification" and "decrypt" not sure that's the exact name but these basically get the job done
> 1 votes

---
Tags: twrp
---


title: Can't factory reset my Galaxy S20

text:
# Question
Title: Can't factory reset my Galaxy S20
I'm trying to factory reset a Galaxy S20 because I've forgotten to add MDM in the intial setup and as far as I know you can't add this later.

To do the factory reset I've done Settings \> General Management \> Reset \> Factory data reset. Then tap Reset and Delete all. But it then asks me to confirm my Samsung Account which it somehow can't do, because I always get a loading icon which fails after some time. Then it asks me for the password of my Samsung Account and again goes into a loading icon which also just stops after some time. I don't get any error message.

There's also the option to send a confirmation e-mail, but this also leads to the loading screen but after some time I get a little pop-up telling me there is a network error. The screen here stays white and I need to use the back button to go the confirmation screen of my Samsung Account.

I do have internet access on my phone, because I can open websites with Chrome. I'm using my home Wlan Network to connect to the internet.

I didn't find any solution to this problem with Google, just the normal documentation from Samsung of how to factory reset a phone, which doesn't work for me.

# Answer
The solution to my problem was that somehow my phone couldn't access the Samsung Account site over my home network. I've switched to a hotspot of my other phone, and now everything is working as it should. I was lead to this solution because I've seen other people having problems with accessing the Samsung Account site. Perhaps some providers have problems with this.
> 1 votes

# Answer
If you'd like to factory reset your Samsung device, you must hold the Home, Power, and Volume Up button. It will then take you to the Samsung recovery mode. When there, use the volume keys to control the options and the home buttons to press. There should be an option called factory reset, press that and wait for it to delete all data from your phone. Then, click restart the phone. The phone should boot up normally and the setup will begin. I hope this solved your problem.

Regards.
> 0 votes

# Answer
There is a sort of recovery mode called EDL, the new ODIN mode. As you are using a samsung phone, download galaxy S20 firmware (you need to type somewhere the phone e.g. SM-G530FZ Galaxy Grand Prime phone code), and downlaod Odin. Shut Down completely your phone. Press volume down button until connect your phone to pc, and the phone should be recognized by ODIN. Else if it's not, Download some EDL Utility.
> -1 votes

---
Tags: factory-reset, samsung-galaxy-s-20
---


# Question
Title: What is the best dual boot Android OS for getting easy root and unroot access?
I have installed Android x86 on my Windows 10 HP Laptop. It was "Android-x86\_64-9.0-r2.iso". I ran it on my PC and it opened rooted.

I installed an app I required. The app has got lots of videos that are supported for playing only on an unrooted device.So, I couldn't play the app's videos.

What I did:

* I enabled developer's options and disabled root access in it. I still couldn't play the videos.
* Enable Developper Mode. On the developer's options, enable full root access. Run the terminal emulator. Use the followings commands :

> su

> rm /system/bin/su

> rm /system/xbin/su

After typing these commands as: *These files are read only files* type of message. The last command resulted in a question y/N and after writing 'y', I still got the former message.

None of these methods worked. I need an OS that gives me both root access and unroot access as and when I require. This is quite easy in Android emulators as they have a single option on setting which can enable or disable root access. But my app is not supported on emulators. Hence, the need for OS.

PS: I don't know if this is the correct site for my question. I couldn't find very appropriate tags. Please suggest the correct website.Thank you.

PS: I am asking regarding whether other OS might be suitable for what I need. Like PrimeOS, BlissOS, RemixOS, etc.

# Answer
> 2 votes
First you have to be aware that what device is considered "rooted" by an app depends on the app. Some apps may consider a device rooted, other not and the other way around.

Second the term "rooted" is often used in a very generalized way, in the meaning of "the system is not genuine" or "the system seems to be manipulated". If the device offers a `su` binary to get root access or not is usually just one of multiple factors an app will check.

Furthermore emulators and custom "ROMs" like Androidx86 are usually always detected as "rooted" devices, because they are not official Google Android devices. Only physical Android devices, certified by Google can pass the "Google's SafetyNet" check which is commonly the first test performed by an app for a rooted device.

Therefore depending on what checks the app performs you might not succeed no matter what modifications you do to Androidx86. The app may always detect the system as "rooted" (not genuine).

The only real way to bypass this root check is usually to reverse engineer the app, check what "root" check it performs and modify the app using apktool or Frida so that the root check returns the desired result (only works if there is not a back-end involved that checks e.g. the Google SafetyNet check result).

---
Tags: windows, android-pc, dual-boot
---


# Question
Title: Reason of existence of An App named "-5"
I was trying to look at the battery usage of different apps and saw this weird app named "-5" on inspection it takes me to google photos which is weird since why will google photos use its name as "-5". I can't find any reasoning for this and want others to shed some light on this topic. I have also reported this weird behavior to google as well.

# Answer
> 1 votes
I did a search in Play Store for "-5" with no results, also on YEE ole great god Google. Not much returned.

I would start with your phone service provider. They are suppose to give you a level of device support. I've personally stumped the US Cellular chumps before. Give it a try. They do keep a knowledge base of customer calls. Who knows, you might be lucky. Else download "HouseCall" from the Play Store, it is a TrendMicro manual scan for nasty things. It is very powerful. Free, only runs's when you run it. TrendMicro has a variety of very good pay products for Android and web safe stuff. Good luck.

# Answer
> 1 votes
It's for Wireless hotspot. Other users have reported same. read more about here

---
Tags: battery-life, bugs, android-10, google-photos, battery-history
---


title: ADB wireless :- problem with IP

text:
# Question
Title: ADB wireless :- problem with IP
I use adb wireless tcpip connection but every time I connect my device to my router it assigns a new IP address to my android device which requires me to plug my phone again and restart adb in tcpip with the IP address provided, I dont want this to happen every time, I just want to enter the same IP address and put `adb connect <ipaddress>:<tcpip_port>` and connect to my device.

i tried to use static IP for the network using the mobile but due to some reason this restricted me to use internet(it was connected to the modem but not able to use internet).

More info:

**Android 10 MIUI 12 redmi note 7s**

i use scrcpy and have created a bat file(.cmd file) which when clicked runs a series of commands to connect to my phone wirelessly using adb and mirror the screen and control it remotely but because my router assigns a different IP ever time i connect my phone i have to edit the bat file.

Even if I type the commands manually **without** connecting the device with USB cable (`adb connect <ipaddress>:<tcpip_port>`) it says: `unable to connect to <ip addr>:5555: cannot connect to <ip addr>:5555: No connection could be made because the target machine actively refused it. (10061)` , then i have to connect it with USB cable and again start the adb in tcpip.

What is the use of adb wireless connection if I have to connect it to pc by USB every time (at the beggining) to make it wireless for that specific time.

# Answer
IP address is not the problem here. reason is your phone is unrooted therefore the wireless app is unable to start adbd. so you have to plug in usb cable each time and switch to wireless regardless of IP address. This is fixed in android 11

however, regarding your IP issue you can use hostname instead (it is hard-coded here in `%device%`)

```
@echo off
setlocal enabledelayedexpansion

set device=android-6cf1b33d5e54da8d

for /F "delims=[] tokens=2" %%f in ('ping -n 1 -w 1000 -4 !device!') do (
  set client=%%f
  echo %%f | findstr /r /c:"\<[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\>" > NUL 2>&1 && goto connect
)
echo !device! device not found
pause
goto end
:connect
adb connect !client!:5555
scrcpy -s !client!:5555
:end

```
> 0 votes

---
Tags: adb
---


# Question
Title: How to sync Facebook calendar in my Android phone calendar?
Is there a way to sync my Facebook calendar with the inbuilt Phone calendar of Android. I know there are many apps, but I do not want to give them permission to access my profile details.

# Answer
Of course Facebook likes so much to break compatibility with whatever it ever developed... so now the method is different:

* On Web Facebook, choose the event you want to have in the Calendar
* Set the participation (Going/Maybe)
* Click the 3-dots menu and choose "Export Event"
* Ensure that the "Save in calendar" option is selected
* **The link shown below that choice is what you need in your Calendar app** (e.g. https://www.facebook.com/events/ical/upcoming/?uid=MYUSERID&key=MYACCESSKEY). Right-click & copy the link.
* On Google calendar click the `+` button to add a calendar, and select *"From URL"*.
* Paste the URL and choose "Add calendar"
* Profit

If it doesn't work immediately ensure that the calendar is syncing and wait a little more.

# ---- \[OLD METHOD\] -----

# Obtain calendar URL from Facebook

* Go to Facebook Events via a Desktop browser (or set the Mobile browser identification to *as Desktop*)
* Scroll to *Upcoming Events* link, at the bottom of the right column
* Right-click on the link and *Copy address*

# Add the calendar from its URL

* Go to Google Calendar
* Click *Menu* to show it
* Click on the icon on the side of *Add Calendar* and choose *From URL*
* Paste the URL obtained before and *Make calendar public*; if you are ok with that. It is necessary to show it on Android.

# Sync the calendar, on Android

* Open the Google Calendar app
* Tap on *Menu* and then *Settings*
* Scroll to find the calendar *Events on Facebook* and tap on it. If is not shown yet, come back to the calendar, tap on the three-dots icon and choose *Refresh*
* Enable *Sync*

Et Voilà! Enjoy your Facebook events directly on Android and any device you desire, without having to open Facebook website or app

**Note:** the calendar is read-only. So, unfortunately, for now is not possible to set custom notifications for the events (that actually would be make this setup perfect, given the pretty short time ahead that Facebook uses for its reminders).

**PS:** my Google Calendar web app was not set in english, so items could be named slightly different.
> 4 votes

# Answer
Facebook doesn't allow it - you would have to use another app like Haxsync and give it permission to access your profile.
> 1 votes

# Answer
1. In Facebook, using a laptop or PC, go to https://www.facebook.com/events/calendar
2. In the top right corner there is a "Add to Calendar" button, *RIGHT CLICK* this, and choose "copy link address".

3. In Google Calendar, using a laptop or PC, on the left side look for "Other calendars", click the + icon next to that, choose "Subscribe to calendar".
4. Choose "From URL", paste your Facebook calendar link, click "Add calendar". Voila!

On your Android phone the Facebook Calendar events will be synced.

If you do not use a Google Account on your Android phone, then this procedure will not work for you.
> 0 votes

---
Tags: calendar, facebook
---


# Question
Title: W/ziparchive Zip: unable to allocate X bites at offset 0 : No space left on device while flashing factory image on angler (Nexus 6P)
I was trying to do flash factory image on angler on my Nexus 6P. There is some `No space left on device` error:

```
./flash-all.sh # added set -x to script
+ fastboot flash bootloader bootloader-angler-angler-03.68.img
target reported max download size of 494927872 bytes
sending 'bootloader' (3544 KB)...
OKAY [  0.127s]
writing 'bootloader'...
OKAY [  0.208s]
finished. total time: 0.335s
+ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [  0.022s]
finished. total time: 0.073s
+ sleep 5
+ fastboot flash radio radio-angler-angler-03.81.img
< waiting for any device >
target reported max download size of 494927872 bytes
sending 'radio' (48728 KB)...
OKAY [  1.283s]
writing 'radio'...
OKAY [  2.174s]
finished. total time: 3.457s
+ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [  0.022s]
finished. total time: 0.072s
+ sleep 5
+ fastboot -w update image-angler-n2g48c.zip
extracting android-info.txt (0 MB)...
extracting boot.img (12 MB)...
target reported max download size of 494927872 bytes
archive does not contain 'boot.sig'
archive does not contain 'dtbo.img'
archive does not contain 'dt.img'
extracting recovery.img (17 MB)...
archive does not contain 'recovery.sig'
extracting system.img (2727 MB)...
W/ziparchive(66399): Zip: unable to allocate  2860210996 bytes at offset 0 : \
   No space left on device
failed to extract 'system.img': I/O error

```

(space inserted by myself for better readability)

I suppose this is lacking space on the phone.

```
shell@angler: $ df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                     1.4G    484.0K      1.4G   0% /dev
tmpfs                     1.4G         0      1.4G   0% /mnt
/dev/block/dm-0           3.0G      1.8G      1.1G  62% /system
/dev/block/dm-1         196.6M    184.7M      8.0M  96% /vendor
/dev/block/platform/soc.0/f9824900.sdhci/by-name/cache
                         92.9M      1.8M     88.0M   2% /cache
/dev/block/platform/soc.0/f9824900.sdhci/by-name/persist
                          3.9M    740.0K      3.0M  20% /persist
/dev/block/platform/soc.0/f9824900.sdhci/by-name/modem
                         80.0M     47.5M     32.4M  59% /firmware
tmpfs                     1.4G         0      1.4G   0% /storage
/dev/block/dm-2          53.5G    132.9M     52.9G   0% /data
df: /mnt/runtime/default/emulated: Permission denied
/data/media              53.5G    132.9M     52.9G   0% /storage/emulated

```

Using `fastboot` version `1:8.1.0+r23-5` from Debian, Android is `angler:8.1.0`.

Any idea what could be the problem?

Searching in the sources, it fails in `static void* unzip_file(ZipArchiveHandle zip, const char* entry_name, int64_t* sz)`

```
int error = ExtractToMemory(zip, &zip_entry, data, zip_entry.uncompressed_length);
if (error != 0) {
    fprintf(stderr, "failed to extract '%s': %s\n", entry_name, ErrorCodeString(error));
    free(data);
    return 0;
}

```

https://android.googlesource.com/platform/system/core/+/android-8.1.0\_r73/fastboot/fastboot.cpp#505

or in `static int unzip_to_file(ZipArchiveHandle zip, const char* entry_name)`

```
int error = ExtractEntryToFile(zip, &zip_entry, fd);
if (error != 0) {
    fprintf(stderr, "failed to extract '%s': %s\n", entry_name, ErrorCodeString(error));
    return -1;
}

```

https://android.googlesource.com/platform/system/core/+/android-8.1.0\_r73/fastboot/fastboot.cpp#628

**UPDATE**: it looks like it's really lack of space on the laptop. Previously I had about 8GB, which I considered enough. After clear to have 17GB and trying to update different image image-angler-nmf26f.zip I got different error (probably related `/tmp` being `tmpfs`):

```
strace -o strace.log fastboot -w update image-angler-nmf26f.zip
extracting android-info.txt (0 MB)...
extracting boot.img (12 MB)...
target reported max download size of 494927872 bytes
archive does not contain 'boot.sig'
archive does not contain 'dtbo.img'
archive does not contain 'dt.img'
extracting recovery.img (17 MB)...
archive does not contain 'recovery.sig'
extracting system.img (2691 MB)...
archive does not contain 'system.sig'
archive does not contain 'vbmeta.img'
extracting vendor.img (194 MB)...
W/ziparchive(109113): Zip: unable to allocate  204079852 bytes at offset 0 : No space left on device
failed to extract 'vendor.img': I/O error
wiping userdata...
Couldn't parse erase-block-size '0x'.
Couldn't parse logical-block-size '0x'.
mke2fs 1.45.5 (07-Jan-2020)
/tmp/TemporaryFile-xaoMGH: Unimplemented ext2 library function while setting up superblock
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for userdata

```

# Answer
> 2 votes
On Linux you can do `TMPDIR=<DIR WITH MORE SPACE THAN /tmp> ./flash-all.sh` to override where `fastboot` unzips to.

# Answer
> 0 votes
According to the others is `-w` option is somehow broken and should be replaced with `fastboot erase <partition>`, e.g.:

```
fastboot oem unlock
fastboot erase boot
fastboot erase cache
fastboot erase recovery
fastboot erase system
fastboot erase userdata
fastboot flash bootloader bootloader-angler-angler-03.68.img
fastboot reboot-bootloader
sleep 5
fastboot flash radio radio-angler-angler-03.81.img

```

I the end I followed Firelord suggestion to unpack `image-angler-nmf26f.zip` (instead of flashing it) and flash all partitions manually:

```
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img

```

NOTE: running commands `fastboot erase <partition>` is not needed as `fastboot flash` erase system.

---
Tags: rom-flashing, nexus
---


# Question
Title: can only access SD card; cant access the internal storage on pc
i need to delete 3 gigs of "pictures" from my internal storage,it says there is 3 gigs of photos in there but they dont show up in the google file manager and when i connect to pc it only shows the SD card and not the internal storage.

# Answer
Try going to the settings and then storage and then files to explore if there are any pictures that you can delete.
> 1 votes

---
Tags: internal-storage
---


title: Kaspersky Mobile: disable lock

text:
# Question
Title: Kaspersky Mobile: disable lock
I have Kaspersky Mobile installed. Today I had to reinstall it after installing a new rom. Now whenever I turn on the phone, I have to enter the kaspersky unlock code, which is different from the sim card lock code. Before I had the lockcode disabled, and I could use the phone without having to enther any code. I would like to disable the lock code, but can't find the option in the Kaspersky app. I've searched in the system settings, but no luck.

Can you tell me where I can set this option?

Phone info: Samsung Galaxy S2 I9100, Android JB 4.2.2, Avatarrom

# Answer
I think I got it. This is what I did:

* System settings \> Security \> Device managers
* Disable Kaspersky as device manager
* System settings \> Screen lock: swipe (or what you want)
* Enable Kaspersky as device manager

Now I can unlock the phone with one swipe. I use App Protector to lock certain apps plus system settings with a different code.

NB: the above names (like device manager) may not be 100% accurate as I'm not using an English version of Android...
> 1 votes

# Answer
Go to Settings \> Screen lock\> None
> 0 votes

# Answer
It is not very clear on Kaspersky but on SOME phone/android version, the K pin code/swipe... is overriding the one of the phone. In other words, go to your phone settings, not K, and disable screen locking! K lock will be disabled, phone one also of course.

At this point you can either recreate one of the phone or one in K, which of course will override the phone one if it was already the case.

This concern only the screen lock, for paranoiac you can have 2 app lock at the same time.
> 0 votes

---
Tags: lock-screens, antivirus, anti-theft
---


# Question
Title: Lockscreen automatically relocks after unlock
**The Problem:** Sometimes, after a successful screen unlock, the device *immediately* relocks.

**Specifications:** Nexus 9, CyanogenMod 12-12.1, Android 5.0.1-5.1.1, pattern lock and Smart Lock \> FaceUnlock and Location active, encryption active.

**Further details:** I also have a phone (Armani) that ran exactly the same settings from CM 12-12.1 and experienced no such problems. This is weird, especially that flounder is officially supported while armani is not. The problem comes, on average, every other day. I'd like to know if anyone else had experienced similar problems and what you did to resolve it. So far all that I had to do is to reboot the device - something that ain't so nice especially on an encrypted device.

# Answer
**Trivial:** I found the answer... (Not the type of *Eureka!* thing, but kinda...)

I'm using this **Moko magnetic "smart"-cover** since the tablet came, and it was only recently I realized that it messes up with:

1. the Compass (guess what, it's a magnet) which then gave me the idea that it will mess with ...
2. The Lockscreen

If I folded the cover in a certain way even at the back of the device, then it will automatically lock. If I reorient the cover that the magnet is farther from the tablet, then no automatic locking occurs.

(Re-tagging this. Nothing to do with software.)
> 0 votes

# Answer
I had a similar problem with my Samsung Tab A 2019 Edition, that's how I fixed it:

1. Shutdown
2. Hold Vol Up and then Power on
3. It should say Secure Boot or sth like that
4. Log into your WLAN/WIFI/idkWhatItsCalled
5. Look for android updates and install if any
6. Edit Security Options or disable
7. Restart device
> 1 votes

---
Tags: lock-screens, locked-out, smart-cover
---