# Question
Title: How to obtain the Kernel Module Interface for my Android kernel?
I'm running Android 13 via crDroid 9.8 on my Pixel 7 Pro.

I want to try KernelSU, but in order to download the proper version, I need to know my Android kernel's KMI ("Kernel Module Interface"), and I don't know how to obtain this KMI value.

On the "Android version" page in Settings, it says that my kernel version is **5.10.157-ga88edbe37d3a**, but as far as I know, that isn't the KMI.

There are several KernelSU versions on the KernelSU site referenced by KMI's which start with "5.10.157", and I assume I should choose one of them. But without knowing my kernel's KMI, I don't know which one of those I should try.

How can I figure out my kernel's KMI?

Thank you in advance.

**UPDATE**: To be clear, the KernelSU docs say that the kernel name should match the following pattern:

`Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix`

Then, the KMI would be `Version`.`Patchlevel`-`AndroidRelease`-`KMIGeneration-suffix`.

However, my kernel name is only this: `5.10.157-ga88edbe37d3a`, and it has no `AndroidRelease` field, and there are several KernelSU images there with "5.10.157" in their name.

This is why I'm posting my question here.

# Answer
The Pixel 7 Pro device shipped with the android13-5.10 kernel. So you should pick the KMI associated with that kernel version. If the KernelSu KMIs are stable, then you should be able to pick the latest `5.10.*-android13-*` and it should work.
> 1 votes

---
Tags: kernel, android-13
---


# Question
Title: YouTube app asked me to turn on notification
Yesterday, I opened my YouTube app in my Redmi Note 11, but it had a pop-up saying something like “Don’t miss the new videos, turn on YouTube notifications.” I didn’t click anything on this pop-up, I tapped the arrow button at the bottom of the screen and the pop-up was gone.

I have turned off the YT app notification for a long time and have never seen this pop-up when opening the YT app before, I don’t know if it is YT legitimate system pop-up or not.

Has anyone ever found this pop-up or know whether it is a legitimate pop-up from YT or not?

Thank you.

# Answer
**Yes, the YouTube app may remind the user about the notification being turned off**.

I just turned off the global notification for the YouTube app from the Android settings for the first time, and when I opened the app, I also got the same pop-up.

> **Turn on notifications**
>
> Don't miss the latest videos and more from your favorite channels.
>
> `No thanks` `Turn on`

Clicking "Turn on" will bring the user to the Android notification settings for the YouTube app directly. Looks like the pop-up will only be shown once per device. (I have 2 Android devices, dismissed on one device, and tapped "Turn on" on another. Clearing the app data/storage still didn't show the pop-up again).

---

YouTube app has shown a similar reminder previously, although not so prominent, by showing it on the app directly.

Image from Reddit - \[question\] How do we disable the "Don't miss new videos" pop up? Everytime you reopen the app it's there. Archived version.
> 1 votes

---
Tags: youtube, popup
---


# Question
Title: Do the same phone models with different version have different modem hardware?
Many phones have different variants for different regions: India, China, N.A., Global, etc. Apart from eSIM support and ISP restriction (like AT&T in the US), the supported radio bands are often different.

I wonder if this is caused by hardware or software? For example, if the Global version supports certain LTE bands, while the Indian version doesn't, will flashing ROM (or flashing modem) enable those bands?

# Answer
> 1 votes
Phones are manufactured for different countries to support not only the bands that are used there but also the regulations. For instance I had a phone from the middle east once, where I could not remove the Muslim holidays from my calendar! And even though EEG hardware has been on the Samsung watches for a while, this is disabled in certain countries where they dont yet have permission to use.

It is quite a common problem (even on this site), where people have purchased a phone meant for a different country. At the very least this means that the antennas are different. Which means that the phone may not support all the bands available in the 2nd country.

---
Tags: hardware, rom, baseband, telephony
---


# Question
Title: How can I force the phone to have a fixed IP address on 2GHz and 5GHz WiFi?
I am running an FTP server on my Samsung Galaxy Note 20. On my router, I have given it a fixed IP address based on its MAC address on a 5GHz network. But when the phone connects on 2GHz, it has a different MAC address. My router refuses to give the same IP address to two devices, even if only one is connected.

How can I resolve this?

# Answer
I would disable MAC address randomization for both Wifi entries that belong to your Wifi router.

Then your device is seen by the router as one device with one MAC address.

You can do so by editing the Wifi entry, open the "Advanced options" section and there change the Privacy setting to "Use device MAC".
> 1 votes

# Answer
While I prefer the accepted answer, there is another way to do this.

Set the static IP address on both 5G and 2G Wifi settings. This works well, but I prefer the IP address to be set by the router/DHCP.
> 1 votes

---
Tags: wi-fi, ip-address
---


# Question
Title: Android system keeps resetting default USB configuration upon PC connection
Whenever I'm connecting my Samsung Galaxy A40 running Android 9.0 to a laptop or PC, I'm getting an annoying prompt to allow data transfer, and the following setting which I had set to "Charging phone only" gets reset to "Transferring files":

However, I only want to charge the phone and absolutely never allow data transfer for security reasons as I frequently have to connect my phone to public or workplace PCs for charging. The service which throws the notification/prompt is called *Android System* and the icon looks a bit like this (only with filled font):

I activated developer options and explicitly configured the USB connection settings to **not** allow data transfer. Why does *Android System* keep changing my settings and prompting for data transfer? Is this normal behaviour? Is there a way to regain control without having to root the device?

# Answer
FIX (may help someone): it's not a software issue, you just have to clean your charging port as it shows in the following video: https://www.youtube.com/shorts/KRkwcLKz3IA. Also remember that you must have developers options and usb debugging enabled. This worked for me.
> 0 votes

---
Tags: usb, charging, usb-connection-mode, system, system-apps
---


# Question
Title: When I connect via USB (Android to PC), it automatically starts charging. How do I transfer files?
When I connect via USB (Android to PC), it automatically starts charging.

According to what I've read, a 'File Transfer' window should open. Mine just says, 'slow charging'.

How do I transfer files?

# Answer
> 16 votes
## 1. First, check your USB cable

### a. Your cable could be a "charging only" cable (i.e. only has wires to carry power and no data wires)

This cable could be a charging-only cable, which doesn't include the D+ & D- cable streams. If you're unsure of the type of cable, try using a different cable that you're sure works.

### b. If you are using USB 3.0, it could be "bad"

USB 2.0 minimum cable requirements were easier to manufacture because of the lower data rate requirements. Ever since USB 3.0, lots of USB 3.0 cables don't meet "spec" and therefore can not work or damage your phone. Make sure you have a brand that you know is good.

## 2. After checking the cable, you need to check your phone's settings. Make sure it is in "File transfer" mode and NOT "Charging only".

From Android 6.0 onwards, file transfer is disabled by default when a cable is connected to the device, mainly due to malicious USB hubs which pretend to be normal charging ports, but instead copy data from your device whilst charging.

### To enable File Transfer Mode

1. Turn on your device and connect it to your computer (using a cable which supports data transfer)
2. Unlock your device and open the notification labeled "USB charging this device" - you may need to swipe down from the notification bar
3. Select "Transfer Files" from the menu that appears.
4. You should be able to access your device on your computer.

## 3. Try a different USB port on the PC

I tried a bunch of cables on one USB port but nothing was working. So I tried a different USB port and it all worked again!

## 4. Lastly, try restarting the phone and restarting the computer.

Some might say this is the first thing to try.

# Answer
> 2 votes
Make sure your wire supports both charging and data.

If it does, then on the phone go to Settings -\> Storage -\> Overflow menu (3 dots) -\> USB Computer Connection -\> Change the mode from Charging Only to MTP or USB Mass Storage.

If neither of these works, then make sure you have drivers installed for your device on your computer.

# Answer
> 1 votes
Generally, whenever you connect the USB, the phone is in USB charging mode by default.

To change to any other mode (File Transfer Mode in your case), go to the notification pane where a notification will tell you that USB is connected and charging. Tap on it and select the MTP or File Transfer Mode.

# Answer
> 0 votes
This works for Pixel 3 on Android 12.

```
Settings > System > Developer Options > Default USB Configuration > File Transfer / Android Auto

```

Also the lock screen has to be unlocked.

# Answer
> -1 votes
Pick down the taskbar and tap phone charge, and in the new window, select the MTP or flash option.

# Answer
> -1 votes
Try removing your SIM card(s). I had a similar issue and it worked fine again after restarting without them. I have checked now and it **does** work/transfer-files again, also with the SIMs in too.

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


# Question
Title: How can I force Google Contacts to respect "File as" (or "NickName") field for sorting and display?
Let's say one wants Android to display their father not as "FirstName LastName", but simply as "Dad". This seems to be a pretty essential feature; and, as I have heard, it is implemented even in an old systems such as Windows Mobile.

However, while Google Contacts offer the "File As" field (which does what I'm looking for), Android does not seem to respect this field: http://code.google.com/p/android/issues/detail?id=5724 , http://code.google.com/p/android/issues/detail?id=8578

The issues are pretty old; did anything changed since then? I cannot find any options to use the "File As" field on my Xperia P with Android 2.3.7 installed.

Are there any alternatives to the default Google "Contacts" application that make use of this field?

# Answer
As of 2019, Google contacts respect the "file as" option. If you have contacts named as "FirstName LastName" and use "fileasname", the display name will be "fileasname". Also, you can search even by "FirstName" or "Lastname" or any of the entries made in google contacts. (Yeah even notes are searchable).
> 1 votes

# Answer
Google Contacts WILL default to a 'File As' field as the main Contact name. You just have to create the Custom field labeled File As. Follow these steps and you can change the names to whatever you'd like, AND keep all the real information in Contact records. Very handy! Thanks

**To add a “File As” field to your Google Contacts, you can follow these steps:**

1. Open Google Contacts on your computer.
2. Click on the contact you want to edit.
3. Click on the **Edit** button (pencil icon) in the top right corner of the screen.
4. Scroll down to the **Show More** link, click on it.
5. Select **'Add Custom Field'**
6. Type in what you want to file the contact as, then (MOST IMPORTANTLY) type File As in the Label field.
7. Click on the Save button to save your changes.

That's it. Now why it's not already a field, nor in the Help section, who knows? But as of November 2023 it still works.
> -1 votes

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


# Question
Title: Irreversibly Blocking Internet Access for an Hour
I need something like an app with a switch that I can press so that my Android phone would be blocked from connecting to the internet (whether Wi-Fi or mobile data) for an hour so that I may focus on things such as cleaning the house, reading books, or studying. Most importantly, the switch should be enforced and irreversible. I should be unable to connect back to the internet unless an hour has elapsed after pressing it. This is for self-control reasons. Non-rooted.

# Answer
The simplest solution for this is a time-locked container. These are already sold, for purposes including mobile phone addiction. Examples from my local Amazon store, since I don't know which country you're in: Vaydeer, or Mplerven.

Doing this with software on the device is not dependable if you don't trust yourself: what software can do, it can undo.
> 0 votes

---
Tags: applications, wi-fi
---


# Question
Title: How to print out all notes and calendar events on ColorNote?
I have the ColorNote app installed on Android. How do I go about printing the notes and the calendar events?

I am able to "view" all the data from the last backup. I am able to send an email to myself of a .doc file that was generated before I signed up for online sync. How do I print out the doc file? Microsoft Word is unable to read this .doc file.

# Answer
For one note, I send it to Gmail and then print the email.
> 0 votes

# Answer
Highlight what you want on the ColorNote, copy it, open Word NotePad, and then paste and print the Word NotePad page.
> -1 votes

---
Tags: calendar, notes, printing, colornote
---


# Question
Title: Allow inter-device communication on WiFi hotspot?
Is it possible to allow devices connected to a hotspot to communicate with each other?

I have a Ulefone Power Armor 13 rolling Android 11 and WiFi hotspot. Multiple devices can connect to the hotspot simultaneously, but it seems the phone is blocking these devices from communicating with each other. Everyone can communicate with the phone itself but not with other devices connected to the same hotspot. Pinging another device from Windows yields

```
>ping 192.168.90.77
Pinging 192.168.90.77 with 32 bytes of data:
Reply from 192.168.90.241: Destination host unreachable.
Reply from 192.168.90.241: Destination host unreachable.

```

This was not the case on my old Cat S60 phone rolling Android 6. There, all devices connected to the hotspot could communicate with each other directly (I am guessing that Android 11 is to blame, not the phone, but I don't actually know).

# Answer
I do not know how to do this on a non-rooted phone, but for rooted phones: Install Termux and run

```
pkg install tsu php

```

then run

```
sudo php -r '$confFiles=glob("/data/vendor/wifi/hostapd/hostapd*.conf"); foreach($confFiles as$confFile){var_dump($confFile);$conf=file_get_contents($confFile);$conf2=preg_replace('\''/\\#?ap_isolate\\=?\\d?/'\'','\''ap_isolate=0'\'',$conf); if($conf2 !==$conf){} else{$conf2=rtrim($conf)."\nap_isolate=0\n";}file_put_contents($confFile,$conf2,LOCK_EX);}'

```

and reboot.

Alternatively add this code to a `foo.php`

```
<?php

$confFiles = glob("/data/vendor/wifi/hostapd/hostapd*.conf");
foreach($confFiles as $confFile){
    var_dump($confFile);
    $conf = file_get_contents($confFile);
    $conf2 = preg_replace('/\\#?ap_isolate\\=?\\d?/', 'ap_isolate=0', $conf);
    if($conf2 !== $conf){
        //
    } else{
        $conf2 = rtrim($conf) . "\nap_isolate=0\n";
    }
    file_put_contents($confFile, $conf2, LOCK_EX);
}

```

and run

```
sudo php foo.php

```

and reboot.

Thanks to @Irfan Latif for pointing me in the right direction
> 1 votes

---
Tags: wifi-hotspot, android-11
---


# Question
Title: Android rk322x_box TV box on Andorid 6 tries to occasionally update and fails
I have an Android TV Box (MXQ-4K) Android/rk322x\_box/. This device is on Android 6 and I bought it online; it came pre-rooted. It worked fine and then I stopped using it.

Now after few years, I have started using it again. It worked fine for few days, but now after few months, during YouTube video (which I use it mostly for) it just randomly tries to update without any cancel button, turns off with the DRIOD icon tries to update then the recovery screen appears telling, update aborted, turn off the device.

How can I fix this? Or at least simply disable the auto system update?

# Answer
> 0 votes
Everytime my stream smart started acting a fool a factory reset solved all the problems and just rely on kodis add-ons to auto update mine still works like a charm other than a lil slow 2g ram

---
Tags: 6.0-marshmallow, custom-roms, ota-update
---


# Question
Title: How to block a range of phone numbers without any third-party apps
Is it possible to block a range of phone numbers

e.g. 02079460\***

as I keep getting accident companies and personal injury calls.

I have read that these are fake numbers for use in TV and radio dramas

# Answer
> 2 votes
There's no functionality built into Android to do this. If you want to block a range of numbers, or numbers matching a pattern, and you can't install apps on the phone to do it (as per Can I block calls based on a specific number prefix or pattern? or Free app to block calls and SMS based on pattern), then all you can do is contact your carrier and hope that they can set up the block for you at the exchange. Carriers tend to be quite obliging about blocking nuisance callers, but of course they too may be limited by what software they have available, and they may just tell you to use one of the apps mentioned in the linked questions.

# Answer
> 2 votes
I know this question is from 2 years ago but in case anyone is still wondering about this, I can say that at least on old LG smartphones like mine (LG Magna, also known as LG Magna H502F, H500F), it has built-in number blocking functions, and there you can block specific numbers, numbers that begin with the digits you specify and numbers that end with the digits you specify:

Android Version: 5.0.1

UPDATE September 2020:

I have had two more LG smartphones (LG Q6, LG K51S) and they also have this same blocking features. Seems like this brand always have that function in their android systems.

# Answer
> 0 votes
For Redmi PR MI phones

Goto Settings-\>search for blocklist -\> open blocklist -\> Click Block Numbers -\> Click on Add -\> Choose Add prefix
Now add prefix to add same number range

---
Tags: call-screening, sms-blocking
---


title: Rooting carrier-locked Pixel 7 Pro

text:
# Question
Title: Rooting carrier-locked Pixel 7 Pro
Just under a year ago, I changed carriers due to carrier unlock policies. The provider I switched to I was able to get the Pixel 7 Pro on a payment plan (2 years). With it being a Pixel, I thought at the time all Pixels were OEM unlockable. Man was I wrong, not only am I stuck paying off this phone for 2 years, but without carrier unlock first that can't happen. I know in every other device that If I issued a certain adb disable command, it bypassed that.

Is there not something similar I can do to get OEM unlock without carrier unlock? Any help is much appreciated.

# Answer
**OEM unlocking** in `Settings > System > Developer options` queries Google web service to check if the device was sold as locked by a carrier.

The `get_unlock_ability` flag is stored in the **OEM lock data block** which is backed by Titan M on Pixels just like lock state, verified boot rollback indexes for the OS, user flashed verified boot key, Weaver tokens used as an extra input for encryption for throttling, factory reset protection data block, etc.

It is entirely implemented at the UI layer and bypassing that just requires OS (not even root) exploit. Another way is, you can fake the message to **Trusted Execution Environment** (TEE) that OEM unlocking has been authorized by Google web service but that will require dismantling of the SoC and fuzzing SPI bus channel which is not practical.

Either way, the attack will only work if Google is not signing the response for TEE to verify (have to confirm this).
> 0 votes

---
Tags: rooting, bootloader-lock, google-pixel, carriers
---


# Question
Title: Android/Linux system is changing the audio drivers on boot with USB mic attached
I have logged the proc/asound/cards for sound drivers below. You can see the first one is before I attach the mic array, the second one is after I attach it at runtime, and the third is after rebooting the device.

```
127|Tinker_Board_2:/proc/asound $ cat cards
 0 [hdmisound      ]: hdmi-sound - hdmi-sound
                      hdmi-sound
 1 [rockchipcdndpso]: rockchip-cdndp- - rockchip-cdndp-sound
                      rockchip-cdndp-sound
Tinker_Board_2:/proc/asound $ aplay -l
/system/bin/sh: aplay: inaccessible or not found
127|Tinker_Board_2:/proc/asound $ cat cards
 0 [hdmisound      ]: hdmi-sound - hdmi-sound
                      hdmi-sound
 1 [rockchipcdndpso]: rockchip-cdndp- - rockchip-cdndp-sound
                      rockchip-cdndp-sound
 2 [ArrayUAC10     ]: USB-Audio - ReSpeaker 4 Mic Array (UAC1.0)
                      SEEED ReSpeaker 4 Mic Array (UAC1.0) at usb-xhci-hcd.1.auto-1.1, full speed
Tinker_Board_2:/proc/asound $ %                                                                                lloydhussell@MAC-Y6XGW6XJ0H Dukebox-Android % adb shell
Tinker_Board_2:/ $ cd proc/asound/
Tinker_Board_2:/proc/asound $ cat cards
 1 [hdmisound      ]: hdmi-sound - hdmi-sound
                      hdmi-sound
 2 [rockchipcdndpso]: rockchip-cdndp- - rockchip-cdndp-sound
                      rockchip-cdndp-sound

```

It is causing bugs in my applications. So any help on fixing this would be perfect. Thanks in advance.

# Answer
> 1 votes
The problem was actually in the Android code of my application. I was accessing the interfaces of the USB device and it seemed to corrupt something in the system. I am really not sure why. Anyway, I just used the interface information provided from the component manufacturer documentation. And instead of iterating through the interfaces to get the one needed for the endpoints, I got the defined ones.

---
Tags: audio, linux, usb-drivers
---


# Question
Title: How to set Android home screen grid size to 6x6?
I use a Samsung Galaxy S9+. My home screen grid only allows till 5x6 grid. Is there any way to set customise grid layouts?

# Answer
You can try using another launcher. Nova Launcher for example allows to set 6x6 grid. After installing, long-press on the home screen, select settings. When the settings open, click Home Screen -\> Desktop grid, set it to 6x6.

There are other launchers that can also do it. Just search on your favorite app store.
> 2 votes

# Answer
Install Good Lock from the Galaxy Store.

Then install Home Up in the 'Make Up' section.
> 0 votes

---
Tags: home-screen
---


title: Install app widgets on Android Go?

text:
# Question
Title: Install app widgets on Android Go?
I have already used this website to determine that I cannot put widgets on my home screen because of the version of Android Go I have installed.

What version or launching app in general would be the best option all around and of course would allow me to have widgets.

# Answer
> 0 votes
I use Nova Launcher. It gives you a very customizable UI and allows widgets.

> * Customizable UI
> Control your desktop, app drawer, dock and folders
> * Icon Themes
> Customize the icons on your device to fit your personal tastes
> * Backup and Restore
> Easily save and reload any and all of your custom setups

I am not associated with it. They have a prime version (paid up), which has more features and taht is what I am using.

---
Tags: app-widgets, android-go
---


# Question
Title: Is it possible to run a bookmarklet on Chrome by selecting it from the bookmark?
I am using Chrome for Android. If I have a bookmarklet saved as a bookmark, then I am able to run it by:

1. Typing its name in the address bar until it shows.
2. Clicking the upward-leftward pointing diagonal arrow next to it to load it into the address bar.
3. Clicking enter.

I am *not* able to run a bookmarklet that I have saved as a bookmark by:

1. Opening Chrome's vertically-aligned three-dot menu.
2. Selecting `Bookmarks`.
3. Navigating to the bookmarklet's entry.
4. Clicking the entry.

I don't want to run my bookmarklets using the first method. I want to run them by going to them in the bookmarks menu (like the second method). If I click any other bookmark in the bookmarks menu, Chrome will navigate to the page. I expect to be able to run bookmarklets from the bookmarks menu.

Is it possible to run a bookmarklet on Chrome by selecting it from the bookmark?

# Answer
> 1 votes
**TL;DR** Either wait for the Chrome for Android team to fix it or find a browser which supports it.

I found this issue ticket for Chromium (base code of Chrome/Chrome for Android/ChromeOS) which was opened in 2015 for the Android platform:

Issue 480010: Enhanced bookmarks do not support javascript bookmarklets

The gist is that:

> This is tricky because on phones BookmarkActivity sends intent to Chrome to launch the bookmarked url, and currently ChromeLauncherActivity rejects javascript urls.

https://bugs.chromium.org/p/chromium/issues/detail?id=480010#c11

Based on older comments the bookmarklet feature existed in a prior version, but disabled since then.

# Answer
> 0 votes
I have found selecting the bookmark does work on another Android browser - Firefox. Hopefully that helps.

# Answer
> -1 votes
Chrome Android doesn't let you run Bookmarklets the traditional way, But, there is a workaround, you can call Bookmarklet from the address bar, Below Tutorial might be helpful.

https://paul.kinlan.me/use-bookmarklets-on-chrome-on-android/

---
Tags: chrome-for-android, bookmarklets
---


title: Disable Android Go?

text:
# Question
Title: Disable Android Go?
I have a Cricket Icon 2 and it has an Android 10 Go edition. It disabled some of my favorite features like adding widgets or displaying apps over others.

I want to know if there's a way I can disable Android Go?

# Answer
You need root and root explorer.

Go to `/vendor` and edit the `build.prop` file. Find the line `ro.config.low_ram=true` and change `true` to `false`. Then just reboot your device. All is ready!
> 1 votes

# Answer
Android Go is a device configuration for low-memory usage. Thus to "disable" Android Go, either turn off the configuration for it or use non-Android Go ROMs instead:

* Set `ro.config.low_ram` to `false` on the `build.prop` (**need root access**, as has been mentioned on MadCreeepyman's answer).
* Downgrade to the previous full-fledged Android version
* Flash a custom ROM that is not based on Android Go
> 1 votes

---
Tags: android-go
---


title: Ads popping everywhere on Android 10

text:
# Question
Title: Ads popping everywhere on Android 10
I have a simple Oppo A15 running Android 10 ColorOS 7.2.

It worked fine for many years but a week ago I started having some issues with ads popping everywhere. When using Chrome or any other app; as I am writing this message it happened twice. The ad is basically as if it's a new app that opens. The content of ads is not really relevant I think.

Any suggestions? It's becoming more and more annoying

# Answer
> 0 votes
I personally use DNS66, an app you can download through F-Droid.

# Answer
> 0 votes
I would install a Virus Scanner. My choice is Kaspersky. The basic version is free, but you have to manually press the button to update the virus database.

I am not associated with it in any way.

---
Tags: applications, ads, popup
---


# Question
Title: How to detect if an outgoing call is answered in Android 13?
On Motorola Edge 30, the system setting for this is not working. Interestingly, I found a GitHub issue that suggests this might be a bug in Android 13.

Is there a workaround or a reliable way to detect specifically when an outgoing call is answered in Android 13?

# Answer
Using UI Automator

```
pip install uiautomator2

```

```
ip = 'ZD22276G7K'
# ip = '192.168.1.247'
import uiautomator2 as u2
from pymsgbox import alert
from time import sleep
d= u2.connect(ip)
ele = d(resourceId="com.google.android.dialer:id/contactgrid_status_text")
try:
    while True:
        et = ele.get_text()
        if et != 'Calling…':
            alert('Calling')
            break
        print(et)
        sleep(2)
except Exception as e:
    print(e)
    alert('Error')

```
> 0 votes

---
Tags: calls, bugs, aosp, vanilla-android, android-13
---


# Question
Title: Can a adb revoke WRITE_SECURE_SETTINGS command make my device unrecoverable?
I was looking at the permissions that many system apps and some user apps have access to mic and phone. I don't remember granting those. I think that some apps have WRITE\_SECURE\_SETTINGS permission and are misusing it.

My device is Vivo V2029 running Android S. I know that now this permission cannot be granted to a non system app without adb or root. My device used to run older android version before, maybe it was granted then.

I was thinking of using adb to revoke it for each app one by one and check if the device functions properly. But I am concerned that what if I revoke it for some important app and then even after re-granting, the phone becomes unusable.

# Answer
Okay, it did make it unusable. Don't disable system apps.
> 1 votes

---
Tags: adb, android-12
---


# Question
Title: Recover bricked unrooted Moto G5 (bootloop)
My Moto G5 got stuck right after booting into Android, screen frozen at my Andorid home screen and was not responding. It was charging but battery was dead, like 1%. Don't know if that caused the issue. I had to remove the battery to turn it off.

After that it never booted again: does start up animations, then asks the PIN, then remains stuck on Motorola logo.I suspect it is bricked? I **really** want to recover data but sadly it is not rooted, with no custom recovery. Just plain stock Android.

I am able to enter fastboot and adb (with Stock recovery). Here's the getvar output

```
(bootloader) version: 0.5
(bootloader) version-bootloader: moto-msm8937-B8.31
(bootloader) product: cedric
(bootloader) board: cedric
(bootloader) secure: yes
(bootloader) hwrev: P5
(bootloader) radio: 7
(bootloader) storage-type: emmc
(bootloader) emmc: 16GB SAMSUNG QE13MB RV=08 PV=0D FV=000000000000000D
(bootloader) ram: 2GB SAMSUNG LP3 DIE=8Gb M5=01 M6=05 M7=00 M8=1F
(bootloader) cpu: MSM8937
(bootloader) serialno: ZY32256S53
(bootloader) cid: 0x0032
(bootloader) channelid: 0x5b
(bootloader) uid: 153EB23800000000000000000000
(bootloader) securestate: oem_locked
(bootloader) iswarrantyvoid: no
(bootloader) max-download-size: 535822336
(bootloader) reason: Volume down key pressed
(bootloader) imei: xxxxx
(bootloader) meid:
(bootloader) date: 06-13-2017
(bootloader) sku: XT1675
(bootloader) carrier_sku:
(bootloader) battid:
(bootloader) iccid:
(bootloader) cust_md5:
(bootloader) max-sparse-size: 268435456
(bootloader) current-time: "Thu Jan  1  0: 6:47 UTC 1970"
(bootloader) ro.build.fingerprint[0]: motorola/cedric_timit/cedric:8.1.0
(bootloader) ro.build.fingerprint[1]: /OPP28.85-13/789a:user/release-key
(bootloader) ro.build.fingerprint[2]: s
(bootloader) poweroffalarm: 0
(bootloader) ro.build.version.full[0]: Blur_Version.28.41.12.cedric_timi
(bootloader) ro.build.version.full[1]: t.timit.en.US
(bootloader) ro.build.version.qcom: LA.UM.6.6.r1-08600-89xx.0
(bootloader) version-baseband: M8937_22.29.02.69R CEDRIC_EMEA_CUST
(bootloader) kernel.version[0]: Linux version 3.18.71-perf-ga19fa3e (hud
(bootloader) kernel.version[1]: soncm@ilclbld34) (gcc version 4.8 (GCC)
(bootloader) kernel.version[2]: ) #1 SMP PREEMPT Fri Aug 17 09:23:26 CDT
(bootloader) kernel.version[3]:  2018
(bootloader) sbl1.git: git=MBM-NG-VB8.31-0-g77d3670
(bootloader) rpm.git: git=MBM-NG-VB8.31-0-gbd76357-dirty
(bootloader) tz.git: git=MBM-NG-VB8.31-1-g26cc248
(bootloader) devcfg.git: git=MBM-NG-VB8.31-1-g26cc248
(bootloader) keymaster.git: git=MBM-NG-VB8.31-1-g26cc248
(bootloader) cmnlib.git: git=MBM-NG-VB8.31-1-g26cc248
(bootloader) cmnlib64.git: git=MBM-NG-VB8.31-1-g26cc248
(bootloader) prov.git: git=MBM-NG-VB8.31-1-g26cc248
(bootloader) aboot.git: git=MBM-NG-VB8.31-0-g0b9dae9
(bootloader) frp-state: protected (77)
(bootloader) ro.carrier: timit
(bootloader) current-slot:
(bootloader) slot-suffixes: _a
(bootloader) slot-count: 1
(bootloader) slot-successful:_a: INVALID
(bootloader) slot-successful:_b: INVALID
(bootloader) slot-bootable:_a: INVALID
(bootloader) slot-bootable:_b: INVALID
(bootloader) slot-retry-count:_a: unknown
(bootloader) slot-retry-count:_b: unknown
all: listed above
Finished. Total time: 0.062s

```

Is there any way to find out what is causing Android not to boot? which file/partition got corrupted, if any? I understand that there are several "images" in a Stock ROM, such as gpt.img, boot.img, oem.img... I am not sure about flashing these because I don't want to lose my data forever

# Answer
If you still have access to Fastboot, you can use Motorola's Rescue and Smart Assistant.

Or if you wanna do it manually, download Motorola's USB drivers and get your firmware from https://mirrors-obs-2.lolinet.com/firmware/motorola/2017/cedric/official/TIMIT/, then flash it manually through Fastboot/Bootloader. Make sure you match the fingerprint of the device. There are files in the zip called `flashfile` and `servicefile` in XML format. I converted the `servicefile` to flash instructions. The `flashfile` includes erasing userdata and cache which I didn't include below.

```
fastboot getvar max-sparse-size
fastboot oem fb_mode_set
fastboot flash partition gpt.bin
fastboot flash bootloader bootloader.img
fastboot flash modem NON-HLOS.bin
fastboot flash fsg fsg.img
fastboot erase modemst1
fastboot erase modemst2
fastboot flash dsp adspso.bin
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5
fastboot flash system system.img_sparsechunk.6
fastboot flash system system.img_sparsechunk.7
fastboot flash system system.img_sparsechunk.8
fastboot flash oem oem.img
fastboot erase DDR
fastboot oem fb_mode_clear

```
> 1 votes

---
Tags: fastboot, boot-loop, unbricking, motorola-moto-g5
---


title: Disable heads-up notifications

text:
# Question
Title: Disable heads-up notifications
How to disable heads-up notifications (pop-up notifications)?

(These are the notifications that show at the upper part of the screen and obstruct the view.)

# Answer
> 3 votes
First of all you'll have to install adb on your pc and then connect your phone and run the commands

## Installing ADB

1. Download adb installer from HERE on your pc
2. Run the setup and do as directed to install adb.
See THIS video for reference

## Connecting device and running command

1. To use ADB with your Android device, you must enable a feature called USB debugging. Open your phone’s app drawer, tap the Settings icon, and select “About Phone”. Scroll all the way down and tap the “Build Number” item seven times. You should get a message saying you are now a developer.
2. Head back to the main Settings page, and you should see a new option near the bottom called “Developer Options”. Open that, and enable “USB Debugging”.
3. Later on, when you connect your phone to your computer, you’ll see a popup entitled “Allow USB Debugging?” on your phone. Check the “Always allow from this computer” box and tap OK. Select connection type to MTP from charge only if this doesn't pop up.

Take a look at THIS if you're stuck somewhere.. Everything mentioned above is demonstrated here with pictures
4. Now open command prompt and type `adb devices`. You'll see a device listed there.
5. Enter `adb shell settings put global heads_up_notifications_enabled 0` to distable it. And if you want to enable it back again enter `adb shell settings put global heads_up_notifications_enabled 1`

# Answer
> 0 votes
Go to Settings \> Applications & Notifications\> Notifications.

# Answer
> 0 votes
Not yet tested; probably doesn't show anything (not even in the status bar) and also disables sounds:

* Go to *Settings -\> Apps -\> App info*
* For each app that shows heads-up notifications:
    + Tap on that app
    + Tap on *App notifications*
    + For each type of notifications ("Lite" (the cryptically named Facebook app) has about 20 types):
        - Tap on the name of the type of notification
        - Tap *Importance -\> Low (No sound or visual interruption)*

---
Tags: notifications, settings
---


# Question
Title: Wired headset support on Android using USB-C
I just recently lost my OnePlus Nord 2CE which had all my must-have features, dedicated dual SIM slots, SD card support, and a 3.5mm jack.

Now there are very few phones which have these 3 features, so I have accepted that the SD card can go, but as I use an EPOS wired headset which I find really important for long calls, I am wondering if I was to buy a phone with only USB-C, how I could use my wired headset or if there are USB-C versions that work.

I already own iFi Audio GO and Meizu HiFi Audio USB audio adapters for driving proper HiFi headphones. Will these support mic input?

This USB-C Logitech headset says "Functionality for mobile devices with USB-C depends on the device."

Any ideas?

# Answer
> 1 votes
If it's a recent phone, it should work fine. The functionality referred to in the Logitech handsets is controlling the app on your phone. At worst, you may not be able to pause or start the music/video player from the headset.

---
Tags: headset, usb-c
---


# Question
Title: Easiest way to create a signature fascimile on an Android tablet
I would like to create a **fascimile of my signature. Ideally, a high resolution png with a transparent background**.

At my disposal is an Android tablet with a stylus (Samsung Galaxy Tab S9+) and a Linux (Ubuntu) laptop for post-production if necessary. I would prefer to avoid using online services and keep the signature on my devices.

How do I go about it? Starting with the drawing app for Android. If practical, one that is open source and in F-Droid would be best.

# Answer
In the past I have use Samsung Notes for this.

In Samsung Notes you can write your signature using the pen, or if you have a particularly thin finger that might work.

When finished you can tap the 3 dots in the top right and select "Save as file" and then choose PDF. Exporting to PDF keeps high resolution vector graphics so the lines in the PDF will be good and have proper transparency.

Save that PDF to somewhere and email it to yourself.

On a PC install and run Inkscape. Import the PDF you emailed to yourself.

You can trim the file to only the used area using **File -\> Document Properties -\> Resize to content** (click the button next to resize)

Then simply save your file. You can use **File -\> Export** to get a PNG which will have transparency and be any resolution you like, or you can use **File -\> Save as** to export vector formats such as SVG and EMF which have transparency by their very nature.
> 1 votes

---
Tags: drawing
---


# Question
Title: Change status of "view only" contact in Google Contacts
I have Nexus 5x running Android 8.1 Oreo with Google Contacts 3.2.5.222172751. I had a friend's name misspelled in my contact list and wanted to fix it. Ordinarily (and on all my other contacts), there is a blue edit button in the bottom right of the interface that displays contact info, but for this contact, it's missing.

When I open the contact from the Google search bar (Google app), it shows the words "read-only" at the top. I think I created the contact in the normal way (rather than through another app). Yes, I could delete the contact and create a new one. That would be quite easy, but that's not the answer I'm looking for.

How do I fix the contact settings? Or if somehow not possible, what in the world? What is a "view only" contact?

# Answer
I ran into the same problem recently; here's the answer I found worked immediately.

Use the phone app. Like, the one you use to make phone calls.

Google Contacts apparently doesn't look at where the contact comes from, only that it didn't create it. And then just gives up.

But lo and behold, clicking the big green phone button and searching for that contact not only revealed two accounts with the same name (associated with another app), but both were easily and quickly deleted.

And now I have the right contact name in Google Voice! Miracles.
> 1 votes

---
Tags: google-contacts
---


# Question
Title: Is there any method of installing Xposed framework on non-rooted devices with stock recovery?
I am trying to figure out if there is a method of installing Xposed framework on **stock ROM** without custom recovery (e.g CWM or TWRP). The conventional method that I am well familiar with is installing the framework via Xposed app on a rooted device.

I researched a bit and most workarounds were promising although not successful:

According to this source, the method involves setting the system partition writable then pushing the necessary files via `adb` commands however fails with `Permission denied` errors. I suspect bootloader issues (which seems to be locked) here but not very sure.

The other way, described here doesn't need custom recovery. This involves installing a third party application (FlashFire) to flashed unsigned `.zip` but unfortunately seems to require root (from description).

The last one involves using new systemless xposed framework but the problem is that it supports android 5+ versions.

So is there any convenient way of installing xposed framework on **stock recovery without root**?

**Edit**

Following important discussions raised in comments, I guess I have to explain why I want to bypass root-based installation procedure, it's because the device in use is not rooted, so I need to use a non root installation mrthod.

Contrary to the comments however, some users have used Xposed without **root**:

> **Xposed only needs root access when you install** it, then everything else is completely transparent to the user because the framework acts as a **separate conduit** to the system -- it doesn't go through the usual SU channels

Also the device is running Android 4.3 stock

# Answer
> 1 votes
Wasn't interested in going back to answer my post, however its pretty funny how things that were deemed impossible 5 years ago are becoming possible as technology age, anyway there seems to be possibilities of achieving what I wanted 5 years ago.

There exists a plethora of Xposed solutions that can be utilized sans any hindrance. Depending on the given use cases, it is feasible to inject a particular application in order for it to load the xposed module and perform as desired (which aligns with my objectives).

1. LSPatch

> Rootless implementation of LSPosed framework, integrating Xposed API by inserting dex and so into the target APK. Supported Versions
>
> ```
> Min: Android 9
> Max: In theory, same with LSPosed
>
> ```

2. SPatch
3. VirtualXposed

et. cetera. The main point here is that it is quite possible to used rootless xposed method as long as the module doesn't need access to the system. Some modules are just specific to the applications that use them.

---
Tags: stock-android, 4.3-jelly-bean, xposed-framework
---


title: Android Outlook Search problems

text:
# Question
Title: Android Outlook Search problems
Outlook for Android appears incapable of searching my IMAP emails (text or even subject) except for the inbox. Zero matches every time, when Outlook on the desktop and Windows Mail have no trouble with the same mailbox. However new the emails, it can't find them if they are in any folder other than the inbox. It searches all Gmail folders fine, however.

# Answer
> 1 votes
As far as I'm aware, what you're experiencing sounds symptomatic of the account IMAP folders not being synced to your current point-of-use device. There should be configuration settings somewhere that allow you to choose which individual folders you want to sync from your mail server to your device. If you're unable to find such settings, you may want to try another application that offers such fine-tuning, or possibly even check if there's any options available server-side (e.g., via browser webmail client).

# Answer
> 0 votes
It seems this has been encountered by many users of Outlook for Android (myself included). All the research I have done indicates that this is a bug in the app (at least in recent versions). There have been multiple posts on the Microsoft community sites, such as Outlook Android Search.

It seems a workaround is to

> click on the down arrow next to the home icon (looks like a house) to the left of the search box and then hit 'all accounts' on the drop-down menu.

This only works if you have multiple accounts; I only have one account and there is no option to search all accounts.

I suspect there is an indexing problem - if anyone knows how to clear the index then re-index, please advise.

It would be great if Microsoft were to fix this issue.

My version of Outlook for Android is 4.2343.1.

---
Tags: search, outlook
---


# Question
Title: How do I find an .apk file that's not even installed?
There is an `.apk` file when I use Google Files. But it says it's not installed. It is taking up over one MB of memory.

How do I remove it? Better yet how do I find it?

# Answer
> 0 votes
There's an app called Total Commander that's very good for exploring root-level assets. It may take some poking around, once installed, but it's been useful for me.

https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander

---
Tags: apk, file-management, google-files
---


# Question
Title: Android 9 set volume keys to adjust ringer by default
I have a OnePlus 3T, and recently updated it to LineageOS 16, from 15.1 - however I imagine this applies to any device with Android 9.

I realise that Android 9 has changed the default behaviour of the volume keys, to adjust the media volume by default. Whilst I can appreciate that some users might find this useful, I much preferred the ringer volume being changed by default and the media volume changing when media was being played. It seems like now there is no way to change the ringer volume using the hardware keys.

Is there any way to undo this change in defaults and make the volume keys adjust the ringer volume by default? Essentially I want to do the *opposite* of this question. Ideally I'd like not to have to install some questionable app to do it, I have root access so can use that if there's some command that I can change.

Or at the very least, is there a way to stop the ringtone from playing when I change volume from the "Sound" setting menu? Typically when I am changing the ringer volume I'm trying to reduce the amount of noise I might make, but changing the ringer volume through the "Sound" menu causes Android start playing my ringtone, which is very annoying.

# Answer
> 1 votes
I was very frustrated when Android 9 changed the volume buttons to control the media volume all the time so I developed an app to fix this and make the volume buttons control the ringtone and notification volume as it used to. It's free and you can install it from here: \[https://play.google.com/store/apps/details?id=com.softstackdev.volumeFix \]

Let me know if you need any help to use it.

# Answer
> 0 votes
You might be able to use MacroDroid to change modes triggered off another setting. I just installed it for another purpose and haven't explored all the possibilities

https://play.google.com/store/apps/details?id=com.arlosoft.macrodroid

---
Tags: volume-control, 9.0-pie, volume
---


# Question
Title: Can't share from any apps, no links or files (action.CHOOSER ActivityNotFoundException)
On Android 14 GrapheneOS, I am unable to share images or links in multiple applications (such as Mull, Aves Gallery, YouTube, NewPipe, Twitter, and many others). Some apps crash, others do nothing when you press "more" to show more apps, and others say "Cannot open this link" or "No app on your device can open this link"

When I go to logcat or see the crash log when offered, every application shows this error

```
E AndroidRuntime: android.content.ActivityNotFoundException: No Activity found to handle intent { act=android.intent.action.CHOOSER (has extras) }

```

I have no idea what is causing this issue, since it only started happening very recently. It's possible that in my clouded judgement, I messed with some app permissions to prevent an app from updating itself, but my attempts to revert the permissions had been fruitless and I don't know if it could have been anything else. Any help would be appreciated.

I tried looking online, and every answer assumes the problem is on the application's end and that you are the developer. I couldn't find anything here or Super User, only Stack Overflow.

# Answer
> 1 votes
Solutions are here

https://www.reddit.com/r/android\_beta/comments/146v09p/comment/jnu3bdk/ https://github.com/fluttercommunity/plus\_plugins/issues/1914

```
$ adb root
$ adb shell pm enable com.android.intentresolver/.ChooserActivity

```

This fixed it for me.

---
Tags: custom-roms, share-menu, intents, android-14
---


# Question
Title: Clearing an app's *cache* and not the app's *data* via pm (or other CLI utility)?
I'm running Android 13 in a rooted environment, and I want to use `pm` or some other Android command-line utility to clear an app's cache. If I do `pm clear package.name`, it clears the app's data, and that's not what I want ... I only want cache clearing with the app's data remaining intact.

This needs to be a command-line utility, because I want to run it within a Tasker task. It could also be a shell script that runs multiple CLI commands.

I know that I can do `pm trim-caches [... args ...]` to clear all caches of all apps, but that's not what I want, either. I want to clear the cache of one and only one app at a time.

Thank you in advance for any suggestions.

# Answer
> 2 votes
OOPS! I originally overlooked the answer when checking the `pm` help text.

All I have to do is `pm clear --cache-only package.name`.

---
Tags: root-access, command-line, cache
---


# Question
Title: How to hide Termux notifications without breaking functionality?
My Pixel 7 (Android 14) has a persistent ssh server set up, but Termux shows a "wake lock held" notification, which is very annoying. Is it possible to hide notifications so that they exist and work but are not displayed in the notification area?

# Answer
That depends on the definition of "exist and work". As far as I know it will still hold the wakelock if the notification is hidden, as the notification is only a nicety. If it's hidden though it won't be possible to tap it to open the app.

It should be possible to press and hold the notification to get options for the apps notifications, then choose which notifications you want to disable or just disable everything. And then can be enabled again via App Info -\> App Notifications.

Phantom Process Killer may be the actual cause of the app getting killed. There is a plethora of notes about how it works and how to disable it on different versions of Android 12+ "at your own risk" in this project on GitHub. The links at the top that point to Termux GitHub Issues and Google Issue Tracker go into some technical discussions about it.

Most Android 13+ devices should have an option to disable this via Settings -\> Developer Options -\> Disable child process restrictions as per this Reddit thread, noting in a comment that it's not included by Samsung, Oppo, and Xiaomi. It was originally added in Android 12L, but that was targeted for folding devices, large screens, and tablets.
> 0 votes

---
Tags: notifications, termux
---


# Question
Title: Android source code for extracting entries from an APK during installation process
I am trying to understand the **exact** details of how Android extracts the entries from an APK during the installation process. First some background info:

* The installation may occur either through Play Store or directly using for example `adb` using a command like `adb install example.apk`. *Should be noted that depending on how it is installed the process might be slightly different - I am interested in both cases*
* The .apk is basically a zip file and an extraction should occur. Following the zip format specification the extraction should account for the compression method being used by each entry. I located this method which I am not sure if it is related with the installation process but I can see it takes into account the two available compression methods (STORE, DEFLATE).

I have tried in Android 11(emulator x86), to install an APK (through adb) which does not have a compression method of either STORE or DEFLATE for the AndroidManifest.xml and it installs successfully.

What is the responsible code for handling compression methods outside of the ones expected?

# Answer
Android app installation process is not very straightforward like APK is opened, files are extracted, and placed in the relevant directories. In fact, scores of components are involved in the app installation process under the hood; framework services in the Java layer, in the native layer, IPC calls and so on.

Also there are many variable factors which decide how the app will be installed. APK file is opened multiple times during this whole process, possibly in different ways, at different stages.

That said, now to address your question, here I quote two instances from the source code: when the APK file is copied to `/data/app/<pkg>/base.apk`, and when the native libraries are extracted (if applicable). The Java code in both places (from the `PackageManagerService`) calls the the native code (from `libziparchive`). And here both compression methods you have mentioned are being checked during the ZIP / APK extraction process. Similar approach is used when extracting other files like classes (DEX code), assets and XML resources.
> 1 votes

---
Tags: adb, installation, open-source
---


# Question
Title: How to connect to multiple VPNs in Android
My university has a VPN and we need to connect to the VPN in order to get access to the internet. But, I want to contact to a workplace using internet.

Is there any way to have multiple book in Android. I mean like a VPN through another VPN?

# Answer
> 10 votes
According to Android Developers - VpnService,

> There can be only one VPN connection running at the same time. The existing interface is deactivated when a new one is created.

So, no, you can only have one VPN at a time on Android. You can switch between the two, though, when you need to use the other.

# Answer
> 1 votes
You can use two VPNs at the same time by using the Android Work Profile. The Work Profile has it's own "VPN slot"; this allows you to be connected to two VPNs at the same time. You can set up the work profile using either Island or Shelter (FOSS)

Do note though that the work profile does not work well in some specific devices. I've confirmed it does work in a Moto e6+ with stock Android 9

# Answer
> 0 votes
Depending on if your router has the feature, you could potentially connect your router to a VPN while connecting your phone to another, resulting at your phone connecting to two VPNs at the same time. BUT, this does not mean you can access two VPNs because VPN is an end to end encryption technology. You could however, effectively hide your packet from both router level VPN and your ISP (and therefore the NSA). It is a common technique for the cyber attackers.

---
Tags: vpn
---


# Question
Title: Setting Protonmail on default email mobile phone app
On my android samsung edge s6 I added a new protonmail account. The phone alerts me saying the server doesn't answer.

Here the configuration I tried:

```
IMAP server: 127.0.0.1,TLS,port: 143
SMTP server: 127.0.0.1,TLS,port: 587
--------------------------------------------
IMAP server: 127.0.0.1,SSL,port: 993
SMTP server: 127.0.0.1,SSL,port: 465
--------------------------------------------
IMAP server: 127.0.0.1,SSL,port: 1143
SMTP server: 127.0.0.1,SSL,port: 1025

```

I has been always alerted that "it is not possible to connect with the server".

The app email manager is the samsung's default one.

# Answer
> 0 votes
Protonmail does not work on Android in third party Mail applications (because the ProtonMail Bridge application is not available for Android). You have to use the web interface or the ProtonMail app.

Cite from the ProtonMail help pages:

> At this time Protonmail does not integrate with third party email clients (IMAP/SMTP) on Android due to the technology ProtonMail utilizes within web browsers to encrypt and decrypt your messages. \[source\]

# Answer
> 0 votes
One convoluted solution would be to have a Linux-based server running Proton Mail Bridge that is available to the phone on the Cloud or through VPN (say available at home if using a robust firewall like OpenVPN).

If more details are required, please ask.

---
Tags: applications, email
---


# Question
Title: Brave browser does not automatically load newest version of page
Almost every time I open a site, it loads the previously viewed version, not the latest one. A news site might load the news from 2 days ago instead of today's most recent news. I have to manually reload the site.

Chrome and DuckDuckGo don't have this problem, but I prefer Brave's privacy. Once in a while it will refresh on its own. No rhyme or reason I can see. How can I fix this?

Thanks for your help!

# Answer
> 0 votes
In your browser URL type: `brave://settings/clearBrowserData`, and clear all the cache. Make sure you select *all time*

# Answer
> 0 votes
Clearing the cache will do it.

* Press `3 dots` at the bottom right
* Press `History`
* Press `Clear Browsing Data`
* Ensure that `Cached Images and Files` is ticked. You can untick other items if you want.
* Press `Clear Data`

---
Tags: brave-browser
---


# Question
Title: Why is this app getting installed with a space before the app name?
Earlier today, I noticed something strange. Google Classroom isn't following the alphabetical arrangement of apps in my app drawer.

I swear this weird issue only appeared today, and I don't recall doing anything that might have caused it. I've tried different launchers and it's the same thing—either the app is at the beginning or at the end of the list of apps.

I installed a package manager app and I think I've figured out why this is happening. It appears that the app is getting installed with (a) space character(s) before the actual app name.

As to why this is happening, I have no idea. I've tried almost everything (uninstalling and reinstalling, installing a previous version of the app, etc.) bar a factory reset, but the issue persists. Can anyone help me out?

My phone is a Samsung Galaxy S23 running Android 14 (One UI 6).

# Answer
Apparently, this is a bug with the system language of my phone. Setting it to English (United States) fixed the problem for me. Thanks to Robert for the solution.
> 0 votes

---
Tags: applications, android-14, samsung-galaxy-s-23
---


# Question
Title: Change search engine in search bar on home screen on Android 11?
When I set up my new phone (Fairphone 4) with Android 11 I selected Duckduckgo as search engine. This is now used in the bottom search bar on the home screen. Now I can't find the place in the settings to change this to something else in the settings. And searching the settings for "search" brings up nothing :-/

Where can I change the search engine for the search bar on the home screen.

This is what I need to find again: https://www.android.com/choicescreen/ The EU forces them to provide me with a choicescreen so that I can decide freely which search engine to use by default. But like for cookie banners, the EU guys are not the brightest when trying to control Megacorps, so they seem to allow Google to hide that screen very well.

All descriptions I found refer to changing the search engine in a browser only.

(It is lamented elsewhere already what a pita it is to have the search bar down there, but it seems we cannot get rid of it. In case someone knows better, that would suit me as well.)

# Answer
> 4 votes
One of the answer from this question on the Fairphone forum about the same issue indicates that you must reset either reset the phone. It reflects the response from Fairphone support:

> Support answered:
>
> > At the moment, the only way to change the search engine used by the search bar is indeed a full factory reset.
> >
> > However, we understand that this is not the most convenient way. Thus, we will take your feedback into our considerations for our future developments. We appreciate your response as it is very helpful for us and it gives a good insight into the wishes and needs of our community

OR

install another launcher. The OP from that forum installed Lawnchair launcher.

# Answer
> 0 votes
Here is the adb method, thanks to the FairPhone forum thread.

```
$ adb shell settings delete secure selected_search_engine
$ adb shell pm enable com.google.android.apps.setupwizard.searchselector
$ adb reboot

```

It worked for me on Nokia G60 5G. With the usual undocumented quirk: you also have to enable USB file transfer before adb can work. I think there was a short delay before the choice screen appeared.

Unfortunately for me, the "Choice screen" only has a list chosen by Google, and the list does not include Firefox.

I agree the EU seem to have fallen asleep.

# Answer
> 0 votes
Easily "remove" the google search box by simply moving all your icons to the second home screen, which does not have the ugly google search box.

When you unlock your phone, the last used home screen is shown first, so for all practical purposes, you will never have to see the google search box again.

If you still want a search box widget but with another search engine, you could install the duckduckgo search widget. Perhaps Wikipedia has something similar.

---
Tags: home-screen, search, fairphone-4
---


# Question
Title: Can we mod android phones using custom bootloader, firmware for MSM8909 Snapdragon 210
Can we mod android phones using custom bootloader (sbl secondary bootloader) , firmware for MSM8909 Snapdragon 210 (phone is zte835). Deleting all factory firmware, bootloader and using custom bootloader and Roms.

I deleted sbl boot files while using qfil and magisk. Phone doesn't turn, it got hard bricked . Bootloader files are corrupted .

# Answer
> 1 votes
Flashing custom ROMs is not a problem. There are several guides on it specific to your device model. But flashing custom android bootloader is not possible on production devices because it is protected by secure boot which is permanently enabled in production SoCs by blowing the eFuse in the factory. Primary bootloader in Qualcomm Snapdragon SoCs is an immutable image which is burned on the CPU die in the factory. This is where infamous Qualcomm's EDL mode resides. As it can't be tampered with, by design it will enforce secure boot up to android bootloader. A hard-bricked device can still boot to EDL mode. You have to flash the factory image to restore images of all partitions.

---
Tags: bootloader
---


title: modify apk content

text:
# Question
Title: modify apk content
Do you know if it possible to edit compiled code in apk package?

I tried followed steps:

1. Unpack xapk file by command: `unzip my-app.xapk` (I have there multiple apk and I need to modify one of them, due to bug fixing...)
2. Unpack one of the apk: `apktool d my-component.apk`
3. Modify one of the smali files
4. Build apk: `apktool b ./my-component -o ./my-component.apk`
5. generate cert: `keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias`
6. sign all unpacked from xapk files: `find ./ -name "*.apk" -exec apksigner sign --ks my-release-key.jks --ks-pass pass:123456 --out {} {} \;`
7. install all component: `adb install-multiple -r my-component.apk another-component.apk....`

After all these steps my application works partially and I got some errors in logcat:

`ArtManagerService: Failed to prepare profile for my-package:/data/app/~~SeVk-WOasdas3A-hIPw==/my-component-TwgvYqasd_uL4r2tgdBZ-og==/base.apk`

# Answer
An .apk is a zip file, just a bit stricter. Theoretically you could change anything in it. But if the code is actually compiled, then it is an amazing amount of effort.

There is an article on wikihow that tells you more about how to modify an apk file.
> 0 votes

---
Tags: development, instant-apps
---


title: App is kept in memory, content is not

text:
# Question
Title: App is kept in memory, content is not
On my GPE S4 (Android 5.0.1), if I change from Firefox or Google Sheets or ezPDFreader to another application for more than 1 or 2 minutes, and come back, the data is loaded again. It is not only bad for my data plan, but is also time consuming. I monitor data usage, it is not just re-rendering.

On my Nexus 4 (Android 5.0), applications in the background keep content for an hour or more. It is quite strange, as they have the same amount of memory, 2GB.

Is there a setting for this? How can I avoid unnecessary reloads?

# Answer
The problem is in RAM usage of your firmwares. Nexus has a fewer "stock app" processes running in the background, thus it consumes less random access memory, so there is more of it for user apps. This means, you can launch more apps simultaneously without having some of them to be killed in the background!

Samsung tried to include as more "cool features" as possible to their devices like a pretty (and heavy) TouchWiz, much of bloatware, and all other "special" features also consume RAM.

There are several ways solving this issue:

One of them is switching to a custom ROM. Like CyanogenMod. It will really help you, but u might loose some of your phones abilities (mostly useless of them).

Another one is, you can disable all the bloatware, uninstall some unnecessary apps, that run in the background (you might have to root your ROM for some of them) disable ALL unused features like Live wallpapers, and much more. Disable some autorun apps, using 3C Toolbox (root). For more info, Google "how to free ram on" and your device name.

I strongly reccomend you to do a backup of your ROM before you begin! Otherwise, be really careful! Good luck :)
> 0 votes

# Answer
I assume its only for browsers (and some high end gamed maybe)? Because file managers should well maintain that. Same with music and possibly other apps.

Actually, there is not really any workaround for this sadly (not on unrooted atleast0. Its the way browsers are made. If an app or system has to reload content, it will because it has decided to. No stopping it. ***Its not a memory or ram or any other problem, just the way app is made or that specific android os on phone is designed to work.***

To be accurate, it doesn't really reload. It *rerenders*.

For instance, say you start a game and android decides to free up some ram by clearing or suspending background apps, then it will kill the chrome and it will have to "reload" next time you start. Even if you dont start some heavy task, chrome and similar will still rerender.

From How to force browsers not to reload recently seen page after resume? | Android Enthusiasts Stack Exchange:

> the browser isn't actually reloading, in the sense of reissuing the HTTP GET request; rather, it's simply re-rendering the existing HTTP response that it presumably has lying around in its cache. I say this because I've seen this happen without network connectivity; if I then tap the "reload" button, it gives the error you'd expect ("Cannot load page because I cannot connect to the Internet" or whatever.)

---

> browsers had to rerender if it has been killed by the system (generally when a foreground apps needs more memory). With chrome, rerendering is a bit obvious because chrome displayed a grayscale screenshot of the page while it's rerendering. If you want to prevent rerendering at all, you should avoid switching to a heavy application (e.g. games). How much states are preserved across rerendering depends on the quality of implementation of the browser.
> 0 votes

# Answer
Via Browser is the only way I've found to avoid this problem. (Besides already having a lot of RAM anyway)

Make sure "Go back without reloading" is checked under Advanced settings.

Here's the play store link https://play.google.com/store/apps/details?id=mark.via.gp

If you look outside the play store you may also find special versions with other features.
> 0 votes

---
Tags: samsung-galaxy-s-4, nexus-4, ram
---


# Question
Title: Is USB debugging needed when flashing stuff?
I mostly worked on Samsung phones, but I also had a shot on some cheap MTK phones.

Over the course of rooting/flashing roms/flashing kernels I built myself/using Odin (Samsung)/etc. on a lot of phones, not once did I need to change any USB debugging option, except on my first try when I was still new to Android.

But, once I began learning how Android works (and becoming an Android dev in the process), turning on USB debugging didn't make sense when interacting with the phone outside of Android, because as far as I know, USB debugging is only *soft*. That is, the phone hardware didn't care, but the OS requires it for debugging purposes (ADB access).

So, basically, when you need to flash something in recovery mode **OR** via a tool (e.g. Odin, Heimdall), you don't need USB debugging. But, when you are talking to the OS (`logcat`, etc.), USB debugging makes sense.

So, why do almost all of the online tutorials that I revisited **require** turning on USB debugging even though you're outside of Android? Is there something I don't know that needs it? Or are they naive and simply *followed the leader* (copy-pasted another tutorial into their own blogs)?

# Answer
> 0 votes
USB debugging is required when interacting with the running OS and apps within.

Outside, such as during flashing, one is not interacting with the OS, therefore it has no role.

As others have mentioned, enabling USB debugging for modifying the hardware (such as during flashing) may be a misconception and/or a result of copy-paste content creation.

# Answer
> 1 votes
It is never really required for anything related to flashing kernels and Roms. However, you can do other things with adb that are more related to modifying the existing system. However in the case of most tutorials, I think its what Andy Yan said, it's just for copy paste

---
Tags: rom-flashing, usb-debugging, kernel, odin
---


# Question
Title: Does upgrading a Samsung Galaxy S23 Ultra phone from Android 13 to Android 14 decrease the phone's performances?
I have a Samsung Galaxy S23 Ultra running Android 13. Does upgrading a Samsung Galaxy S23 Ultra phone from Android 13 to Android 14 decrease the phone's performances?

# Answer
Based on the feedback I received on Reddit, it seems that upgrading a Samsung Galaxy S23 Ultra phone from Android 13 to Android 14 does not result in a decrease in the phone's performances.
> 0 votes

---
Tags: performance, android-13, android-14, samsung-galaxy-s-23
---


title: Removing Knox and SElinux

text:
# Question
Title: Removing Knox and SElinux
I am having problems setting the kernel to permissive (SElinux). I have already tried the `setenforce 0` command with terminal but it immediately goes back to enforcing as soon as I set the `setenforce 0` command. So I finally got fed up and decided to monitor what was actually going on in my phone by using a logcat. After looking at the logcat, I found a line of code that could be setting the kernel to enforcing by default.

Here is the code:

```
/audit   ( 6001): type=1404 msg=audit(1479393162.929:264): config_always_enforce - true; enforcing=1 old_enforcing=1 auid=4294967295 ses=4294967295

```

The `config_always_enforce` is set to `true` so that means I should probably set this to `false`.

Unfortunately I don't know where this value is in my system. Does anyone have any idea? I have a Galaxy S6.

Also, I removed all the Knox apps, but everytime I reboot, I get Knox folders reappearing and a file called `knox emulated` in the `/storage` folder. Have I not removed all the Knox apps?

I will post my logcat that way ya'll can take a look at it.

I hope you all can help me because I really want a custom ROM so I can use Xposed.

# Answer
If you want permanently change your SElinux status, you can handle the situation by changing two functions of `selinux.cpp` placed at `system/core/init` in AOSP 13 source code. You need to only return `SELINUX_PERMISSIVE` and `false` for functions `StatusFromProperty()` and `IsEnforcing()`, respectively.

For more information, I recommend to check this solution in details.
> 0 votes

---
Tags: root-access, stock-android, xposed-framework, samsung-knox, selinux
---


# Question
Title: How to change search engine in Nova launcher?
All search bars in Nova Launcher use Google. Can I change this?

# Answer
> 3 votes
Firstly, remove the Google Search bar. After that, hold anywhere in the homescreen where there ins't any icons. Click "Widgets". Then browse to the widget of the search bar of your choice.

# Answer
> 1 votes
I figured out how to change the default browser of perstant search bar in Nova without removing it for a different widget.

1. Nova launcher \> Home screen \> search bar style \> Nova search \> search providers \> add +
2. Url: search.brave.com/?q=%s
3. Move Google and Play store to disable providers by holding and dragging them down.

Now when you search, it will start searching for apps,but just keep trying and the last result will be the brave.search, hit enter, it will search brave.

# Answer
> 0 votes
Along with the other answer, there is another way to change Nova Launcher's default search engine to use (although it is not very ideal unless you want to keep the Nova search widget).

To do it, disable all your search apps besides the one you want to use, and try to use the Search bar again.

It should give you the search app that you want to use.

I used it to switch from my default Search app (`com.android.quicksearchbox`) to Google Search.

---
Tags: nova-launcher
---


# Question
Title: Whatsapp: is there any possibility to turn off internet for a specific contact only?
I know there is an option to turn off internet access for entire whatsapp but i was wondering if there is a way to disable access for a specific chat completely?

What i am trying to accomplish by doing this? I am trying to modify contact details such as phone number without letting whatsapp to get refreshed or anything.

# Answer
> 0 votes
> if there is a way to disable access for a specific chat completely?

Not directly. Maybe try blocking the contact temporarily when you update their details?

> What i am trying to accomplish by doing this? I am trying to modify contact details such as phone number without letting whatsapp to get refreshed or anything.

Currently not aware of a direct workaround for this. But can only suggest the workaround now.

---
Tags: whatsapp-messenger
---


# Question
Title: Getting "java.lang.SecurityException: Shell does not have permission to access user 150" when uninstalling apps from Samsung Secure folder using ADB
I am using Samsung Galaxy A50, Android 11, One UI 3.1. I use Samsung Secure folder. There are many bloatware in it and I could not find a way to uninstall (and disable) them via ADB.

Owner profile user is 0, Secure Folder user is 150.

```
pm uninstall -k --user 150 com.android.chrome

Exception occurred while executing 'uninstall': java.lang.SecurityException: Shell does not have permission to access user 150
com.android.server.am.ActivityManagerService.handleIncomingUser:17947
android.app.ActivityManager.handleIncomingUser:4863
com.android.server.pm.PackageManagerShellCommand.translateUserId:3125
    at com.android.server.am.UserController.handleIncomingUser(UserController.java:2375)
    at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:17947)
    at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:4863)
    at com.android.server.pm.PackageManagerShellCommand.translateUserId(PackageManagerShellCommand.java:3125)
    at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:2024)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:237)
    at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
    at android.os.ShellCommand.exec(ShellCommand.java:44)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:26662)
    at android.os.Binder.shellCommand(Binder.java:965)
    at android.os.Binder.onTransact(Binder.java:839)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:5206)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:5281)
    at android.os.Binder.execTransactInternal(Binder.java:1195)
    at android.os.Binder.execTransact(Binder.java:1159)

```

# Answer
> 6 votes
Uninstall the Samsung Secure Folder from the Settings.

Settings -\> Lock screen and security -\> Secure Folder -\> Enter your lock details -\> Uninstall.

Refer to this blog.

# Answer
> 2 votes
I've encountered the same messages after trying to get to the list of packages. Nonetheless, knowing the name of the package, I was able to get rid of bloatware using the standard `pm uninstall -k --user 0` command with no root.

# Answer
> 0 votes
I am expanding on Ashwin's answer. If you have `Secure Folder` enabled (usually by default), in order to uninstall **any other app** or even have permission to do something simple with ADB shell such as listing packages, you need to uninstall secure folder.

Example from before the uninstall for running `pm list packages | grep google`:

And right after uninstalling `Secure Folder`, I ran the same command and it worked!

Now you can uninstall apps via: `adb shell pm uninstall — user 0 com.example.app`

(optionally can add `-k` before `- user` to keep app data)

---
Tags: applications, adb, samsung, system, uninstallation
---


# Question
Title: How to restore Contacts from a filesystem backup?
I make filesystem backups of `/data/` and am trying to restore my contacts. Contacts appear to be stored in `/data/data/user_de/0/com.android.providers.contacts/`, specifically its `database/contacts2.db`.

Manually restoring this directory however does not appear to work. The data is 1:1 the same but, upon opening the contacts app, all contacts are wiped from the db.

How can I restore contacts from a filesystem backup such that they're not wiped by Android?

# Answer
In order to restore contacts (and other providers for that matter it seems), you must restore *all* content `com.android.provider.*` directories under both `/data/data/` and `/data/user_de/0/`.

When I do that, all my contacts are in the contacts app as they should be. SMS messages, call history etc. are also restored.

(It is possible there is a specific subset of directories that are sufficient aswell but I didn't pursue this further as you'd usually want SMS etc. to also be restored, so might as well restore all content providers.)
> 2 votes

---
Tags: backup, contacts, restore, providers
---


# Question
Title: How to see the default gateway of mobile network?
Android version 13
One UI Core version 5.1
Model code SM-A045FZKGXID
Kernel version 4.19.191-26097594-abA045FXXU3cWG1

The following is a history of my useless attempts, which raised more questions than I was looking for. :)

The question seems so dumb I fear I am asking in the wrong community, never the less I have been struggling the whole day to find the answer to this. After hours of googling and ChatGPT I randomly found my IP address, instead of being among network-related settings, was among "status information" (why?)

I must tell you that I have no experience on Android devices whatsoever but I am a Linux enthusiast and therefore thought about checking the network configuration files in `/etc`, I downloaded a terminal and then another but I couldn't go anywhere: almost all commands are unusable. I understood that Android did some kind of restriction on the file system, even reading files is a hassle. `ip` and `netstat` yielded errors.

I decided to unlock the "developer options", connect my phone to the PC, and try to navigate it from there. Unfortunately, I couldn't find the root folder / all I could find was 'Internal Storage' with its DCIM, Documents... subfolders.

I read that through some apps, the default gateway can be obtained. I think though that if apps can do it I should be able to do it as well, or at least understand how.

I thank you for your time and understanding, any explanation concerning any matter I exposed above is appreciated, even if not directly answering my question, I am keen to learn and expand my knowledge.

# Answer
> 1 votes
You'll probably find this easier if you turn on USB debugging and work in the ADB shell from a computer. I came to Android from Linux, and find this a more familiar environment than termux.

However, the ADB shell environment is not normal Linux, although it is Linux-like. The shell is different (mksh), the command-line tools are provided by toybox, and the filesystem layout is very different. You can run `netstat` and `ip`, though.

# Answer
> 0 votes
I use a 3rd party app called FING to do a network scan and then I usually find the router/access point IP.

Alternatively (but this doesn't always show up):

Settings -\> Connections -\> Wi-Fi -\> find the network you want and click the Gears button to the right of it. Now there may be a button that shows up called **Manage Router**

If it shows up, you can click on it and it will open a webpage to the IP address (management page) of your router (default gateway in most home-routers)

---
Tags: networking, gateway
---


# Question
Title: What happens if I plug in a single-male two-female USB connector and I try to connect a peripheral while charging?
I have an Android tablet and an external device that gets plugged into its microUSB port. This device is powered by the tablet through that port.

If I plug in a cable that has a single male and two female ports as shown below, would I be able to plug in an external power supply (5V, 2A) to both charge the tablet and power the external device at the same time?

# Answer
From looking further into the contents of this post, yes, that is technically possible, but likely has to be done as a DIY solution given it requires:

1. the tablet itself to have the correct hardware
2. following the standards of something called an "Accessory Charger Adaptor" (ACA) which is not commonly available as something that can be easily purchased. \**.

\***For example I found just one product that's the closest match to what I'm looking for.*

---

Looking into the "*BC1.2\_without errata 2010-12-7*" document of the "Battery Charging v1.2 Spec and Adopters Agreement", it tells us the ACA can have three ID resistances, one of which allows connection while charging ("RID\_C" of somewhere between 36 and 37 k-ohms).

If that resistance is pulled up to the VBUS power line, and if there exists an ID comparator connected to the ID pin on the tablet side, then that would be one of the minimum requirements for it to work.
> 1 votes

---
Tags: usb, charging, usb-peripherals
---


# Question
Title: Screen lock password forgotten on Autel MaxiCheck MX808
I have an Android device as following:

* Manufacturer: Autel
* Model: MaxiCheck MX808 Automotive scanner tablet
* Firmware Version: 1.0

I forgot the screen lock password.

I communicated with Autel Tech Support on http://www.autel.com/ and they sent me a flash file and steps on how to flash, but I did not succeed. While I started ADB.exe, I got "Error unauthorized device".

So please assist in resolving the issue.

Ok steps I got from the support as follows MK Format Device Compulsively

#### Set up Computer Circumstances

1. Install RK driver - Open the folder `RK_DriverAssitant`, run Driverintall.exe, following the on-screen prompts to install the driver.
2. Install Google-USB driver Some computers may need to install this driver. Open the folder `Google-USB_driver`; If your computer OS is 32-bit, run `DPInst32.exe` and if your computer OS is 64-bit, run `DPInst64.exe`. If you have already installed this driver before, please go directly to next step.

#### Reflash the Device

Attention：This procedure will format your device and will delete the data on your device.

3. Run Reflashing ToolOpen the folder `AndroidTool_Release_v2.1`, run `AndroidTool.exe`, the reflashing window will be displayed as shown in the figure below.
4. Turn Your Device into Reflashing Mode Connect your device to computer with USB cable and wait until the computer recognizes the device. You can check the connection status via Device Manager on your computer. As it is shown in the red mark on the figure below, the device was already recognized by the computer.
5. Ready to reflash: Double click on the script named `reboot to loader.bat`

With best regards

# Answer
> 0 votes
Seems like adb is only used to reboot the device into "reflashing mode". Most likely this mode is bootloader mode. Usually you can get into bootloader mode by holding the volume down hardware key while booting. But I guess, that that Autel device has no volume hardware keys, right?

May be Autel expects the device to be not locked, so you can accept the adb unauthorized dialog.

An alternative way would be that Autel provides the files `adbkey` and `adbkey.pub`. You can try to examine the provided installers if they contain such files. If they exist then Autel has some pre-installed authorized adb keys on the device. Then you only have to copy them into the `.android` directory in the user home folder `C:\Users\%username%\.android`

---
Tags: lock-screens, password, locked-out
---


# Question
Title: Is there any way to disable these suggestions in Google Keep?
On my Android, Google Keep suggesting some items on checklists.

On my web browser for PC, I was able to disable these with a Ublock filter. However, on the Android app obviously, that won't work.

Is there any way to disable these suggestions in Google Keep?

# Answer
According to Google Support - Don't Suggest Shopping List Items,

> There is no native method to prevent Google Keep from suggesting shopping list items. \[...\]. In order to solve my problem, I had to work around it. Here are my steps for Android 13:
>
> 1. Go to Google Assistant settings.
> 2. Go to Notes & Lists
> 3. Go to "Select your notes & lists provider."
> 4. From the app selection, choose an app that is not currently installed on your phone.
>
> Now that Keep is no longer your phone's notes and lists provider, checklists behave as checklists - only.
> 1 votes

---
Tags: google-keep
---


# Question
Title: How is the resolution of round watches calculated?
I'm seeing these Android Wear round watches with specs of like 320x320 resolution.

What does that resolution mean on a circular screen?

# Answer
Apparently the same as square watches, but you can only see about 78.54% of the screen as the corners are cut off.

Square area = width * width

Circle area = PI * 0.5width * 0.5width

Whatever width you use the circle area always ends up being 78.54% (rounded number) of the square area.
> 1 votes

---
Tags: android-wear
---


# Question
Title: Unable to access High-Power USB device connected via USB OTG
I have a Samsung A52 \[SM-A525F/DS\] phone, a USB A to type C OTG cable. I wanted to connect my Audio Interface to the phone via the OTG. Audio Interface has 2 USB port, 1 for power and the other for data transfer. The Audio Interface powered from separate power supply. The problem is whenever i tried to connect it to the phone using the OTG cable, my phone always show 2 messages:

The first messages are:

1. Android System

**Charging connected device via USB**

Tap for other options.

The second messages are:

2. Android System

**High-power USB device connected**

Unable to access this device. Connected device needs external power supply

What have I done wrong here? Is there anything I missed in this step?

# Answer
You have to believe what the Android is telling you. The Audio device is trying to suck too much power. I can see two options

1. Either you have connected the power cable from the Audio to the Phone
2. The Audio device is not separating the power received on one plug from the other.
    * If this is the case, it could damage your phone.
    * Try using a USB hub to isolate the Audio device
> 0 votes

---
Tags: usb, usb-on-the-go
---


# Question
Title: Screen capture on Android using Android SDK
I am trying to take a screen capture of my android phone when it plays a video, with native resolution and minimum overhead. But when I use Android Studio's record option as seen below, the recorded video shows frame drops compared to the actual video seen on the device. I guess it's because device is already at high-performance and can't keep up with this request especially that Android Studio is also showing the video here.

Is there a way to do any better? Can we do it directly with Android SDK through CLI maybe that way there will be less overhead and we'll get a better video recording? Or alternatively, any apps could do it?

# Answer
> 1 votes
As always what you trying to record does depend on what hardware you using and what app(s) you are running on the device at the same time (i.e. play a video). So trying to capture a 1:1 video of the screen in 30/60+ fps may not be possible.

**A.** Using only `adb` you can follow How to do screen record on android without apps? which while an older answer the Android Developer `adb` page link is still valid.

**B.** Similar to Android Studio's screen recording but with more features is scrcpy which is more general screen projection/control tool

**C.** If you have a device with Android 11 and up you may be able to record directly on the device via a Quick Settings Tile as documented: https://support.google.com/android/answer/9075928

> **Record your phone screen**
>
> 1. Swipe down from the top of your screen.
> 2. Tap Screen record .
>
> * You might need to swipe right to find it.
> * If it's not there, tap Edit and drag Screen record to your Quick Settings.
>
> 3. Choose what you want to record and tap Start. The recording begins after the countdown.
>
> * You can choose whether to record audio and show touches on the screen before you start.
>
> 4. To stop recording, swipe down from the top of the screen and tap the Screen recorder notification

---
Tags: video, android-studio
---


# Question
Title: How can I import a VCARD file (contact information) via a QR code into Android contacts?
I would like to generate a QR code for my contact information to put on a website or my phone to show people. They should be able to scan it and import it automatically to their phone contacts. All I have found on the internet were solutions converting a VCARD text into a QR code. QR code scanners parse it as a text (scan works) but they are not able to parse it as contact information and pass it on the contacts app to be imported. I wonder how to manage this.

```
BEGIN:VCARD
VERSION:2.1
N;CHARSET=utf-8:Doe;John;;;
FN;CHARSET=utf-8:John Doe
ORG;CHARSET=utf-8:Dunder Mifflin
TITLE;CHARSET=utf-8:Manager
URL;WORK:dunder.com
EMAIL;WORK:john@dunder.com
TEL;CELL:+15551122334
ADR;WORK;CHARSET=utf-8:;;;Scranton;;;USA
END:VCARD

```

Edit: hosting the VCF file with the correct mime type let's you download the file and import it. But this is unnecessarily cumbersome. I think that a direct import from the QR code should be possible.

# Answer
*Just as a clarification for the other answers:*

This will depend on the app you use to scan the code - that app must support the VCARD format.

On recent Android versions (since Android 8, I believe) the standard camera app supplied by Google or the manufacturer usually supports QR codes, and also supports the VCARD format - so if you use stock Android, the camera app should work.

If your camera app does not support VCARD QR codes (for example the app in some versions of LineageOS), you can use a dedicated code scanning app which does. Some examples:

* QR Scanner (PFA), available in Google Play and also on F-Droid
* Barcode Scanner, available on F-Droid
> 4 votes

# Answer
On recent Android versions the camera app has a built-in QR code reader. If you point the camera on the QR code a small text containing the contact name `John Doe` \- as shown in the screenshot (from a Pixel4a running Android 13).

If the user taps on the name a dialog opens that asks what to do with the contact, e.g. adding it to the default address book (Google Contacts).
> 3 votes

# Answer
I have by chance stumbled upon this app on F-Droid, which can import it. https://f-droid.org/en/packages/com.secuso.privacyFriendlyCodeScanner/

It appears that the Vcard and the QR code were fine but LineageOS integrated scanner and another app I tried were not able to recognize a VCard.
> 2 votes

---
Tags: contacts, qr-code, vcard
---


title: Rear camera not working

text:
# Question
Title: Rear camera not working
My phone is an HTC Desire 816G dual sim and it's not rooted. My rear camera doesn't work. I dropped my phone on the carpet. Since then, it stopped working. Whenever I open any camera app, it shows the front camera and doesn't have the option to switch the camera to the rear. Even the flashlight app won't work.

Tried another camera app, tried to clear the cache, and rebooted the phone several times, but no luck. I read in some posts that the issue is with hardware and even resetting the phone won't work.

Is there any other solution?

# Answer
It's quite obvious now that you should go consult repairs. Quite possibly it's only the camera module connector that broke loose, so a quick disassembly might just do the job.
> 1 votes

# Answer
I had a similar problem, and after a month-long research, I now realize it was my secondary camera's cable that was disconnected. But now I am able to use the flashlight function normally when I have determined that my damaged secondary camera is the root cause of my inability to turn on the camera. And this was when this problem first started, the flashlight would not turn on. Thank you for providing a similar experience, which helps me determine the probability of the cause of the problem.
> 0 votes

---
Tags: camera
---


# Question
Title: What vCard formats/versions and encodings are supported for import?
I have tried to import vCard files using default Contacts app in Samsung Galaxy S6 (details here), but I am not sure about format required (vCard version supported) and Encoding to be used.

I have used `Windows-1250` encoding and it worked but all the special characters were imported as `?`. When using `UTF-8` it failed to import completely. What is the recommended character encoding and recommended vCard format/version?

Currently my vCard file looks like this with Windows-1250 encoding:

```
BEGIN:VCARD
VERSION:3.0
NAME:XXXX Günzel
N:Günzel;XXXXX;;;
TEL;CELL:+XXXXXXXXX
END:VCARD

```

# Answer
That's not really an Android question, but assuming you were asking "how can I import this vCard file correctly into my Android address book": Some adjustments might be required to the vCard file. I found a specification summary in this Github issue comment:

> 1. vCard 2.1 is US-ASCII by default. Individual properties can be overridden with the `CHARSET=` parameter.
> 2. vCard 3.0 *requires* the mimetype to include a character set, e.g. `Content-Type: text/vcard; charset=ISO-8859-1`.
> 3. vCard 4.0 is *always* UTF-8.

Giving an example for 1., taken from this article:

```
BEGIN:VCARD
FN;CHARSET=UTF-8:Mr. Dr. John Maurice Benjamin Doe Ph.D.\, J.D.
N;CHARSET=UTF-8:Doe;John;Maurice,Benjamin;Mr.,Dr.;Ph.D.,J.D.
END:VCARD

```

Further readings include RFC 6350 :)
> 9 votes

# Answer
As an additional information based on comments, **most Android only supports vCard 2.1 as of Android 12, while vCard 3.0 might be supported by some, but no support for vCard 4.0**.

Dan wrote:

> As of Android N / Nougat / 7.0, the AOSP Contacts app can *only* import vCard **2.1** (which is also the format it exports). Any deviation from the vCard 2.1 format, including just changing the version identifier, will cause it to fail to import. - source
>
> \[...\]. I'm unsure if it's device- or ROM-specific and I can't find any particular source code to demonstrate it. \[...\] - source

DJCrashdummy wrote:

> sadly i have to confirm that shockingly still only vCard 2.1 is exported and only vCard 2.1 and 3.0 can be imported. - still **no support for vCard 4.0**! - source

Suncatcher wrote:

> \[...\] the situation hasn't changed since 2018 to 2022 unfortunately. Am writing this from Android 12 and it is still vCard 2.1 :( - source
> 0 votes

---
Tags: 5.0-lollipop, import, vcard, samsung-galaxy-s-6
---