# Question
Title: Importing the Telegram contacts into the phone book - Android
I have a fairly serious problem. I lost all the numbers in the phone book, breaking the SIM card, but luckily I saw that most of them are stored on telegram. I tried with telegram desktop to export all contacts and the operation was successful.
Now, how can I put them in the phone book? I hope there is a solution, even starting a new procedure from scratch.

Solution here does not work Sync Telegram Contact with Phone Contact

# Answer
@Memmo's answer is great and put me in the right direction. However, the script does not work anymore, because the indention was changing for Telegram exports. Also I wanted a version that works for all country origins. My output CSV can also be imported into Google Contacts without the necessary step to convert it to the VCard. Here is my modified version:

```
import re

pathToFile = 'lists/contacts.html'

with open(pathToFile, encoding='utf-8') as f:
    lines = tuple(l for l in f.readlines())
    with open('csvToConvert.csv', "w", encoding="utf-8") as outputFile:
        outputFile.write('Name,Group Membership,Phone 1 - Type,Phone 1 - Value\n')
        for i,l in enumerate(lines):
            if '<div class="name bold">' in l and '<div class="details_entry details">' in lines[i+4]:
                tel = re.sub('^00', '+', lines[i+5].replace(' ','').replace('\n',''))
                outputFile.write(lines[i+1].replace('\n','') + ',* myContacts,,' + tel + '\n')

```

The data export can be found in Telegram Desktop in *Settings \> Advanced*. The script above needs to be located in the resulting *Data Export* folder and needs to be run by Python3.

My final step was to merge the contacts using *Merge +* on my mobile after sync, because the script will make one entry per number, not per contact.
> 1 votes

# Answer
After exporting all the contacts with *Export Telegram data*, I created a Python script that extracted all the contacts from the generated website.
The script, positioned directly inside the *Telegram Desktop* folder, is the following:

```
#FIRST FOLDER TO CHANGE
pathToFile = 'DataExport_08_12_2018 (2)/lists/contacts.html'

with open(pathToFile, encoding='utf-8') as f:
    lines = tuple(l for l in f.readlines())
    with open('csvToConvert.csv', "w", encoding="utf-8") as outputFile:
        outputFile.write('nome, telefono\n')
        for i,l in enumerate(lines):
            if l.startswith('    <div class="name bold">') and lines[i+4].startswith('    <div class="details_entry details">'):
                tel = lines[i+5].replace(' ','')
                if not tel.startswith('+39'):
                    if "+" in tel and tel[1] == '3':
                        outputFile.write(lines[i+1].replace('\n','') + ', ' + tel.replace('+', '+39'))
                    else:
                        if tel[0] == '0':
                            outputFile.write(lines[i+1].replace('\n','') + ', ' + tel)
                elif tel.startswith('0039'):
                    outputFile.write(lines[i+1].replace('\n','') + ', ' + tel)
                else:
                    outputFile.write(lines[i+1].replace('\n','') + ', ' + tel)

```

Note that this script **is aimed to the Italian telephone numbers** (note the prefixes that are checked in some *if* clauses)!
However, once the folder is modified and the script is executed, a file called *csvToConvert.csv* is generated.
Subsequently, this file must be passed to a program called CVS to VCard, which takes care of converting the *csv* file into a *vcard* file.
Then, once the vcard file is generated, just enter it on google contacts (*https://contacts.google.com/* *\> more \> import*), and you're done! Magically you will find all the contacts in the phone book of your android phone!
I hope I have been helpful.
> 4 votes

# Answer
You can export the Telegram contacts via the desktop app by going to **Settings** \> **Advanced** \> **Export Telegram data**. Now select only contacts and export as JSON.

Now you can transform this into a Google Calendar format CSV file using jq CLI-tool.

```
jq '[
  # Rename fields to Google Contacts CSV format and format phone number starting 00 to +
  .contacts.list[]
  | .phone_number |= sub("^00"; "+")
  | .["Given Name"] = .first_name
  | .["Family Name"] = .last_name
  | del(.first_name, .last_name)
  | .["Phone 1 - Type"] = "Mobile"
  | .["Phone 1 - Value"] = .phone_number
  | del(.phone_number, .date, .date_unixtime)]
  # Convert array of objects to CSV, from https://stackoverflow.com/a/71505734/13994822
  | (map(keys) | add | unique) as $cols
  | map(. as $row | $cols | map($row[.])) as $rows
  | $cols, $rows[]
  | @csv' \
-r "Downloads/Telegram Desktop/DataExport_[DATE]/result.json" \
| tee contacts.csv

```

This can then be imported at Google Contacts via the import button . As of 2023-05-15 this is on top-right of the application UI.
> 0 votes

---
Tags: contacts, google, samsung-galaxy-s-5, sim-card, telegram
---


title: Shrinking encrypted ext4 partition

text:
# Question
Title: Shrinking encrypted ext4 partition
I have a micro SD card adopted by an Android phone as internal storage extension. While being adopted it was partitioned/formatted by the phone with two ext4 partitions: android\_meta and android\_expand, which is easily decryptable in a Linux laptop using the key under /data/misc/vold. I'd like to free up some space on the card for an "external" aka "portable" partition for music storage etc, ideally using that Linux laptop: the idea is to shrink android\_expand somehow. How do I do that? E.g. GParted won't let me do it - if that's just 'cos it's encrypted can I perhaps decrypt it, write it back onto the card, move/resize it as necessary using GParted or the like and then encrypt and write it back again? Thanks in advance!

# Answer
Android 6.0 Adoptable Storage is FDE encrypted
Android 7.0-8.1 does not support Adoptable Storage for FBE encrypted devices
Android 9+ Adoptable Storage is FDE and/or FBE encrypted

## this for FDE encrypted Adoptable storage only

you can partition mixed from `sm`
Split external SD card partially into adoptable storage and portable storage

to backup files use gnu `tar` with selinux flag
Can't access my phone memory suddenly after using SD card as internal memory
> 0 votes

---
Tags: internal-storage, external-sd, sd-card, internal-sd, ext4
---


# Question
Title: Permission denied when opening files from Termux
I have an issue with file permission in Termux.

For instance, I installed c4droid and copied the Termux `/include` and `/lib` folders content in the `/c4droid` folder where the headers are being looked for at compilation. I changed the owner and group to the correct name and mode to 777, but at compilation, it says "cannot open \****.h permission denied".

Same thing with a worldlist that comes from the SD card that I put on a folder meant to be used with hydra, not only have I have to use root access to unzip the file and move it around, but hydra itself can't open it.

What is this so important thing that I am missing about Termux and filed ownership and permissions?

# Answer
> 0 votes
The above comments hint toward SELinux blocking access to the files that are being copied around to the `/data/data/` directory of apps. Yes, it is SELinux blocking the access, you just need to set it to permissive mode with SELinux\_switch, and don't forget to set the user and group to the app's one.

So, copying the files from Termux with the option `-pZL` keeps everything in place, and once you set the correct owner and group, it will work. I have not tried having a symlink from the droidc's `/includes` and `/libs` folder to Termux's ones. If you missed fixing permission while copying files, you can use `/system/bin/restorecon -R` (recurse) one both `/include` and `/lib` folders.

# Answer
> 0 votes
TL;DR:

```
$su
#chown u0_a???:u0_a??? <files>
#restorecon -v <files>
#exit

```

or

```
$su
#chown -R u-a???:u0_a??? <directories>
#restorecon -vR <directories>
#exit

```

IMPORTANT: Commands run via `sudo` work differently from commands run from a root prompt via `su`. `sudo ls -lZ``su` `ls -lZ` (which is unexpected and violates so many assumptions, but I assure you that it is nevertheless so. I assume there are a couple of other non-obvious ways these commands could fail, so I'd advise trying a couple of different ways to be root if this fails)

Make sure to get the correct username and group for your termux user via "ls -l" or similar, and use that username and group in the commands above.

I found this solution to fixing SElinux file permissions after copying from the SDcard back into my Termux home directory on a GitHub issue And it took me so much time and effort to dig up that I figured I repost it a couple of times to make it easier next time this "Why, no! you're not allowed to restore your backups!" bites my ass.

You can test to see if this is your problem before implementing this via `ls -lZ`. Compare to a file you *can* access to compare the SELinux security context of the two files and verify that they differ.

---
Tags: termux, file-permissions
---


# Question
Title: How do I Remove a Google Contact from Phone without Deleting it from Google Account?
My work Google account is one of many synced to my phone. I'm a teacher so I have lot's of student emails as contacts on my work Google account. When I do a search for say "David" on my phone's contact list all my students I've ever had with the name David show up and it is very cluttered.

**Is there a way to remove the contacts of my work Google account from my phone without deleting them from the associated Google account, and while still keeping access to emails from that account on my phone?**

# Answer
If Your Phone is Set to Display Contacts from Google Account, it will likely keep showing except if you deselect the linked google account from displaying its contacts. Else, you will need to delet the contact and syncronize it.
> 1 votes

# Answer
I had a similar problem with having my husband's Google account on my phone. It synced his contacts to my phone.

What I did was this: Turned Airplane mode on. Settings\>Accounts-Google\>\[your account\], and make sure Contacts sync is turned off. Make sure you turn off sync on all the Google accounts. Next, go to Settings\>Apps, tap Menu\>Show System, and select Contact Storage. Clear Cache/Data.

What I did also was select Calls, Call Settings, Contacts, and Contact Migrator; Clear Cache/Data.

Restarted the phone, turned Airplane mode off, turned sync on just my accounts on and opened contacts. It worked.
> 1 votes

# Answer
I the same problem with my work google contacts. I tried the answers above but they did not work for me.

Here is what I did instead. (Note: I have a Redmi Note 10.)

1. Use a computer to delete all your google contacts. You can probably do this with your phone too. The phone will then sync and remove the contacts.
2. After the contacts are removed, go to Settings\>Accounts & sync\>Google\> Select the google account and disable the syncing of contacts.
3. Go to Google Contacts and recover your contacts from the trash. These contacts will no longer appear on your phone's contacts.

I hope this helps.
> 0 votes

---
Tags: contacts, google-account, google-contacts
---


# Question
Title: Remove unused/empty screens on Square Home launcher
I'm using the Square Home launcher and somehow, it creates additional home screens parallel to my main screen. I don't know what triggers this, but right now I have 23 home screens, and 22 of them are empty. And my contacts are at the farther right end of them. That is, I have to swipe left 24 times to reach my contacts from my home screen.

Normally, using the standard Android launcher, I could get rid of empty parallel home screens by pressing and holding some empty place and swiping up the empty home screens. However, that totally does not work here.

Does anyone know how I can get rid of this?

# Answer
> 1 votes
* Pinch out on the homescreen
* Tap the Edit icon on the bottom right corner.
* Delete button should appear

Check the screenshots below

---
Tags: applications, launcher
---


# Question
Title: How to view/filter posts by a user in a WhatsApp group?
I am a participant in a WhatsApp group for a long time. I want to view all posts I have done in the WhatsApp group.

How to view/filter them?

# Answer
> 1 votes
Go to telegram
Create an empty group.
Go to whatsapp group you want to filter messages of.
3 dots \> Export chat \> including media \> Telegram group that you just made

All the Chat's will be exported and then you may filter it by the users. Screenshots below

Downsides?

* you will not be able to see the tagged messages
* some stickers (but not all) won't appear if it isn't added in telegram. As seen in the screenshots
* there will be numbers instead of name (if the contact is not on telegram, I guess)

Upvote if you find this helpful:)
Thanks!

---
Tags: whatsapp-messenger
---


# Question
Title: How to disable Shift + Space to change language on Android?
I am using Android 11 (Build Number RP1A.201005.004.A1) on a Google Pixel 2 XL with an external BlueTooth keyboard (Logitech K480).

In my normal typing on a desktop or a laptop, I am very used to typing spaces with the Shift key depressed (habit) and it correctly registers as a normal Space key in those environments, but on Android, it triggers a change in language which I have to then stop and change back, and then continue typing.

Obviously, one solution is for me to try and change 20 years of typing muscle memory, but I would also like to know how I can disable this keyboard shortcut, so that I can have a similar typing experience to what I would have on laptop or desktop.

Thanks.

---

## Update (3rd January 2021)

I checked to see if the answers to the question linked in the comments by @Robert solved my issue or not.

As per the suggestions in the linked question, I switched off the Google Indic keyboard which is what was apparently providing the Shift + Space keyboard shortcut, with no way to change this mapping. Here is a screenshot of all the settings in the Google Indic keyboard app, having cycled through all of which, I was unable to locate a setting for changing keyboard shortcuts:

Anyway, reverting to Gboard, which is the main suggestion in the linked question (albeit for Samsung phones) does not resolve my issue:

1. Firstly, there now appears to be no external keyboard shortcut to switch between languages. I tried several combinations after having added a couple of languages to Gboard.
2. Secondly, and more importantly, Shift + Space now *does nothing*. Which means that my original intent of getting Shift + Space to emulate a Space keypress is not actually solved.

In fact, while this query was for my Pixel 2 XL, tinkering around with my Samsung Note 10+, I discovered that the Samsung keyboard actually provides exactly this feature of being able to switch off the Shift + Space external keyboard shortcut to switch languages, which is exactly what I am looking for in Gboard! See the screenshot below (Shift + Space on my Note 10+ now simply enters a Space while typing, exactly as desired):

**I am really hoping that someone can help me understand how I can get Shift + Space to be just a plain Space keypress on Android using an external keyboard.**

# Answer
Google just posted an update on the ticket for one of the suggested solutions to this issue stating that the next version of Gboard is going to block Shift+Space if any character other than space is hit after pressing the shift key before pressing space. This should eliminate the misfires that cause the complaints about it.
> 2 votes

# Answer
I have a suggestion! You gave me the idea. Install a keyboard called Hacker's Keyboard. Switch to it when you use your Bluetooth keyboard. Hacker's Keyboard doesn't have the shift space function and it will type normally.
> 0 votes

# Answer
go to Settings \> General Management \> Physical Keyboard \> Change Language Shortcut \> and disable the short cuts you dont want to use to switch the language.
> 0 votes

---
Tags: keyboard, languages, external-keyboard, gboard, keyboard-shortcuts
---


# Question
Title: Phone contacts list displayed without contacts from a different google acount which I added on my phone
I use my friend's google account on my Android phone (Xiaomi Redmi Note 11 Pro) to help him sell on ebay. All his phone numbers from his contacts list now appear in my contacts list. I don't want the numbers from his list to show up, what can I do? I also want to continue using his account, to help him.

# Answer
> 0 votes
`Settings` -\> `Accounts & Users` (dont enter Google) -\> `select your friend's Google account` -\> `turn off sync`

You will then have to manually delete all his contacts from your Contacts App.

Next time remember to turn off syncs when logging in to Google accounts :)

---
Tags: google-account, google-contacts
---


# Question
Title: How precisely can an app infer your location from info that is visible with location permission off?
For example, by looking at whether your SIM is roaming, what network it is connected to, what network issued the SIM in any second slot, or any other info that would give away your location.

# Answer
> 1 votes
Any app can determine your approximate location just by the internet. The IP you are assigned by your ISP reveals your local location. However, the same IP can be shared by many around you (in your locality), so they cannot find YOU or identify YOU on that basis.

1. Using a VPN almost removes this issue, until a website/app decides to compare time on your device to the time of the location shown by your VPN. This is something they usually don't do but certainly can.
2. As the Google CAPTCHA does, if many people are connected to the same VPN, they will have the same IP and there will be a lot of traffic from the same IP at the same time. Not something to worry about when not using Google.

They (some apps) also use SIM card info to know your country. (Like tiktok does)

Apart from these they may use your device info to know your country (if your phone is not a Global variant)

And not to mention the location permissions which gives your exact location. (Android 12/13: you can choose between exact and approximate location)

*Upvote if this helped*.
Thanks :)

---
Tags: geolocation, location-services
---


# Question
Title: Enable "Install via USB" without creating MI Account
I am trying to create some apps on my xiaomi smartphone (MIUI 8), but when I try to run an app, the error `INSTALLATION_CANCELED_BY_USER` appears. I found that the problem is that I must enable the "Install via USB" option from developer settings. When I try to do so, I get a screen that says I have to login/signup with an MI account in order to enable this option, which is something I am not willing to do. So, I have 3 questions:

* Why did they make it neccessary to provide an account for enabling an option like this?
* Is there any way I can bypass the MI login screen and enable the option?
* The reason I don't want to connect my phone to an MI account is that I am concerned about personal data being uploaded. Is it a logical concern?

# Answer
> 19 votes
What I didn't want was to continue having an MI account connected to my device. So I just created a temporary account, enabled the "Install via USB" option and then logged out from the MI account. So, now I hope the option stays enabled :)

# Answer
> 17 votes
For those who have already inserted their SIM card into the Xiaomi phone, the other answers would work. But, if you are using Xiaomi Redmi 5 only for development purposes, you will need to do as below:

You will need to sign up/sign in for a Mi account before you continue.

1. Extract the SIM card from your non-Redmi phone. (It should be nano SIM. Contact your telecom provider to get one if you have a micro or normal SIM).
2. Insert the SIM card into the Redmi phone.
3. Go to Settings -\> Additional Settings -\> Developer options.
4. Under Debugging, click on the 'Install via USB' option.

The phone will enable this.
5. Remove the SIM card.
6. That's it. You should now be able to install your apps via USB from Android Studio.

Please remember not to disable this option, otherwise, you may need to re-insert your SIM card.

PLEASE NOTE: The above steps are guaranteed to work on Xiaomi Redmi 5 phones.

---

Also works on (based on the commenters' feedback): Redmi 6, Redmi 6A, Redmi 8, Mi 9 Lite, Redmi Note 9.

# Answer
> 16 votes
These steps worked for me for Redmi 8 Pro. Follow them in the exact same order.

1. Enable Developer Options.
2. Settings -\> Additional Settings -\> Developer Options -\> Disable MIUI Optimizations
3. Reboot Phone
4. Settings -\> Additional Settings -\> Developer Options -\> Allow USB Debugging
5. Security (system app) -\> Manage apps -\> Permissions -\> Gear icon (in top right) -\> Install via USB (true)
6. Reboot Phone
7. Settings -\> Additional Settings -\> Developer Options -\> Enable Install via USB

It will ask for MIUI account. Don't close it and reboot from there. From next run onwards you can install apps either using `adb install` or via Android Studio.

---

Also works on (based on the commenters' feedback): Redmi 8 Pro, Redmi Note 5 Pro, Redmi Note 10, Mi 10T Pro,

# Answer
> 14 votes
None of the other solutions floating around the internet worked for me (Chinese VPN, Disabling MIUI optimization...). I also could not temporarily sign into a Mi account, since I'd uninstalled as many MIUI system apps as I could and thus sign-in wasn't working anymore (and I just didn't want to sign in to begin with).

YMMV - it worked for me when I did it in early 2019, but it may not work any more if they changed something. I changed to custom ROM and can't test it anymore.

If you want to change it back, just re-run the commands with a `0` at the end and remove what you added to the text files.

---

This **requires root**, shell access with `su`, and a way to edit text files as root. I used Termux and and an android root file manager that can edit text files.

First, run the following command (`su` first, to switch to root):

```
setprop persist.security.adbinstall 1

```

If you also want to enable "USB debugging (Security settings)", for granting permissions, simulating UI input, etc. via ADB, run the following command too:

```
setprop persist.security.adbinput 1

```

Next, we need to edit the file

```
/data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml

```

so that MIUI actually lets us do these things:

Add the following line to the XML file (with all the other ones, before the closing tag, or change it to true if the line is already there):

```
<boolean name="security_adb_install_enable" value="true" />

```

Or, if the line is already there, you can can use `sed` to change it from `false` to `true`:

```
sed -i 's,"perm_adb_install_notify" value="true","perm_adb_install_notify" value="false",' /data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml

```

No reboot necessary. MIUI annoyingness circumvented :-)

# Answer
> 6 votes
**"Install via USB"** wont work if your Xiaomi phone is running MIUI 8 or above. Looks like when you try to Enable this option, your phone trys to connect to some chinese server and fails.

I got a work around and it worked for me. Idea is to connect to Chinese-Shanghai server through VPN. Try the following:

1. Install **PlexVPN** from Playstore and login into it. You will a 24 hr free VPN service.
2. Select **China-Shanghai** server and connect.
3. From developer option in your Xiaomi phone, **Enable "Install via USB".**

You can then disconnect the VPN and logout from PlexVPN.

Enjoy!!

# Answer
> 5 votes
First question: I think it's a bug

Second: The are some workarounds (suggested in Mi forums)

Try the following steps to bypass mi account requirement for USB installation:

> 1. Settings \> Additional Settings \> Privacy: Check the Unknown Sources option.
> 2. Settings \> Additional Settings \> Developer Options \> Turn On USB Debugging
> 3. Settings \> Additional Settings \> Developer Options \> install Via USB
> 4. Settings \> Additional Settings \> Developer Options \> Turn off MIUI Optimization.
> 5. Restart your Mobile.

Third: Yes is completely logical and justified to protect your privacy, you never know the 'intruders'

**Acknowledgements**

1. Install Via USB not working - The device is temporarily restricted
2. Android Install on Device Failure \[INSTALL\_CANCELED\_BY\_USER\]

# Answer
> 1 votes
I managed to enable Install via USB on MIUI 14, device: Redmi K60.

The problem: The option to enable "Install via USB" in Developer mode requires a Xiaomi account.

Solution: Go to Settings -\> Apps -\> Permissions -\> Click the icon settings on the top right corner. Here, you can see the option to enable "Install via USB" without any Xiaomi account request.

This method is similar to the solution other users already posted. However, the steps are a little different because MIUI changed the layout.

# Answer
> -1 votes
I had this problem with my Xiaomi Mi 5 in India. I did some RnD over it and finally got its core reason and one solution which is working on all devices.

You would have noticed that to toggle the ‘Install via USB’ option on Mi phones, you need to be connected to the internet and logged in to Mi account. Due to some reason, requests triggering from India are getting rejected by Mi servers. So, I connected my phone to an open VPN in China and made a request again and it got SOLVED.

You can refer to my video for detailed information: https://youtu.be/MeKUJlD-Ke4

---
Tags: xiaomi, miui, developer-options
---


# Question
Title: ADB file transfer works on internal storage but not SD card
I am trying to transfer a large amount of files (\>40k images and videos). I've had trouble transferring it by dragging and dropping in Windows File Explorer so I used the `adb push` command. It works on the internal storage of my phone just fine. However, when I try to do it on my SD card, it just refuses to start. It would be stuck at "daemon started successfully". I've tried restarting my computer, my phone and the adb connection, still same thing.

This is the command I tried:

```
adb push "D:\Pictures and Videos" "storage/A01D-69AC"

```

Phone Model: Xperia 1 III
SD Card: Toshiba Exceria 256 GB

# Answer
Remove the spaces in the folder in your computer.

then do this:

> `adb push D:\PicturesandVideos /storage/A01D-69AC/`
> 0 votes

---
Tags: adb, external-sd, file-transfer
---


# Question
Title: How to lock or remove recovery options on an Android phone, specifically UleFone Armour X7 Pro?
At work, we have the Ulefone Armor X7 Pro to log activities and time. It is locked down by Hexnode for Work, but I was initially easily able to circumvent a lot of this by force-restating the phone (power off has been disabled), and when it starts up again, quickly open settings from the drop-down menu. Once the Settings app is open, Hexnode didn't block it. Through that, I was able to find the WiFi password of the company.

I told my manager about this vulnerability and he fixed my access to settings by disabling the dropdown menu with Hexnode. He also disabled the power button in Hexnode, but it doesn't really disable the button, rather, it just turned back on the screen if I put the phone to sleep. This drained everybody's battery and was no fix because I could still force restart it. Our IT guy seems to have no fix for this problem.

Does anybody know how I could block the restart option with some kind of code?

# Answer
I’m nowhere close to being an expert on this, but being a Hexnode user, what I’ve understood is that the “Disable Power Button” option is just meant to keep the screen awake. It isn’t intended to not make the button work. They also have a restriction to disable power off, but that depends on the manufacturer. I know that it is supported on Samsung Knox devices, don’t think that’s the case with Ulefone. This could have been better handled if the manufacturer supported OEM configurations.
> 0 votes

---
Tags: security, recovery-mode, ulefone
---


# Question
Title: How can I get Android File Transfer working between Mac 13.2.1 and Android 13?
There are a lot of very old answers to this question, and they are not helping me.

* I am running MacOS Venture 13.2.1
* I have a Pixel 4a running Android 13 patched to March 2023
* I have Android File Transfer 1.0.12 which is the latest stable version available
* I have never had a Samsung phone so haven't installed Kies.
* When connecting the USB cable I get a notification and can select File transfer/Android Auto
* The same USB cable is working fine with Windows. The USB port on my Mac is working fine with a hard drive.

I am able to connect to the phone using ADB but don't want to use ADB to transfer files all the time when there is a simple GUI that allows this.

~~I am having the same issue on my Windows computer, so I am wondering if there is some setting on my phone I have missed.~~

Update - I am able to access files on my phone via Windows fine after all. I see MTP showing up in Devices, and can see my Phone by it's name in File Explorer.

Update 2: I apologise for not giving more detail about what does happen. When I connect my Pixel 4a to my Mac Android File Transfer does not open automatically. When I run it manually, I get a message saying 'No Android device found. The phone detects the connection (hence the USB mode notification, but it seems the Mac does not.

# Answer
It turns out that a number of applications can block access to USB connections to my phone - here are the applications I exited:

* Google Drive
* OneDrive
* Calibre

I figured this out through installing OpenMTP as suggested by @Robert in a comment - its in your face documentation was really helpful.

Closing the above apps allowed both Android File Transfer and OpenMTP to access my phone.

I then experimented with running the above listed apps one at a time to see if they interfered with Android File Transfer.

* OneDrive definitely causes the issue
* Google Drive definitely causes the issue
* Calibre does not cause the issue, (and can be configured to ignore USB devices if it detects them - wish that OneDrive and Google Drive could do that!).

I didn't have this problem with my previous phone for some reason.
> 2 votes

---
Tags: file-transfer, usb-connection-mode, macos
---


# Question
Title: Restricting an app to only use Wifi not mobile data
I would like to restrict my web-browser (firefox) to only work when on Wifi, while still allowing all other apps like Google Maps, Google Calendar etc, and even my alternate browser (Brave), to work using mobile data.

# Answer
> 0 votes
Settings \> Apps \> FireFox \> Mobile Data \> Turn on "Disable mobile data"

---
Tags: mobile-data
---


# Question
Title: How to type Tab character on any Android tablet?
I failed to type a tabulation character as found in standard ASCII on a Galaxy Tab.

My first solution was to use f-droid store to install https://f-droid.org/de/packages/juloo.keyboard2/ and then do the obvious swipe on the right key.

However I want to be able to type it without having to swipe on a key.

# Answer
> 0 votes
Use Hackers' Keyboard.

You can get many apps just by searching "Programming keyboards" on Google play.

---
Tags: special-chars
---


title: What does "Connected via Camera" mean?

text:
# Question
Title: What does "Connected via Camera" mean?
I have a Motorola G7 Plus (UK model) connected to my home wifi router. When I choose Settings \> Network & Internet \> Wi-Fi, I see that under the name of my router, it says "Connected via Camera". What does this mean? (I don't actually have a camera, other than the one in my phone.)

# Answer
> 3 votes
**"Connected via Camera" means that the WiFi access point was added by scanning a QR code using the Camera app.**

From `frameworks/opt/net/wifi/libs/WifiTrackerLib/res/values/strings.xml` file:

> ```
> <!-- Status message of Wi-Fi when it is connected by a app (via suggestion or network request). [CHAR LIMIT=NONE] -->
> <string name="wifitrackerlib_connected_via_app">Connected via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
>
> ```

which is used inside the `getConnectedDescription()` function to show additional info of the WiFi connection, otherwise only showing "Connected".

---

Additional reference: motorola - Can't delete / forget wifi added with QR.

---
Tags: wi-fi, android-10
---


title: Set Timezone to UTC-12

text:
# Question
Title: Set Timezone to UTC-12
How can I set the timezone to UTC-12?

I searched the regions and timezones supplied, but didn't find any TZ with UTC-12. Is there any possibility to set it by fiddling with configuration files?

Baker Island and Howard Island are in this TZ but they don't show up in the list.

Update: Android Version 10 Build SHIFT6MQ.SOS.3.8.G.20220824

# Answer
> 2 votes
I am putting the solution here instead of the comments as previously done.

1. Go to Settings -\> System -\> Date & time.
2. Set `Automatic time zone` to off.
3. Press on `Select time zone`
4. Press the 3-dot,
5. Press `Select by UTC offset`. GMT-12:00 will be listed. Select it.

---
Tags: time-zones
---


# Question
Title: Contact deleted from phone but still visible in WhatsApp
First i deleted chat from WhatsApp, then i deleted contact from my phone. Then i refreshed WhatsApp 2-3 times but when i type name in search bar, that contact is visible in WhatsApp without any previous chats.

# Answer
Whatsapp (like some other apps) makes clones of contacts. So, for a particular contact, there is a Phone/Sim entry and there is a Whatsapp entry.

To delete from Whatsapp.

* Search for Contact on Whatsapp
* Press on 3 dots
* Select View Contact

Then

* You can block the Contact

Or

* Press on 3 dots
* Select View in Address Book
* Select More
* Select Delete

If you have a whole lot to do then a Contact Manager App can make it easy. I use **Contacts Optimizer** (I am not associated with it)

---

To prove it, here is a screenshot from Contacts Optimizer. This is page 2 of the accounts, I am showing this page to show `Whatsapp`.
> 0 votes

---
Tags: contacts, whatsapp-messenger
---


# Question
Title: Using personal keyboard in work profile (Shelter) on Android 10
I am using Shelter to create an isolated space for apps which I don't trust very much and to disable them when I am not using. Shelter works by creating a work profile in Android and registering itself as the administrator, thus granting it rights to disable apps.

This has been working great in my Android 8 phone, but I recently got a new phone which comes with Android 10, and unfortunately it looks like I can no longer share the same keyboard in work profile apps. This is important to me because I use KeePass2Android to store my passwords and it provides a virtual keyboard to automatically input credentials into any text field.

Is there any way to get back the old functionality and be able to use personal keyboards in work apps?

# Answer
> 1 votes
Here's how I got it working on Android 13:

*Settings -\> Apps -\> Special App Access -\> Connected Work & Personal Apps -\> Choose App i.e. Gboard -\> Enabled Connected Switch. That will enable the sync between both keyboards (also available for other apps i.e. Android Auto etc.)*

Please note, I tried with SwiftKeyboard and it said "blocked by admin", I am almost certain that Shelter has some weird policy that is stopping it.

So as of now it works well with Gboard. Good luck!

# Answer
> 0 votes
Install your keyboard by cloning it into Shelter or by installing it through an App Store that is installed / cloned into Shelter.

After that, you can activate your keyboard in *Settings \> System \> Languages and input \> On-screen keyboard \> Work*.

The reason why Android enforces a separation on the keyboard is simple: Third party keyboards also grab data. If you choose to use a third-party keyboard, it should not be able to combine your data. Shelters goal is the strict split between your data to provide isolation and thus more privacy.

EDIT: This will not include data sharing which you're apparently after. It wasn't clear to me before you replied to me. If it's just about getting the "same keyboard" (in "same APK" without data sharing), this is the right approach.

**An alternate solution for your problem with KeePass**

I had the same problem, here is how I solved it:

I've setup Syncthing on all my profiles and my PC (should work with Shelter as well) and let all profiles sync a KeePass database. Use the Syncthing-Fork from F-Droid in particular, it offers better diagnostic capabilities. Alternatively, use another Cloud provider if privacy is not a concern.

I use KeePassDX from F-Droid on all my profiles. It allows to open a local KeyPass database and supports quick unlock with a PIN. It works well between profiles.

Good part about this solution is that your KeePass database is synced between two devices. It works with multiple Android user profiles and should also work with Shelter.

If this doesn't suit you, there is only the old copy paste between your KeePass app and the isolated Shelter app, because the clipboard is shared between both profiles.

---
Tags: applications, keyboard
---


# Question
Title: Can my phone go silent whenever I'm asleep?
Is there a setting, app, or combination of apps that can turn my phone silent whenever I'm asleep? Without me needing to schedule or toggle anything?

So if I'm up late or early, I still hear a text arrive, but if I nap midday it's silent, without me needing to remember to turn some settings on or off? Maybe some sleep app can do this? Or maybe IFTTT, Tasker, MacroDroid, or some other, can deduce whether I'm asleep, from Fitbit, or some other sleep app?

My phone has Android 12 but is a tad dated (Pixel 3 XL), so a solution that doesn't suck lots of battery would be preferable.

# Answer
> 0 votes
If you have a Pixel device with factory ROM/updates, you have a variety of options for alerting behavior.

From: https://support.google.com/pixelphone/answer/6111295?hl=en

> **Limit interruptions with Do Not Disturb on Pixel phone**
>
> Quickly turn interruptions off or back on Here are some ways to silence your phone:
>
> * All Pixel phones: From the top of your screen, swipe down. Then tap Do Not Disturb.
> * All Pixel phones (Pixel 2-4): To silence incoming calls, squeeze your phone. Learn how to use Active Edge.
> * Pixel 2 & later: Place your phone face down on a flat surface. Learn how to use Flip to Shhh.
> * From another device: If you have a Smart Display or speaker, you can ask it to silence your phone. Learn how to limit interruptions with the Google Assistant.

See link for details.

Also be aware that Google's Digital Wellbeing feature has a Bedtime mode but that is based on a schedule or device charging with a preset time window.

---
Tags: automation, silent-mode
---


# Question
Title: Can we adjust subtitle size and position in YouTube app?
Using Android 13 in Pixel 7.

Is there any way we can change the font size or placement of subtitles of a running video within the YouTube app without any subscription model? Is that feasible?

# Answer
**The subtitle size can be set from the device settings for captions.**

From YouTube Help - Manage subtitle settings

> Change default size & style of captions
>
> 1. Tap your profile picture .
> 2. Tap **Settings** .
> 3. Tap **Captions**.
> 4. Tap “**Caption size and style**” to change the default size and font.

**The subtitle position cannot be configured from the YouTube app.** However, there may be alternative options like:

1. For devices that have Live Caption, system-generated captions can be moved along vertically (thanks to a YouTube video by Kris Occhipinti.

> ### Move the caption box
>
> **To move the caption box:** Touch and hold, then drag up or down.

(Note that the YouTube Premium subscription doesn't provide additional settings for subtitles/captions)
> 2 votes

---
Tags: youtube
---


title: Delete learned words in Gboard, 2023

text:
# Question
Title: Delete learned words in Gboard, 2023
Not a single webpage as of today on the Internet offers a way to delete learned words in GBoard (Google Keyboard app).

How can this be done without typing first few letters of a word and then when you see it as a suggestion, you long press it and drag it to the recycle bin icon in the middle of the screen. This is terribly inconvenient and there's no way you can remember all the words you've ever added or mistyped (GBoard remembers mistyped words as well).

# Answer
> 2 votes
If you want to delete **all** learned at once:

1. Open Gboard settings.
2. Open Privacy.
3. Select `Delete learned word and data`.
4. Enter the code shown on the screen. Press `OK`.

---
Tags: gboard
---


title: Secure boot on with no system

text:
# Question
Title: Secure boot on with no system
I have bought a cellphone (google nexus 5) and can only boot to bootloader, recovery seems erased since it will only reboot, same for system. I cannot flash anything since get\_unlock\_ability returns 0. Any way out of this ?

# Answer
I was lucky enough to find a working system to remove secure boot after I carefully folllowed the instruction to remove the battery.
> 0 votes

---
Tags: fastboot, boot-loop, bootloader
---


title: Show Background Apps/Services

text:
# Question
Title: Show Background Apps/Services
I want to monitor apps/services running in background on my phone. I have searched online but I can't find any way to do so.

* There is no 'Running Services' option in Developer Settings or Apps section in MIUI.
* I have tried `adb shell top` command but the output is not much helpful. And I can't keep my phone connected to my PC at all times.

My phone is rooted. It's running on `MIUI 13 - Android 12`.

Please help.

Edit: I want something similar to the 'Running Services' option in Developer Settings. (It's not available on Xiaomi devices)

# Answer
> 0 votes
You can check 'Running Services' by calling through ADB or on-device terminals like Termux, etc.

To use in the terminal, you need superuser access & remove the `adb shell` prefix.

ADB:

```
adb shell am start -n com.android.settings/com.android.settings.SubSettings -e :settings:show_fragment com.android.settings.applications.RunningServices

```

On-device terminal:

```
su
am start -n com.android.settings/com.android.settings.SubSettings -e :settings:show_fragment com.android.settings.applications.RunningServices

```

---
Tags: applications, adb, root-access, background-process
---


# Question
Title: How to enter Unix pipe symbol on my Bluetooth keyboard?
I'm using a Bluetooth keyboard KW6000-BT with a website at https://www.v7world.com. I want to enter the | or ¦ symbol on a Bluetooth keyboard. The keyboard does not have a | but has a ¦ symbol on it. The keyboard has a FN key and a Ctrl key as well as a Windows key, but no AltGr. But no combination of keys allows the ¦ symbol to be entered (i.e. displayed).

I've tried using the Android soft keyboard but I see no | or ¦ symbol on it. The keyboard is connected to an Android phone which has the Termux app installed but the app does not seem to have the | or ¦ symbol available.

I'm happy to enter either variant of the pipe symbol. Settings -\> System shows GBoard: it is installed on both phones and tablets as an app according to Play Store. I don't see either pipe symbol on the soft keyboard's 2nd screen: 2nd screen just has a few icons (e.g. palette, clipboard) in addition to numbers & punctuation symbols. OS configured for UK according to Settings -\> System. I have tried both FN and Alt keys in conjunction with the key showing 3 characters but neither gives the back quote.

How do I enter the | or ¦ symbol?

# Answer
You have the **KW6000-BT-15EC-3** variant of the keyboard (the ***3*** at the end denoting that it's the UK layout version, they gave the same model in US, German, and Italian layout variants, and each of them differ on all the symbol characters.) It's ANSI but in a British version.

On the physical keyboard, you should be able to do a pipe using the `Ctrl` \+ `Alt` \+ `¦`:

On the soft keyboard (Gboard) you can do a pipe by pressing the `?123` key to switch to the numbers, and then the `=\<` key (towards the bottom-left of the number page). Pipe is the 3rd on the top row:
> 1 votes

---
Tags: external-keyboard, special-chars
---


# Question
Title: How do I restore my parallel Whatsapp from backup after skipping the restore option?
Am using whatsapp parallel i passed this place. I still have my last back up in my fone. How can I access it back? And restore my last messages

# Answer
> 0 votes
If you accidentally skipped, then uninstall and install again. note:

1. Whatsapp recognizes its installation by phone number. So if you wish to restore backup from a different number then sorry, it won't work.
2. In case both backups are from same phone number, you need to find and move whatsapp\database folder or com.whatsapp folder in \android folder in the root of storage from source to same location on target device.
3. Then install whatsapp and during installtion it will ask if you wish to restore previous messages from backup, say "yes".
4. If it does not find, either the location is incorrect or backup is not created using same phone number/key.

Hope that helps!

---
Tags: whatsapp-messenger
---


title: How to install netcat on Termux?

text:
# Question
Title: How to install netcat on Termux?
I want to use WireGuard on my phone to connect to WireGuard on my Desktop's WireGuard server. On another website, I have been advised to execute in Terminal (I use the Termux app) on my phone, the command `nc -4u -w1` I get "The program nc is not installed. Install it by executing pkg install netcat". When I try to install netcat, I get various repositories being a problem and netcat is not installed.

```
$ pkg install netcat
Testing the available mirrors:
[*] https://dl.bintray.com/termux/termux-packages-24: bad
[*] https://grimler.se/termux-packages-24: ok
[*] https://main.termux-mirror.ml: ok
[*] https://termux.mentality.rip/termux-packages-2
4: ok
Picking mirror: https://termux.mentality.rip/termux-packages-24
Get:1 https://termux.mentality.rip/termux-packages-24 stable InRelease [14.0 kB]
Ign:2 https://dl.bintray.com/grimler/game-packages-24 games InRelease
Ign:3 https://dl.bintray.com/grimler/science-packages-24 science InRelease
Err:4 https://dl.bintray.com/grimler/game-packages-24 games Release 404 Not Found
Err:5 https://dl.bintray.com/grimler/science-packages-24 science Release 404 Not Found
Get:6 https://termux.mentality.rip/termux-packages-24 stable/main aarch64 Packages [502 kB]
Reading package lists... Done
E:The repository 'https://dl.bintray.com/grimler/ game-packages-24 games Release' does not have a Release file.
N:Metadata integrity can't be verified, repository is disabled now.
N:Possible cause: repository is under maintenance or down (wrong sources.list URL?).
E:The repository 'https://dl.bintray.com/grimler/ science-packages-24 science Release' does not have a Release file.
N:Metadata integrity can't be verified, repository is disabled now.
N:Possible cause: repository is under maintenance or down (wrong sources.list URL?).

$ echo Test message | nc 4u -w1
The program nc is not installed. Install it by executing: pkg install netcat

$

```

Original Termux output

# Answer
> 2 votes
If you are using Termux installed via the Google Play Store, please remove it and replace with builds from GitHub or F-Droid. More info about here: https://github.com/termux/termux-app#installation

Run `termux-change-repo` to update your repos.

more info here: https://github.com/termux/termux-packages/wiki/Package-Management#package-management

for installing netcat, `pkg install netcat-openbsd` for using with command `nc` or `pkg install nmap-ncat` for nmap variant, command `ncat`

---
Tags: installation, termux
---


# Question
Title: Hiding all Android notifications until scheduled time
Is it possible on Android to set a schedule or even just a single timer during which all notifications will be hidden but stored and shown at a specific scheduled time?

For example, let's say I want to focus for a day, so I decide that I still want my notifications, but I only want to see them at noon and at 4pm. I want all the notifications before noon to be sent to me at exactly noon. And all the notifications between noon and 4pm to be sent to me at exactly 4pm.

Is this possible?

# Answer
> 1 votes
You may have two good options for this, depending on your phone model and software version:

# Focus mode

Focus mod was made available generally in Android 13 and can be set on a schedule by going to *Settings \> Digital Wellbeing & parental controls \> Focus mode*. While focus mode is on, notifications will be held from the apps you select ("distracting" apps), and you won't see them until Focus Mode is paused or disabled.

* Pros:
    + Holds notifications for you on a set schedule
    + Will allow you to "take a break" at any time to see pending notifications (at noon)
* Cons:
    + Can't break up the schedule without using the "take a break" feature
    + This mode also disables these apps, attempting to keep you from using them at all, in addition to holding their notifications

# Do not disturb

Do Not Disturb can be accessed through *Settings \> Sound & vibration \> Do Not Disturb* and allows you to set Schedules. You can set two schedules (beginning of the day until noon, 12:15 pm to 4 pm) during which notifications will be hidden until Do Not Disturb is turned off.

* Pros:
    + You can set the exact schedule you're looking for
    + You can still choose what alerts your phone (apps, calls, alarms, etc.)
* Cons:
    + The intention of Do Not Disturb is to block *most or all* communication from your phone, so you'll want to be careful about the settings, including who can call, what apps can interrupt, and how to handle alarms, media sounds, etc.
    + Using these settings for this purpose will change the way Do Not Disturb acts all the time. For instance, if you use this to allow calls through but block app notifications, the same settings will apply when you use Do Not Disturb in a movie theater, and a call may come through.

---
Tags: notifications
---


# Question
Title: Oneplus 6T stuck on bootloader after rooting
I tried to root my Oneplus 6T. Now the phone is stuck on the bootloader

If I continue with `START`, the device is going to a loop, never completing the boot process.

I tried booting the boot image with fastboot like `fastboot flash boot twrp-3.2.3-1-fajita.img`, but after that, an error message is displayed

> ```
> QUALCOMM CrashDump Mode
> -------------------------
>
> Attempted to kill init!  exitcode=0x0000000b
>
> ```

After searching, I found that the MSM tool can flash the device with a fresh install, but the software is not available on macOS.

Is there any alternative for the MSM tool? How can I get at least go back to a non-rooted state?

# Answer
After an extensive Google search and reading xda forum, I realized that the official TWRP image does not support the latest OxygenOS - `11.1.2.2`.

Fortunately, there is an unofficial patch that works on OOS 11.1.2.2. I got it from this thread. After flashing the newly downloaded image, I could boot to TWRP recovery.
> 0 votes

---
Tags: rooting, boot-loop, oneplus6t
---


# Question
Title: I can't find the /system/media/ folder in any root browser or TWRP File Manager
I'm running Evolution X 4.3 (official) for Samsung Galaxy S6 (zerofltexx) with MagiskRoot and a few Magisk Modules. I was recently thinking about getting a custom boot animation for my phone, so I installed a root browser and looked for `/system/media/` but it wasn't there.

I also tried the file manager built into TWRP, but I couldn't find it there either. When I tried to use the "Boot Animations for Superuser" app, it ran into an error trying to backup the existing boot animation.

If the `/system/media/` folder is missing, how am I still getting the default boot animation that comes with Evolution X? Anyways, I just need help on how to replace the boot animation.

# Answer
You should read the detailed text of the Boot Animations for Superuser app. There you can find the following info:

> **Q:** Is my device supported?
> **A:** Your device must be rooted to install a boot animation. Some manufacturers, like Samsung, use a different boot animation format (QMG) which is not compatible with this app.

Therefore the app does not work for Samsung devices. You need an app that is specialized to Samsung devices or that supports the QMG format.

And keep in mind the next section:

> **Q:** The boot animation doesn’t play. How can I fix this?
> **A:** Some Android devices use different install locations. You should find your current boot animation location and change it in the app’s preferences.

This explains why `/system/media/` does not exist. Again, Samsung seems to follows a different path that most of the other Android devices.
> 1 votes

# Answer
I had the same problem with a Nexus 5, couldn't find `/system/media` using the file manager in `TWRP - 3.7.0_9-0`.

I solved the problem by go to `Mount` in the main menu and select `System`.

After that, I was able to see the folder normally using the file manager in `TWRP`.
> 0 votes

---
Tags: custom-roms, customization, boot-animation
---


# Question
Title: Does Samsung Galaxy Note 8.0 support replacement of S Pen tip?
I have an old Samsung Galaxy Note 8.0 (GT-N5120) tab. It comes with an S Pen. I wonder if this pen tip could change or not. I did not remember for this is a gift for my family member a long time ago.

# Answer
Yes, they are called "nibs". Note that the Samsung Note series uses a special type of styli(?) — the technology which I *believe* is proprietary to them, or at least to Wacom whom they have acquired — called electromagnetic induction-type stylus.

Therefore you can't just get any aftermarket stylus tips (though I have seen some aftermarket styli that I've confirmed works on the Samsung Notes. Also note that the Samsung Note series incorporates two separate touch digitizers beneath the screen: one for touch inputs, and the other for stylus inputs.

It is possible that you can use the wrong type of stylus and still have the device register your inputs, but note that if it's registering these inputs as normal "touch" inputs, you won't have any of the stylus-specific functions (such as the stylus cursor, depth/pressure input effects, etc).
> 2 votes

---
Tags: samsung, s-pen
---


# Question
Title: When was "Show zoom option in main menu" implemented on Chrome for Android?
When did Chrome on Android allow us to "Show zoom option in the main menu"? I just found this out yesterday and now I can zoom in and out on websites like Safari for iPhone.

When was this implemented?

# Answer
**"Show zoom option in main menu" first appeared on Chrome Beta v111.0.5563.15 on February 9, 2023, and on Chrome stable v111.0.5563.48 on March 3, 2023.**

The first appearance of the current menu title was on January 25, which was included in Chrome Beta v111.0.5563.15

```
       <message name="IDS_PAGE_ZOOM_ALWAYS_SHOW_PREFERENCE_TITLE" desc="Title of the preference that allows the user to always show the menu item for zoom">
-        Show zoom
+        Show zoom option in main menu
       </message>

```

It was not until 27 February that the feature was officially introduced.

> ### Customize your Android
>
> You can now easily increase the size of content on Chrome — including text, images, video and interactive controls — by up to 300% to suit your vision preferences while still preserving the page layout. This includes the ability to set your preferred content size as a default so you don’t have to change it every time you open up Chrome. Try it today within Chrome Beta via Settings \> Accessibility, before it officially rolls out in March.

According to APK Mirror, the earliest version of Chrome stable after this Chrome Beta was v111.0.5563.48.
> 2 votes

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


# Question
Title: How to turn off offering to turn on Google Assistant?
I know how to turn off google assistant. But many times when I make some move at the bottom of phone screen it show me the dialog to turn on Google Assistant. I do not want to turn in Google assistant. Never ever. I do not want to see that screen asking me if I want to turn on Google assistant on my phone. Is there a way how to stop that?

# Answer
What worked for me on Android Version 12 was to set the default digital assistant app from Google to None.

This is under Settings \>\> Apps \>\> Choose default apps \>\> Digital Assistant App \>\> Device Assistant app \>\> Default digital assistant app

Set to None and the prompts should stop coming up.
> 1 votes

# Answer
In Settings, select Apps and notifications. Click Google Assistant, then click Disable.
> 0 votes

# Answer
Go to Settings \>\> Apps \>\> Settings gear or 3 dotted menu on top right \>\> Default Apps \>\> Assist and Voice Input or Device Assistance app\>\> Assist App or Device assistance app \>\> Choose Assist App (none)

source:

https://support.google.com/assistant/thread/273692/stop-google-assistant-from-asking-to-be-turned-on?hl=en
> 0 votes

---
Tags: google-assistant
---


# Question
Title: How to remove the WiFi and Bluetooth capabilities physically?
I have a few Android phones (ACK2326, Motorola G Play) and a cheap tablet that was a giveaway--a "Sky Devices, Elite T8Plus, Android Version 11".

I do a lot of sensitive work and cannot take chances with anyone using a "partition" to conceal their spyware. Instead of rooting the phone, I would like to remove the components altogether so that it literally cannot connect to the internet, giving me and my clients relief.

I will have a soldering iron here next week and I prefer this to rooting, but I don't exclude rooting as a solution, either.

How to remove the WiFi and Bluetooth capabilities using soldering iron? Where would I find the architecture of the circuit board? Any suggestions would be appreciated.

Thank you.

# Answer
If you just getting soldering iron, instead of proper professional soldering station, and also lack experience repairing PCBs under microscope or magnifier glass - then I suggest not to even try. Also, if Bluetooth and WiFi are integrated rather than a separate components, then you cannot do anything. You can try disconnect antennas but wireless connections still may be possible at a shorter range.

If you have something so important that you need full control of hardware, then get proper development platform, like Jetson Nano. By default it does not have WiFi and Bluetooth, so just do not buy optional wireless card if you don't want it.

Jetson Nano is relatively inexpensive, and buying it is cheaper than buying professional soldering station along with other need necessary tools for this kind of work. I had sometimes to repair phones after people without proper tools and experience tried to do even relatively simple tasks like attempting to replace MicroUSB port, so trust me, don't try this, unless you are ready for the learning curve and investing into the proper tools, and also know for a fact that wireless components you want to remove are actually separate components on the board, and are not integrated.

If for your purposes you must use smartphone or tablet (for example, if you mobility and touchscreen), then the proper solution is to use encryption (both on internal and SD card memory) and strong PIN code (like 12+ digits long, instead of 4-6) or password (at least 8 symbols long, and something not easily guessable), and never leave your device unattended in unlocked state, so nobody can install the spyware in the first place.

Rooting generally reduces security, unless you are an expert, so unless you have very specific reason to root, then don't. Just turn off WiFi and Bluetooth in settings, perhaps also install noroot firewall to be sure no app will send anything in case WiFi accidentally enabled, or just don't add any WiFi access points, or remove them if you already added them in the past.

Please note that if somebody manages to install spyware because you did not take good security precautions, not having wireless connection will not help - they can just copy your data right away. So in addition to the above you should do research if any of your devices have known vulnerabilities, and if yes, then just buy newer and more secure devices.

I answered this question assuming that how to harden security is your actual question, rather than learning how to solder or how to find particular components on the PCB board. Hopefully this information will help you to improve the security of your devices.
> 0 votes

---
Tags: wi-fi, bluetooth, hardware
---


# Question
Title: "error: neither -p product specified nor ANDROID_PRODUCT_OUT set" when trying to `fastboot flashall -w` on Nexus 7
I am trying to flash the latest 6.0.1 build onto my Nexus 7 tab.
I picked MOB30X build from here

```
naveen@gandalf:~$ fastboot devices
015d2a4ffd181016    fastboot

```

But, when I do

```
naveen@gandalf:~$ fastboot flashall -w
error: neither -p product specified nor ANDROID_PRODUCT_OUT set

```

What is this product about?

Further, Looking like the build comes with a nice installation file **flash-all.sh** While running

```
fastboot -w update image-razor-mob30x.zip

```

I'm again hitting this error

> checking product...
> FAILED

Here's the complete log file

```
naveen@gandalf:~/Playground/android/razor-mob30x$ sudo fastboot -w update image-razor-mob30x.zip
[sudo] password for naveen:
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
archive does not contain 'vendor.img'
Creating filesystem with parameters:
    Size: 30550261760
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8192
    Inode size: 256
    Journal blocks: 32768
    Label:
    Blocks: 7458560
    Block groups: 228
    Reserved block group size: 1024
Created filesystem with 11/1867776 inodes and 161260/7458560 blocks
Creating filesystem with parameters:
    Size: 464519168
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7088
    Inode size: 256
    Journal blocks: 1772
    Label:
    Blocks: 113408
    Block groups: 4
    Reserved block group size: 31
Created filesystem with 11/28352 inodes and 3654/113408 blocks
--------------------------------------------
Bootloader Version...: 4.23
Baseband Version.....: N/A
Serial Number........: 015d2a4ffd181016
--------------------------------------------
checking product...
FAILED

Device product is 'grouper'.
Update requires 'flo'.

finished. total time: 0.157s

```

# Answer
> 1 votes
You need to set `ANDROID_PRODUCT_OUT` in `/etc/environment`.
You may have a folder with `boot.img` and `system.img` etc. in, this is the right folder.

Example:

```
ANDROID_PRODUCT_OUT=/path/to/folder/with/images/

```

After that, you can call `sudo fastboot flashall -w`.

It also works for self-builds.

# Answer
> 1 votes
fastboot is trying to play it safe, and make sure you're not flashing from the wrong location. The easy way is just to `export ANDROID_PRODUCT_OUT=./`, and run fastboot (or fastboot script) in the same directory as your firmware images.

---
Tags: rom-flashing, fastboot, nexus-7
---


# Question
Title: Temporarily lost phone, what to do about Signal backups?
I've lost access to my phone, with a Signal installation with a lot of old messages I'd rather not lose. I know that most likely I'll get the phone back within 6 months though.

I would also like to be able to access my old group chats and number in the meantime, on my new temporary phone.

I've understood that if i transfer my number and account to my new phone, my lost phone shouldn't lose its messages, it should just "stop all messaging and calling on your old phone" https://support.signal.org/hc/en-us/articles/360007062452-What-do-I-do-if-my-phone-is-lost-or-stolen-

But when I get the lost phone back, will I be able to reactivate that installation and not lose the history? If not, would I at least be able to create a backup from it, to be able to reinstall and recover the backup? The documentation doesn't clarify exactly what a "deactivated" account is able to do.

When going back to my old phone, I'd be fine with losing the short history on my temporary phone.

# Answer
# Careful: There is a difference between linking another phone to your Signal account and transferring your account to a new phone.

## Linking another phone:

If you just link another replacement device, you can go back to your original device and re-link it without the data on your old device being lost. The data of the replacement device will **not** be synced to the original device. This works only if you have NOT uninstalled the app on your original device. According to Exallium (Signal Developer)

## Transferring to another phone

Transferring consists of the following steps on Android: On the new phone, install Signal \> select Transfer or restore account \> enable permissions \> select Transfer from Android device \> Continue. If you have transferred to a new device you **won't** be able to access the data upon reclaiming your original phone!

> Currently, we only support phones as primary devices, which means only one can be registered (this has to do with key generation and a bunch of other crypto stuff that is beyond my knowledge).

> When a device becomes unregistered (because it was offline for a long time, or because the number was registered somewhere else) we don't delete the data. I'm pretty sure I hit this scenario at least weekly via testing. **If you do a device transfer, then we do clear data on the old device after the transfer is completed.**

## Do a backup on original device if version allows

Also note that Signal v 5.44.3 as well as v 6.19.9 **allow** you to backup, even **after** the device is no longer registered

Version 6.20.6 does **not** allow you to backup after unlinking, as the options to make a new backup are greyed out:
> 0 votes

---
Tags: backup, lost-phone, signal-private-messenger
---


# Question
Title: Signal does not allow sharing to other apps
In my installation of the Signal messenger, I can share images and videos to other apps, like email apps and the like. However my wife cannot, the option in the "three dot menu" just does not exist, only forwarding inside Signal. All our permissions are set the same and we have the same version installed.

What can be the problem? How can she be able to forward images to other apps?

# Answer
Signal v 6.21.3:

I thought I had the same problem but I realized when I open the photo then **short tap again** I see the share symbol in my bottom left corner:

Maybe your wife can update to v 6.21.3 as well.
> 0 votes

---
Tags: signal-private-messenger
---


title: What is GlanceViewMk

text:
# Question
Title: What is GlanceViewMk
I found an app called "GlanceViewMk" within my notification and sounds settings menu. If I allow it, "GlanceViewMk will be able to read all the notifications you receive, which may include personal information such as contact names and messages sent to yo. It will also be able to dismiss these notifications or select actions related to them."

What to I gain by allowing this?

# Answer
> 2 votes
Since Samsung Galaxy S4 GT-I9500 was upgraded to Android Lollipop, got that bug called GlanceViewMk. The only solution I found was to root the device and remove the GlanceViewMk with the app you like better (I used Titanium Backup pro).

The battery stop draining and all apps are now visible on the sound notification settings.

# Answer
> 0 votes
Seems like you own a **Samsung** device. Go to your **Settings** where you can control the **gesture settings** and look for (I think it's called) "**Quick Check**" - the gesture where you wave your hand over the turned-off screen to see notifications and the clock. May be useful but I didn't use it that much.

# Answer
> 0 votes
I found it in the sound and notifications in settings, then open Notification access and turn off glanceviewmk access.

# Answer
> 0 votes
On my Samsung S4 Android 5.0.1 select: Settings → My device → Motions and gesture → Air gestures → enable Quick glance.

If you have enabled it, when the screen is off you can wave your hand over the sensor at top of screen and it will show you a status screen. See "Try it" button in *Quick glance* settings.

The checkbox under menu "sounds and notification"; "notification access" when selected allows the second row of 9 icons to be displayed (in this example pic), i.e. those normally shown at top of S4 android notification shade.

---
Tags: settings, notifications
---


# Question
Title: Can two phones with different WhatsApp numbers use the same Google Drive backup?
I have 2 phones with 2 different WhatsApp numbers. Both WhatsApp have their Google Drive backup enabled. However, the backup from one phone isn't visible from the other phone, I get the error of "no backup found for this account".

Can two phones with different WhatsApp numbers use the same Google Drive backup?

# Answer
Yes you can do right now. Set your backup for the second phone number and make back up. After that when you go to Google Drive Backup address you can see two back up for two Whatsapp accounts.
> 6 votes

# Answer
> Can two phones with different WhatsApp numbers use the same Google Drive backup?

Yes, and the backups will happily coexist.

My old phone had WhatsApp backing up daily to Google Drive. On the arrival of a new phone, I transferred the SIM into it, and activated a fresh SIM (with an as-yet unused number) in the old phone.

WhatsApp was installed on the new phone over Wi-Fi, and after going through the initial setup, restored the earlier chat backup from Google Drive. You can see the backup files online if you browse in Google Drive to **Storage \> Backups**. They have the form **WhatsApp #telephone-number# backup**

In the old phone, WhatsApp detected the phone number was no longer valid. Having validated the new number, and going to **Settings \> Chats** and clicking **Back up**, that created a new backup file in the list in Google Drive, which included the new telephone number.
> 0 votes

---
Tags: backup, whatsapp-messenger, google-drive
---


# Question
Title: Can't click any the pop-up 1-click Google Play in-app purchase panel
In a game, I tried to make an in-game purchase but I can't click on the pop-up at all. Some features on google play error out as well.

# Answer
> 0 votes
I believe some of the issues like this are due to screen overlays. In my case it was the Twilight app (makes your screen red around bedtime).

---
Tags: google-play-store, in-app-purchase
---


# Question
Title: Play YouTube videos faster than 2x on Android
I know that it is possible to play YouTube videos faster than 2x on laptop and desktop using extensions available on Google Chrome. However, these can't be downloaded on Android device.

I have already searched for this on Google and YouTube and some videos suggested using another app which plays those videos faster. But all the apps I have downloaded so far either only allow up to 2x speed or can speed up only those video files which are already downloaded on device, and I can't find downloaded YouTube videos on device (it only opens in YouTube).

Is there any way of playing YouTube videos faster on Android?

# Answer
On Google Play, there is an app called Video Speed Control Browser. It lets you go up to 10x speed.
> 0 votes

---
Tags: video, youtube
---


# Question
Title: Any way to disable the quick settings panel on the lockscreen on Android 12 and 11?
Is there any way to disable the quick settings panel on the lockscreen on Android 12 and 11? I want to disable it, just like it used to be on the older Android versions.

If I cannot the disable it, can it be abused if my phone is lost or stolen?

# Answer
> 1 votes
I downloaded an app called Cerberus Lockscreen and it did the job. Blocks both the shutdown and pull-down menu.

For older Android versions there is Lockscreen protector app, but it does not block pull-down menu but only shutdown menu.

# Answer
> 3 votes
It depends on the device(s). You can't do it on Pixel 6 for example as the setting to disable quick settings panel is not present in Android 12.

For Samsung devices, you can disable as indicated here:

> On Samsung devices, there’s a separate Lock screen menu so you can find the option in Settings \> Lock screen \> Secure lock settings. Once you enter your screen lock PIN/password/pattern, look for the Lock network and security setting. By enabling it, you’ll lock Quick Settings access from the lock screen.

For Xiaomi, Redmi and POCO devices, you can disable it by following the steps shown here:

> * Go to settings”.
> * Go to “Notifications and control center”.
> * Tap “Items show on lock screen after swiping down”.
> * Disable “Control Center”.

---
Tags: lock-screens, android-11, android-12, quick-settings
---


# Question
Title: Is there a way to lock an Android device using a keyboard?
Somewhat imperfect comparison: in Windows, you can simply press Win+L to lock Windows.

Is there a similar keyboard shortcut in Android?

# Answer
You could type in `adb shell input keyevent 26` which in turn will lock your screen

For this, you need the USB debugging enabled on your phone and ADB should be installed on your machine.

---

A complete ADB installer in 15 seconds for Windows can be found here: \[XDA Forums - \[OFFICIAL\]TOOL\]\[WINDOWS\] ADB, Fastboot and Drivers - 15 seconds ADB Installer v1.4.3.

And for Linux machines, there is a script which is written by Corbin Davenport. Just execute the following command without the quotes in any Linux terminal to install

```
bash <(curl https://raw.githubusercontent.com/corbindavenport/nexus-tools/master/install.sh)

```

Hope this helps you although this is not a shortcut key.
> 4 votes

# Answer
On my BT Logitech keyboard:

FN + Esc = lock phone
> 2 votes

# Answer
Certain external (Bluetooth) keyboards have a function button that does this, but if you haven't found it, it probably isn't there.
> 1 votes

# Answer
There is no way to lock the device using the keyboard.

If you want the same effect that your computer has when it locks on your phone (i.e. needing a password next time you log in), then go to Settings, Lock screen, and set it to require a password (or whatever you use) whenever you wake your phone.
> 1 votes

# Answer
I have a logitech K380 bluetooth keyboard and a Motorola One Action. I can lock the phone by pressing FN + L. The phone has Android One which is near stock Android.
> 1 votes

# Answer
For the users of the Logitech K850 keyboard, FN + F11 locks the Android device.
> 1 votes

# Answer
You can use "WIN + L" to lock your Android phone with any keyboard just like you log out on Windows.
> 0 votes

---
Tags: lock-screens, keyboard-shortcuts
---


# Question
Title: Can I access "/data/user/0/" folder in Android emulator from Ubuntu PC?
I am using Ubuntu 18.04. From Android Studio with the following code I am getting file directory

```
Context ctx = getApplicationContext();
final File filesDir = ctx.getFilesDir();

```

which is `/data/user/0/com.example.ipfs/files/`. I am running my app on Android Emulator. How do I go to the `/data/user/0/com.example.ipfs/files/` folder from my PC?

# Answer
> 18 votes
For this, Android Studio has the feature called ***Device File Explorer*** that will allow you to view the connected device or emulator internal files. This is useful especially when you are utilising the `getFilesDir()` as a path to save your app generated files & hence are not able to see them with the standard **File Manager**.

From the main menu, go to **View** -\> **Tool Windows** -\> **Device File Explorer**. You can then select your device / emulator from the drop down list.

To access `/data/user/0/com.example.ipfs/files/`, just go to the directory `data/data/com.example.ipfs/files` from the list displayed in the ***Device File Explorer*** once your device / simulator is connected.

# Answer
> 0 votes
I am using Ubuntu 22.04 right now I tried this solution using AndroidStudio2022 and it's work and I figure out it was pointing to a hidden files below..

> PATH: /home/\[user\]/.cache/Google/AndroidStudio2022.1/device-explorer/\[device\_emulator\_name\]/data/user/0/\[project\_name\]
>
> Example: /home/awen/.cache/Google/AndroidStudio2022.1/device-explorer/Pixel\_5\_API\_32 \[emulator-5554\]/data/user/0/com.example.html\_pdf\_demo

---
Tags: file-system, android-studio
---


# Question
Title: On Android 12+, how do I disable mobile internet without disabling MMS?
My good old phone from 2013 is dying. I have been satisfied with it, but even if it was still sold nowadays, I would not buy more of the same since it’s becoming increasingly difficult to not have either an iOS or an Android phone. I don’t want iOS for reasons not pertaining to my question, so Android remains, however, constant internet access is blocking me.

There are a few reasons to disable mobile internet on one’s phone, but I’m not here to discuss these. I just want to be able to disable mobile internet.

There are tons of sites giving tutorials on how to do this, but as far as I’ve seen, none gives a correct reply, because :

1. Either they provide steps on how to disable mobile data, which indeed disables mobile internet, but MMS too in the process
2. Or give a per-app solution, which won’t really completely block all mobile internet traffic, let’s be honest

A few years ago, someone with a Huawei phone asked me for help on this very subject, and I was indeed able to help him, by defining explicitly which APN was for what, keeping only the MMS role for the MMS-only APN and removing everything else. And it worked.

But things may have changed, and I certainly don’t want to buy a phone only to find it’s now impossible. If it’s become impossible indeed, then well, despite the drawbacks I will definitely get an oldie.

**So, more concisely :**

* How can I disable mobile internet ?
* Not per-app, system-wide
* MMS shall remain enabled
* Android 12+ (I suppose that’s what all new phones are running nowadays)
* I’m not afraid of using `adb` and going through a shell
* No third party programs
* Jailbreaking/rooting is a big no no, if I have to fight against the phone vendor, then I better buy somewhere else
* Which brands leave it possible ?
* Which brands block it ?

# Answer
Now that I have an Android 13 phone, I can confirm it’s indeed possible (tested with a Samsung Galaxy A04s).

In the Android system, each APN has a defined *APN type*, which is a comma-separated list of roles attributed to the APN. An exhaustive list of roles can be found on Android’s site for developers. In the constants list, all the ones beginning with `TYPE_`. As of today, the list of accepted roles is : `bip`, `cbs`, `default`, `dun`, `emergency`, `enterprise`, `fota`, `hipri`, `ia`, `ims`, `mcx`, `mms`, `supl`, `vsim`, `xcap`.

The `default` role is special : it gives the APN roles that have not been given explicitly to other APNs.

The method is simple : keep the `mms` role for the MMS APN, remove everything else. If you have more than one APN, either delete the others if possible, or give them a restricted role such as `emergency`. An APN with zero roles defined seems to behave as having the `default` role.

**WARNING :** Some providers may depend on mobile data to provide emergency services, changing the roles may block or degrade such services. If there’s only one APN with the `default` role, replacing it with `emergency` may be a good choice, but it’s not 100% impossible that emergency services rely on other roles as well. One can’t foresee what all mobile operators do, be it good or bad.

More precisely :

1. In the parameters, go to the list of configured APNs : Connections =\> Mobile networks =\> Access point names
2. For each APN, check the access point type, remove all roles except `mms`
3. Remove APNs with no MMS roles, or alternatively, set their role to `emergency`
4. To restore the defaults, on the APN list screen, tap the vertical ellipsis button ⋮ on the top right and choose the appropriate menu option
5. System updates are likely to reset custom APN configuration

In my case I had two APNs, APN A with only the `mms` role, and APN B with `default` and `mms` roles. I left APN A untouched, and set APN B to `emergency` only. This made APN B disappear from the list but it’s still there, just hidden from the UI. Resetting APN configuration still works and brings back both APNs with their default settings.
> 0 votes

---
Tags: mobile-data, shell, android-12, apn, android-13
---


title: How to open backup.ab

text:
# Question
Title: How to open backup.ab
i got a backup.ab file with password. I'am looking for how to open it for 1 month but i still couldnt open it. I really need help can anyone tell me how can i open it please explain it with step-step

# Answer
`backup.ab` files are usually created by the command `adb backup`. This answer is only for backup files that has been created by `adb backup`. It will not work for other backup types.

Extracting an Android adb Backup file is pretty simple. You just need Android Backup Extractor, a Java program that does everything for you.

Just download the latest `abe.jar` release. As it is Java based you also need a Java Runtime. Oracle Java is no longer free in all usage scenarios, therefore I recommend OpenJDK from Eclipse foundation. But any other Java 11 or 17 JRE or JDK is also fine (abe requires Java 11+).

To convert your Android Backup file `backup.ab` to a tar execute

```
java -jar abe.jar unpack backup.ab

```

It will create a file `backup.tar` which you can open using an ZIP tool of your choice (e.g. 7-Zip).
> 0 votes

---
Tags: backup, twrp, data-recovery
---


# Question
Title: ADB does not reboot my Samsung Galaxy SIII I9300 to bootloader (download) mode
My device is Samsung Galaxy S3 I9300 and I did a complete factory reset. The device is **NOT** rooted yet. It works properly. I can do all of the following with my device:

* Power off using device keys.
* Start in **recovery mode** and **download mode** using device keys.
* device is detected properly in **normal mode** and **recovery mode** by `adb` when is connected to PC through a USB cable
* I am able to reboot the device using `adb reboot` command
* `adb reboot recovery` works well.

The problem is that if I run `adb reboot bootloader` or `adb reboot-bootloader` commands, the device is booted in normal mode, NOT in **download mode**. The only way to reboot the device in **download mode** is to use the **Power + Volume Down + Home** keys

# Answer
From my experience with Samsung devices this is not a bug but rather a feature. The "download" AKA "ODIN" mode on Samsung devices is a proprietary alternative to bootloader/fastboot mode and I don't remember being able to boot to this mode in other than the hardware way.
> 2 votes

# Answer
The command below works for my s3.

`adb reboot download`
> 0 votes

---
Tags: adb, samsung-galaxy-s-3, reboot, download-mode
---


# Question
Title: How to mount a folder/partition as USB device for a computer
I have one phone that upon plugged into a computer, shows up as an MTP device. The SD card and the internal storage are visible on the computer. I can also change it to only mount the SD card and then it unmounts the SD card from the phone and directly connects it like if it were to be an SD to USB adapter.

I want to be able to do this on another phone, but not with an SD card, I want to be able to use a part of the internal flash memory in the same manner so that I can connect the phone as if it were a USB stick and I also want to be able to connect it as an MTP device. It would be handy if I can do this with tmpfs too, so I can basically use the phone's available RAM as temporary high speed USB storage.

The reason I want to do this is because MTP is incredibly slow for loading the directories, file transfer is a bit faster but still a fraction of what USB 2.0 can achieve. I want to use the RAM so that the internal storage isn't affected and filled up for no reason since the phone doesn't have that much free storage. On the other phone, connecting it in SD card adapter mode causes windows to see it as an actual sd card so Windows doesn't open the storage in MTP mode which misses file properties and is super sluggish. Another reason for using RAM is that the internal storage can't be unmounted while Android is running on the phone so you wouldn't be able to use it as USB storage in anything other than MTP.

Are there any ways of doing this using busybox, or by modifying some system files?

I know this has to be possible but I don't know how it works with the SD card adapter mode on the ohter phone and I don't know how to replicate it for other storage media. The phone is rooted so I can do anything to the system I want. Preferrably on Android 4 and up. How can I accomplish such result?

* Update

I was able to get UMS working on the phone thanks to Irfan's comment. I can change the drive that mounts by editing the "file" file.

To do this, first the command `cat /proc/partitions`. Then you can write `echo '/dev/block/vold/<major>:<minor>' -n> /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file`

I am not done yet though, I need to know how to now how to forward the path in "file" to tmpfs. I can't find a device file for tmpfs like all the other partitions. Is there a vold partition for tmpfs, or can I maybe link to a folder in file? How can I put the path to tmpfs inside "file"?

# Answer
> 1 votes
I managed to get it working! Thanks to Irfan's answer I knew exactly what to do!

Here are the steps:

1. Create a folder to mount a new RAM disk. I used `/data/local/` and created a new folder. Then mounted a new RAM disk to it.

```
mkdir /data/local/temp
mount -t tmpfs tmpfs /data/local/temp

```
2. Next, creat a new disk image. You can choose the block size and the amount of blocks for any size you like. The total size of the file is `bs * count`. I chose a count of 200000 for a 90MB file on the RAM.

`dd if=/dev/zero of=/data/local/temp/ram bs=512 count=200000`
3. We now want to create a loopback device so we can mount the new file on the RAM disk as a virtual semi-device. First we want to know the major value for loopback devices.

`ls -l /dev/block/loop0`
4. We now know what major value the first loopback node has. In my case it showed 7, 0. We know we will have to use major value 7 for the new device node. We can now create a new node. For this we use the command "mknod". The -m parameter specifies the permissions. I already have files loop0-17. loop0 is used for the built in cdrom, and the rest are used for mounting .asec files.

`mknod -m 0660 /dev/block/loop18 b 7 18`
5. To mount the disk image on the RAM disk we have to use losetup.

`losetup /dev/block/loop18 /data/local/temp/ram`
6. We can check what backing file associated with each loop device by reading the backing\_file with the cat command.

`cat /sys/block/loop18/loop/backing_file`
7. Now that the virtual device is ready we can format it. I will use mke2fs, but you can use other methods to format the device. Make2fs will format the drive EXT2. For Windows you should format FAT32, or you can use this amazing Ext3 filesystem driver. This adds native support for EXT to Windows and is very awesome.

`mke2fs /dev/block/loop18`
8. We can finally setup UMS (USB Mass Storage) so the computer can read the device directly. You can set lun, or lun1 depending on if you want multiple virtual usb devices.

```
cd /sys/class/android_usb/android0
echo /dev/block/loop18 > f_mass_storage/lun/file
echo mass_storage > functions
echo 1 > enable

```

That should be it, normally a USB device shows up on the computer now.

I tested the speed and it's a lot better than MTP, and it actually uses the full RAM speed, but it's limited by USB 2.0 speeds, unless your device supports USB 3.

While testing I noticed when enabling USB gadget mode and writing an incorrect path to "file", Windows breaks and suddenly can't read usb devices anymore. After this you can't reboot unless if you hold the power button down. This may be a bug in Windows, I'm not sure why it does this. Device manager also malfunctions after this.

Here is the source code of the mass storage driver on Google Source. And finally here is the documentation on the configuration on kernel.org.

---
Tags: sd-card, 4.1-jelly-bean, mount
---


title: Delete photos from WhatsApp backup

text:
# Question
Title: Delete photos from WhatsApp backup
I had recently painstakingly deleted lot of unwanted WhatsApp photos from my gallery to save storage space. But unfortunately WhatsApp has again restored all those photos (probably from backup). How do I say to WhatsApp that locally deleted photos should also be deleted in backup also?

# Answer
If you delete the photos/videos you don't want. Then create a new chat backup, overwritting the old one that should fix it.  Might not resolve the longer term issue though.
> 0 votes

---
Tags: backup, whatsapp-messenger, sync
---


# Question
Title: How can I use Google Now/Assistant on my Android to set an alarm more than 24 hours away from now?
I know that the alarm can be manually set to a time greater than 24 hours from the time of creation, but I want to be able to do it all verbally. I have tried looking over the internet with no success. I am using Google Now (now: Google Assistant). Thanks.

# Answer
> 0 votes
I worked out how you do this now after Google wasn't letting me set an alarm by voice because it was over 24 hours.

Simply:

1. Create an alarm for today at your desired time
2. Go to `Clock`-\>`Alarms` and then **edit** the alarm
3. Change the **date/time** to your desired day
4. Save.

Your alarm should then be set to a date/time over 24 hours. I don't know why we can't say it by voice... Maybe it is a bug. 4 years late but hopefully this can help anyone else stuck too.

# Answer
> 0 votes
Since it was found that an alarm cannot be set more than 24 hours ahead of time, the workaround is to set a calendar reminder a day ahead of the desired date to set an alarm. This can be done by saying

> Remind me to \[make an alarm for tomorrow\] on \[May 26, 2016\]

where the parts of that statement are the title of the reminder and the date. The statement can be adjusted to add a time if necessary.

# Answer
> 0 votes
Set a reminder instead.

Google Assistant will only set an alarm for the next 24 hours, but it will accept a reminder forever.

---
Tags: google-now, alarm, google-assistant
---


# Question
Title: PNG Image Files Become Corrupt Shortly After Transferring From Computer
I am running Android 12 on a Galaxy A12 phone. Recently, out of the blue, image files that I transfer to my phone from my computer have been having the following problem:

At first, right after I transfer them, they are OK. I can view them in Gallery. When I'm done, I'll close that app. Later, I'll need to view them again, so I'll go back into gallery, but they will be corrupted. Gallery will just tell me "Unsupported Media" or some such nonsense and refuse to display them. I can transfer them over from the computer again, replacing the corrupted files, and they will work again for my first session of viewing them... and then they won't.

This never used to be a problem.

I am saving them to my external SD card. I have not tried saving them on the phone's internal storage, but that would not be feasible. My internal storage is tight, and I need to conserve it. The images happen to be PNG format images. That is what I use most commonly. I avoid JPEG due to it being a lossy format. But I CAN verify that this problem happens to GIFs as well.

I have tried using Gimp on my computer to open and resave the original images in the hopes that there was just something odd about the files, and Gimp would save them "properly". That actually worked for a few of them for a while, so I thought that that was the problem, but then even that stopped fixing them. Even my gimp-saved images started doing this.

I have tried installing and using several other gallery apps in the hopes that the default one was just stupid, but no luck. Nothing can view them once they spontaneously corrupt like this. I don't even know what causes them to go corrupt. Sometimes they will work for a few viewing sessions, quitting and restarting the Gallery and coming back to view them later a few times. Sometimes they will go bad after the first session. I can never predict when they will die.

Even more confusing, sometimes the thumbnail will become corrupt along with the image, causing the Gallery to display a blank icon both when listing images and viewing individual ones, and sometimes only the full image will get corrupted, so that I can see the thumbnail in lists, but not the full-screen image when I try to view it. It is completely unpredictable which images will do which.

I am at a complete loss here. Has anyone ever encountered this and/or does anyone know what is happening?

EDIT: I should also mention that any images saved before this started happening don't get corrupted. This only happens to images newly transferred after the problem started.

# Answer
As @Izzy advised, I tried saving my pictures to the internal storage instead of the SD card. It seems he was right. The answer to my problem is simply that Samsung Phones have a major defect. In this case, eating/destroying my SD card.

At every turn, through one incident after another, I have been finding that experimentally switching from Motorola to Samsung when last I needed a new phone was the worst phone decision I ever made, and this incident has been the worst yet.

Never buy Samsung. Period. That is the answer/solution. And if you already have, your only solution is to discard it for something that actually works, instead of being actually LESS than not working--actually malicious.
> 0 votes

---
Tags: external-sd, file-transfer, images, gallery, data-corruption
---


# Question
Title: Android in system recovery mode gives an error on Windows
I have an old phone and I want to see if I can use adb in recovery mode on the device to mess around with the system, but when plugging the phone in after booting into recovery mode Windows immediately gives an error "the last usb device you connected to this computer malfunctioned and windows does not recognize it". I tried unplugging, plugging back in, the cable is fine, the phone works when booted normally and adb works fine and the computer recognises it. It just doesn't work in recovery mode.

It may be an issue with the usb driver in the recovery image but I don't know enough about Android so I have no good idea. I'm not sure if they shipped a phone that can't connect in recovery mode from the factory, but that would be weird. I like the stock recovery since it lets you backup and restore the /data partition to sd card.

I noticed when plugging it into a different port it sometimes shows up in device manager with an exclamation mark. For some reason it sometimes gets recognised but it automatically uses the driver "unknown usb device (device descriptor request failed)" so I assume there is some missing recovery mode driver for Windows. What driver am I supposed to use and where do I find it? I think it's a MediaTek made custom bootloader but I'm not sure.

I can't boot into fastboot mode, choosing fastboot on startup just freezes the phone forever until I pull out the battery or let the battery drain for hours. I can't remember fastboot ever working and I would also like to get that working like it should.

I am now getting the error "unknown usb device (device descriptor request failed)" even when just plugging it in being already booted.

# Answer
> 0 votes
Concerning booting into fastboot mode, when the device is powered on and connected over adb, run "adb reboot bootloader" to enter into fastboot mode (that will turn off the phone and enter into fastboot) Run "fasboot devices" to verify that your devices is connected. You can leave fasboot by entering "fastboot reboot".

If your device isn't connecting over adb whiles it is powered on, try checking that USB debugging is enabled in settings.

Sorry, I couldn't ask for clarifications. If adb works when your phone is booted, then you should stick with that.

---
Tags: adb, recovery-mode
---


# Question
Title: How to close programs in the Android-x86 emulator?
This may seem like an odd question but I cannot resolve it. I am using the Android-x86 emulator in VirtualBox (https://www.android-x86.org/documentation/virtualbox.html). I open various apps like Firefox, Chrome, Maps, etc.

Normally, I would click the 'x' or go to a menu which said 'exit'. But there is nothing like that. Swiping the app up / down / left / right does nothing. I use "Force Stop" in Settings but that doesn't close the program. In Ubuntu, I can `ps aux | grep program_name` and then kill the PID. But `ps aux` does not work in the Android Terminal.

How can I close those apps? Can I use the terminal to close programs?

# Answer
If you view the currently open apps, you can hold click on the bottom of the app preview window and drag up to close the application.

This took me a while to figure out myself.
> 3 votes

---
Tags: applications, android-x86, virtualbox
---