# Question
Title: What happens to apps with license verification once they’re removed from the Play Store?
I use an app that’s tied to my account, when I open it, it refuses to proceed unless I own it on the google play account I’m logged in currently. Once I’m logged in the correct account though, it doesn’t do those checks repeatedly, I assume it already knows I have a license.

What will happen if the app ever gets removed from the play store though? Will I still be able to access it with my current account?

# Answer
> 1 votes
**Yes, you can access it**

> *What happens if an app is removed from Google Play?*
>
> > The app will no longer be available to download on Google Play. If you have the app installed on your device, you can continue to use the app, however you will not be able to update your app...

> *If an app is removed from Google Play, will the app be removed from my device?*
>
> > No, the app will not be removed from your device. You can continue to use the app...

I assume second clarification refers to Play protect removing/deactivating harmful apps

* From personal experience - I had purchased a scanning app (CamScanner) that is currently banned in my country (India). I use it without any problems (irrespective of Google Play Protect being enabled or disabled). Of course, I can't update the app from Play store.

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


# Question
Title: How to get the real reasons for an incompatible app/.apk?
Play Store tells me: “Your device isn't compatible with this version.”
Aurora Store tells me: “Download Failed” “App not supported”

1. *Why* do these stores think it is not supported?
2. If I get the .apk package file otherwise, how can I see the list of requirements (including minimum required API level)?

<sub>(Btw, the app (de.tafmobile.mobility.leipzigmove) which raised these questions and took me hours to install runs just fine.)</sub>

# Answer
> 15 votes
Some reasons why an app is incompatible can be seen from `AndroidManifest.xml`, others only exists in the \[Play\] Store configuration (such as limitations to a country, a carrier or if the app developer has just white-listed certain devices for whatever reason).

# AndroidManifest.xml

### Minimum/maximum Android version

Back to `AndroidManifest.xml`. If you decode it using a tool like apktool or Jadx-GUI you should first check the entry `minSdkVersion`:

```
<uses-sdk android:minSdkVersion="30" android:targetSdkVersion="33"/>

```

In this example the app is restricted to Android 11 and newer. Theoretically there can also be a `maxSdkversion` entry but apps that have such an entry are very very rare.

### Hardware features

The next restrictions can come from `uses-feature` entries that are marked as `android:required="true"`:

```
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

```

There can be multiple entries for different hardware features like Bluetooth, camera and so on. If you encounter an entry that has `android:required="false"` the this is an optional hardware requirement, thus it should not matter if your device supports it or not. You can get the list of supported features of your phone using the command `adb shell pm list features`.

### Required shared libraries

The next relevant entries are the `uses-libraries`:

```
<uses-library android:name="org.apache.http.legacy" android:required="true"/>

```

Again like for the hardware features these entries define software libraries your phone has to support. You can get the list of supported shared libraries using the command `adb shell pm list libraries`.

Even if this is a software requirement it is not possible on un-rooted devices to install a missing library. On rooted devices it is theoretically possible to add a missing library but often those libraries require certain hardware features or other (manufacturer specific) libraries, so adding them is usually not possible.

# CPU architecture

Another very important restriction is which CPU architectures are supported by an APK. At the moment there are four relevant CPU architectures:

* `armeabi-v7a` alias `armeabi` (ARM 32 bit)
* `arm64-v8a` (ARM 64 bit)
* `x86`
* `x86_64`

x86 and x86\_64 are only relevant for emulators, physical devices with one of these architectures were not released in the last 10 years. You can check which architecture is supported by an APK by checking the `libs` folder. If this folder does not exist or has no subfolder, then there is no architecture restriction. For newer split APK you have a separate APK file with the architecture in it's file-name. In such a case the base APK files (where the classes\*.dex are stored in has no libs folder).

You can check the supported CPU architectures of your phone using the command `adb shell getprop ro.product.cpu.abilist`.

---
Tags: google-play-store, apk, hardware-requirements
---


# Question
Title: Can I use Google Maps Drive mode without entering a destination and still have it control texts and music?
I have a Pixel 4XL on Android 12. I would like to get in my car and have one app that controls my hands-free texting and music like Android Auto used to. Google Maps navigation mode has the ability to do this, but only when I enter a destination. With a destination, it is great. Exactly what I need. But unless I enter my destination every single time, it doesn't work safely.

I am aware that I can put a widget that enters drive/navigation mode when pressed and have added that widget. However, it still requires me to enter a destination before it will control text and music. If I simply leave it w/o a destination there is text control but no music control.

Is there a way for Maps-Driving mode to show me my map, have the music control at the bottom, and control texting without having to enter a destination every single time?

# Answer
This works fine for me in Waze

See Screen below

* The destination is not required.
* It uses Google Assistant, so you can use it to call, send sms or speak your destination.
* You can link in one audio player, its available through the note symbol
* The map is updatable by the community, so is current
* So are traffic conditions such as potholes, accidents, cops.
> 0 votes

---
Tags: sms, google-maps, music-player, hands-free
---


title: Playing 2 videos simultaneously

text:
# Question
Title: Playing 2 videos simultaneously
Is there any way to play 2 videos simultaneously (YouTube and browser video)? I am aware of the split screen feature, but when 1 video plays, the other stops.

# Answer
> 0 votes
**TLDR: It depends on the app developer and if you are running supported hardware**

---

So Android devices with Google Play Services didn't require the ability to identify if the device could play multiple video streams at the same time until quite recently.

While you may be able to find some high-end/flagship devices which can play multiple video streams, developers had no guarantees about device performance for supported media.

Starting with Android 11, Google added a MEDIA\_PERFORMANCE\_CLASS which can inform developers that they can do such things without a poor user experience.

Android devices with Google Play Services are required to comply with the Compatibility Definition Document (CDD) for the version of Android they are released with.

From the Android 11 Compatibility Definition Document

> **2.2.7.1. Media**
>
> If Handheld device implementations return `android.os.Build.VERSION_CODES.R` for `android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS`, then they:
>
> * \[5.1/H-1-2\] MUST support 6 instances of hardware video decoder sessions (AVC or HEVC) in any codec combination running concurrently at 720p resolution@30 fps.

Additionally each new version of Android updates the requirements in the CDD

From the Android 12 CDD:

> **2.2.7.1 Media**
>
> If Handheld device implementations return `android.os.Build.VERSION_CODES.S` for `android.os.Build.VERSION.MEDIA_PERFORMANCE_CLASS`, then they:
>
> * \[5.1/H-1-4\] MUST support 6 instances of hardware video encoder sessions (AVC, HEVC, VP9\* or later) in any codec combination running concurrently at 720p resolution@30fps. \*Only 2 instances are required if VP9 codec is present.

From the Android 13 CDD:

> **2.2.7.1 Media**
>
> If Handheld device implementations return `android.os.Build.VERSION_CODES.S` for `android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS`, then they:
>
> * MUST meet the media requirements listed in android 12 CDD section 2.2.7.1.
>
> ...
>
> * \[5.1/H-1-2\] MUST support 6 instances of hardware video decoder sessions (AVC, HEVC, VP9, AV1 or later) in any codec combination running concurrently at 1080p resolution@30 fps.
>
> ...

The Android 13 CDD has even more performance detail if the manufacturer is going to support `MEDIA_PERFORMANCE_CLASS`. As you can see with each version Google is trying provide more information/guidance to developers about the device capabilities.

---
Tags: applications, video, youtube
---


# Question
Title: How can I configure BlueStacks to have Android use dark mode?
How can I configure BlueStacks to have Android use dark mode?

On Android 10 I can use:

but I can't see the option on Android on BlueStacks:

# Answer
> 3 votes
The simple answer is you can't.

BlueStacks 4.2 bases on Android Nougat - also known as Android 7.x and therefore there is no Dark Mode.

# Answer
> 0 votes
I know it's not the best solution, but if you are on Windows 7 or 10 (the script was only tested out on those, perhaps it works with other Windows versions newer than 7), by using this autohotkey script, written by teadrinker and other contributors, you will be able to draw multiple inverted color rectangles on the screen (as seen with the 1 and 2 regions in the 2 images below):

```
/*
This script works on Windows 10 with 64 and 32 bit AHK
and on Windows 7 with 64 bit AHK (but not 32 bit), if DWM is turned on (Aero theme).

Use Shift + LButton hotkey to select a new area on the screen, where colors will be inverted
Use Shift + RButton hotkey to delete the previously selected area
Use F9 hotkey to hide/show selected areas and turn off/on Shift + LButton and Shift + RButton hotkeys
*/

/*
; try uncommenting this block, if the scrit doesn't work with some needed windows

If !RegExMatch(DllCall("GetCommandLine", "Str"), " /restart(?!\S)") {
   If (A_PtrSize = 8)
      RunWait "C:\Program Files\AutoHotkey\AutoHotkeyU64_UIA.exe" /restart "%A_ScriptFullPath%"
   Else If A_IsUnicode
      RunWait "C:\Program Files\AutoHotkey\AutoHotkeyU32_UIA.exe" /restart "%A_ScriptFullPath%"
   Else
      RunWait "C:\Program Files\AutoHotkey\AutoHotkeyA32_UIA.exe" /restart "%A_ScriptFullPath%"
}
*/

#NoEnv
#UseHook
SetWinDelay 0
SetBatchLines -1
toggle := true
DllCall("Dwmapi\DwmIsCompositionEnabled", "UIntP", bool)
if !bool {
   MsgBox, 64, DWM, DWM is turned off, this script will not work. Choose the Aero theme and launch the script again!
   ExitApp
}

F9::
   toggle := !toggle
   Magnifier.ToggleShow()
Return

#If toggle
+LButton::
SelectNewArea() {
   Magnifier.stop := true
   area := SelectedArea.Start(0x82FFC800)
   if !(area.w > 10 && area.h > 10)
      Return
   timer := ObjBindMethod(Magnifier, "CreateMagnifier", area)
   SetTimer, % timer, -10
}

+RButton::
DeleteMagnifierUnderMouse() {
   DllCall("GetCursorPos", "Int64P", POINT)
   for k, gui in Magnifier.GUIs {
      if DllCall("PtInRect", "Ptr", gui.area.pRect, "Int64", POINT) {
         Gui, % gui.hGui . ":Destroy"
         break
      }
   }
}

class SelectedArea
{
   Start(colorARGB) {
      area := {x: 0, y: 0, w: 0, h: 0}
      this.ReplaceSystemCursors("IDC_CROSS")
      this.Select(area, colorARGB)
      this.ReplaceSystemCursors("")
      Return area
   }

   Select(area, colorARGB) {
      this.hGui := this.CreateSelectionGui(colorARGB)
      Hook := new this.WindowsHook(WH_MOUSE_LL := 14, ObjBindMethod(this, "LowLevelMouseProc"))
      KeyWait, LButton
      Hook := ""
      WinGetPos, x, y, w, h
      Gui, Destroy
      for k in area
         area[k] := %k%
   }

   CreateSelectionGui(colorARGB) {
      Gui, New, +hwndhGui +Alwaysontop -Caption +LastFound +ToolWindow +E0x20 -DPIScale
      WinSet, Transparent, % colorARGB >> 24
      Gui, Color, % Format("{:X}", colorARGB & 0xFFFFFF)
      Return hGui
   }

   ReplaceSystemCursors(IDC = "")
   {
      static IMAGE_CURSOR := 2, SPI_SETCURSORS := 0x57
           , SysCursors := { IDC_APPSTARTING: 32650
                           , IDC_ARROW      : 32512
                           , IDC_CROSS      : 32515
                           , IDC_HAND       : 32649
                           , IDC_HELP       : 32651
                           , IDC_IBEAM      : 32513
                           , IDC_NO         : 32648
                           , IDC_SIZEALL    : 32646
                           , IDC_SIZENESW   : 32643
                           , IDC_SIZENWSE   : 32642
                           , IDC_SIZEWE     : 32644
                           , IDC_SIZENS     : 32645
                           , IDC_UPARROW    : 32516
                           , IDC_WAIT       : 32514 }
      if !IDC
         DllCall("SystemParametersInfo", "UInt", SPI_SETCURSORS, "UInt", 0, "UInt", 0, "UInt", 0)
      else {
         hCursor := DllCall("LoadCursor", "Ptr", 0, "UInt", SysCursors[IDC], "Ptr")
         for k, v in SysCursors {
            hCopy := DllCall("CopyImage", "Ptr", hCursor, "UInt", IMAGE_CURSOR, "Int", 0, "Int", 0, "UInt", 0, "Ptr")
            DllCall("SetSystemCursor", "Ptr", hCopy, "UInt", v)
         }
      }
   }

   LowLevelMouseProc(nCode, wParam, lParam) {
      static WM_MOUSEMOVE := 0x200, WM_LBUTTONUP := 0x202
           , coords := [], startMouseX, startMouseY, timer
      if !timer
         timer := ObjBindMethod(this, "LowLevelMouseProc", "timer", "", "")
      if (nCode = "timer") {
         while coords[1] {
            point := coords.RemoveAt(1)
            mouseX := point[1], mouseY := point[2]
            x := startMouseX < mouseX ? startMouseX : mouseX
            y := startMouseY < mouseY ? startMouseY : mouseY
            w := Abs(mouseX - startMouseX)
            h := Abs(mouseY - startMouseY)
            try Gui, % this.hGui . ":Show", x%x% y%y% w%w% h%h% NA
         }
      }
      else {
         if (wParam = WM_LBUTTONUP)
            startMouseX := startMouseY := ""
         if (wParam = WM_MOUSEMOVE) {
            mouseX := NumGet(lParam + 0, "Int")
            mouseY := NumGet(lParam + 4, "Int")
            if (startMouseX = "") {
               startMouseX := mouseX
               startMouseY := mouseY
            }
            coords.Push([mouseX, mouseY])
            SetTimer, % timer, -10
         }
         Return DllCall("CallNextHookEx", "Ptr", 0, "Int", nCode, "UInt", wParam, "Ptr", lParam)
      }
   }

   class WindowsHook {
      __New(type, callBack, isGlobal := true) {
         this.BoundCallback := new this.BoundFuncCallback(callBack, 3, "Fast")
         this.hHook := DllCall("SetWindowsHookEx", "Int", type, "Ptr", this.BoundCallback.addr
                                                 , "Ptr", !isGlobal ? 0 : DllCall("GetModuleHandle", "UInt", 0, "Ptr")
                                                 , "UInt", isGlobal ? 0 : DllCall("GetCurrentThreadId"), "Ptr")
      }
      __Delete() {
         DllCall("UnhookWindowsHookEx", "Ptr", this.hHook)
         this.BoundCallback := ""
      }

      class BoundFuncCallback
      {
         __New(BoundFuncObj, paramCount, options := "") {
            this.pInfo := Object( {BoundObj: BoundFuncObj, paramCount: paramCount} )
            this.addr := RegisterCallback(this.__Class . "._Callback", options, paramCount, this.pInfo)
         }
         __Delete() {
            ObjRelease(this.pInfo)
            DllCall("GlobalFree", "Ptr", this.addr, "Ptr")
         }
         _Callback(Params*) {
            Info := Object(A_EventInfo), Args := []
            Loop % Info.paramCount
               Args.Push( NumGet(Params + A_PtrSize*(A_Index - 2)) )
            Return Info.BoundObj.Call(Args*)
         }
      }
   }
}

class Magnifier
{
   static GUIs := []
   CreateMagnifier(area) {
      static onExitSet := false
      this.show := true
      (!this.onDestroy && this.onDestroy := ObjBindMethod(this, "WM_DESTROY"))
      if !this.GUIs.Count() {
         this.MagInitialize()
         OnMessage(0x0002, this.onDestroy)
      }
      (!onExitSet && OnExit( ObjBindMethod(this, "Clear"), onExitSet := true ))
      Gui := new this.MagGui(area)
      this.GUIs[Gui.hGui] := Gui
      this.stop := false
      this.MainLoop()
   }

   MagInitialize() {
      if !this.hLib := DllCall("LoadLibrary", "str", "Magnification.dll") {
         MsgBox, 16, Error, Failed to load Magnification.dll
         Return
      }
      Return DllCall("Magnification\MagInitialize")
   }

   Clear() {
      if !this.hLib
         Return
      DllCall("Magnification\MagUninitialize")
      DllCall("FreeLibrary", "Ptr", this.hLib)
      this.hLib := ""
      OnMessage(0x0002, this.onDestroy, 0)
   }

   MainLoop() {
      while !this.stop {
         for k, gui in this.GUIs
            this.Update(gui)
      }
   }

   Update(gui) {
      area := gui.area
      params := A_PtrSize = 8 ? ["Ptr", area.pRect] : ["Int", area.x, "Int", area.y, "Int", area.r, "Int", area.b]
      DllCall("Magnification\MagSetWindowSource", "Ptr", gui.hMag, params*)
      if !DllCall("IsWindowVisible", "Ptr", gui.hGui)
         try Gui, % gui.hGui . ":Show", % "NA x" . area.x . " y" . area.y . " w" . area.w . " h" . area.h
   }

   ToggleShow(mode := "toggle") {
      static areas := []
      Switch mode {
         case "toggle":
            this.show := !this.show
            if (this.show && areas.Count()) {
               timer := ObjBindMethod(this, "ToggleShow", "timer")
               SetTimer, % timer, 100
            }
            if !this.show {
               this.stop := true
               Sleep 100
               for k, gui in this.GUIs
                  areas.Push(gui.area)
               this.GUIs := []
               this.Clear()
            }
         case "timer":
            timer := ObjBindMethod(this, "CreateMagnifier", areas.Pop())
            SetTimer, % timer, -10
            if !areas.Count()
               SetTimer,, Delete
      }
   }

   WM_DESTROY() {
      if !this.GUIs.HasKey(A_Gui)
         Return
      this.GUIs.Delete(A_Gui)
      if !this.GUIs.Count() {
         this.stop := true
         this.Clear()
      }
   }

   class MagGui
   {
      __New(area) {
         this.area := area
         area.r := area.x + area.w
         area.b := area.y + area.h
         this.area.SetCapacity("RECT", 16)
         this.area.pRect := this.area.GetAddress("RECT")
         for k, v in ["x", "y", "r", "b"]
            NumPut(area[v], this.area.pRect + 4*(k - 1), "UInt")
         this.CreateGui()
      }

      __Delete() {
         try Gui, % this.hGui . ":Destroy"
      }

      CreateGui() {
         static MS_INVERTCOLORS := 0x0004
              , exStyles := (WS_EX_TRANSPARENT := 0x00000020)
                          | (WS_EX_COMPOSITED  := 0x02000000)
                          | (WS_EX_LAYERED     := 0x00080000)

         area := this.area
         Gui, New, +hwndhGui -Caption -DPIScale +AlwaysOnTop +Owner +E%exStyles%
         Gui, Margin, 0, 0
         Gui, Add, Custom, % "hwndhMag ClassMagnifier +" . MS_INVERTCOLORS . " w" . area.w . " h" . area.h
         this.hGui := hGui, this.hMag := hMag
      }
   }
}

```

Here's a short video of it, but in this instance it was used only one rectangle: https://streamable.com/m6ni9j

Please read the start of the script to see how to use it.

You can further modify the script and make itself turn off / on when certain things show up on the bluestacks android screen, but you'll have to do your own research on how to do that.

Here is the thread where the script was taken from.

---
Tags: bluestacks, dark-mode
---


# Question
Title: How to switch layout (language) of external physical keyboard on ColorOS 12.1?
I have a Bluetooth external keyboard with German layout (QWERTZ) that worked well with my old Huawei P10 Lite phone (Android 8.0). Unfortunately with my current Oppo Android 12 (ColorOS 12.1) phone I have a big problem:

I cannot switch the keyboard layout, that is: Make Android know that the keyboard layout is German. When I press `Shift`+`Space`, then the layout of the *virtual* keyboard displayed changes, but the keys on the external keyboard "still send the wrong character" (e.g.: I press `Z` on the keyoard, but `Y` is entered on the phone).

Did I use the wrong method to change the layout of the external keyboard, or is this some bug?

I see this question is very similar to Bluetooth keyboards is not switching languages properly

# Answer
> 1 votes
After upgrading ColorOS to Android 13 the problem was fixed, meaning: I was able to select the keyboard layout.

So it seems it was a bug in ColorOS.

---
Tags: external-keyboard, localization, android-12, oppo-coloros
---


# Question
Title: Should the layout of Android's "secure keyboard" be localized?
Some application use the "secure keyboard" of my ColorOS 12.1 (Android 12 customized by Oppo). While my device is configured to use German language, the keyboard displayed in such apps uses the English QWERTY layout, and even worse: I'm not offered any diacritical characters when long-pressing a key. That makes it rather useless for German.

So I wonder: *Is this a security feature, or is it a bug?*

# Answer
> 1 votes
In ColorOS 13 and Threema 5.05 this is no longer an issue; maybe it was a software bug (if it wasn't just bad design).

---
Tags: security, keyboard, android-12, oppo-coloros, oppo
---


# Question
Title: Want to change country in Google Play store
This is not duplicate of other questions. I've been struggling with this issue for last 3 weeks and have contacted Google over chat, forums and other avenues too without any luck.

I moved from USA to India and now some of the apps can't be downloaded due to payments profile being in USA with an active Google Domains subscription.

So far I've tried following steps -

* Went to payments.google.com and created another profile with India as country. Now I can see two payment profiles as USA and India.
* Added credit cards etc so that it's a valid one
* Went to Apps \> Play Store and cleared cache and data. Removed my google account and restarted my phone to add Google account again.
* Can't delete my cc info from USA payments profile due to active Google Domains subscription. Tried cancelling it, but it takes me to Domains billing page which again asks me to go back to payments page to cancel. So kind of catch 22 situation here.
* Unless I cancel Google Domains subscription, can't close my USA payments profile.
* Went to Google play to purchase something and it doesn't allow me to buy anything with India card, so other solution to at least reach 'Accept & Buy' stage can't be done.

I'm stuck with USA google play store now and would appreciate any help to change country so as to get to useful apps.

# Answer
> 0 votes
One option to do that is going into your **Google Wallet Setting** and add a new profile for that Country / Region

# Answer
> 0 votes
**You are allowed to change the country of your account once a year. If you have moved permanently, you can change it under Accounts**

* Settings
* See All Settings
* Accounts and Imports
* Other Google Account Settings
* Payments and subscriptions

Method-1

* Manage Payment Methods
* Select a card and change the address
* If there aren't any, just add a new card with the desired address.

Method-2

* Settings
* Edit Name and Address

**If you have not moved permanently**

* Create a new Google account with the desired address
* Add it as an account on your mobile
* When required, just switch the account for the country.

Some apps are more determined and require a VPN to that country as well as an account change. I do this routinely with my multiple accounts and vpn.

# Answer
> -1 votes
Add a new gmail account to your phone. In Google Play app, select the new gmail account using the drop down arrow, then set everything up using your new country address and cards :)

---
Tags: google-play-store, nexus-5, lineageos
---


# Question
Title: Flashing from fastboot successful but always boots up to fastboot
I can flash using Realme tool on my Realme X2 (rmx1992) but even after successful flashes it boots into fastboot no matter what I select to boot in.
I tried fastboot continue, but nothing.

I have messed recovery and vbmeta but all those get re-written after every flash so it doesn't matter right?

Previously I did flash the same rom and twrp successfully (was working okay) so it isn't the roms.
Condition before this happened: I tried flashing twrp and it just stuck in fastboot

Edit: Tried flashing the partitions one by one. Same issue.

# Answer
I found that Realme Flash tool is a poor segway for flashing. It works most of the time at normal soft bricks or for simply flashing an OS.

This github OFP flash tool by Italo Almeida (and bkerler) is a life-saver!
Basically, all it does is simply flashes all the partitions one by one (with some additional logics/tweaks? I don't know)

Many of the images failed to flash (including obm, opporeserve2, etc) But it worked.
Flashing the same image through Realme Flash Tool prompted "flash error cannot find central directory" (i.e. the rom is not compatible with the device (as Google searches suggest)) But here I am with the same rom perfectly working on my device.
Manually flashing recovery, vbmeta, vendor did not help get out of the bootloader and enter recovery

You can also keep a backup of recovery and vbmeta in case you mess up. Or just extract it from the ofp rom and flash. tool by bkerler again.

This helped a lot (however, I didn't have a problem with ab partitions)
ROMs (just in case)

Check my answer here:
Cannot enter bootloader?
> 0 votes

---
Tags: rooting, recovery-mode, twrp, fastboot
---


# Question
Title: Google Voice typing punctuation - how to have it?
I'm trying to use Google's voice typing, but it is not able to punctuate my sentences. No matter I say "point", "dot" or "comma", it always writes it into my text.

Earlier I though this is only because I wanted to use the voice typing in other languages (not English). But now I'm trying to reach this functionality in English.

Is there any hidden tricks to enable the punctuation on Android 11 (Samsung)?

I found someone used the Swype keyboard which is obsolete now (since 2018). So really what are my options?

# Answer
On Android 12 with a Google Pixel 6 and Gboard keyboard:

This works great for me.
> 0 votes

# Answer
> No matter I say "point", "dot" or "comma", it always writes it into my text.

I'm using English (US) and for me the voice input for punctuation works fine. It also works for me in German.

I noticed that you did not have the word "period" -- (aka "full stop" for brits)

These work fine for me:

* Period `.`
* Comma `,`
* Colon `:`
* Semicolon `;`
* Dash `-`

Check the language input settings, and try experimenting with different ways of pronouncing the punctuation.

This "faster / more accurate" setting might help as well:

PS: 99% of this answer was written with voice input.
> 0 votes

---
Tags: voice-recognition
---


# Question
Title: Oneplus 6 (8gb/128gb) SIM & Wifi disappears & phone reboots randomly frequently. What to do?
Oneplus 6 (8gb/128gb) worked perfectly fine from July 2018 to Nov 2022. Now, problems start appearing. There are 2 separate problems - SIM & Wifi disappear & Phone reboot at random frequency. I am not sure whether the problems are linked or not.

Important point -

* Using original DASH charger since day 1, running original Battery (battery health also OK).
* As the problem worsens, time between restarts reduces from 30-40 minutes to 2-3 minutes & sometimes few seconds (sometimes it restarts at Oneplus logo loading screen).
* Phone feels slighlty heated up to the left of Fingerprint sensor

---

Kindly note -

## *I have tried all the troubleshooting steps-network reset, factory reset, OS downgrade etc*

*Nearby repair shop (DOUBTFUL) - Network IC reset, Motherboard repair etc.*

---

## **DETAILED SCENARIO**

In Nov 2022, Phone started randomly losing network - SIMs as well as WiFi - I changed SIM cards it started working correctly. Now after few days, the problem reappeared & frequency increased.

In Dec 2022, Phone started restarting abruptly during normal usage. It is generally coupled with NETWORK LOSS as well.

Now, I performed regular troubleshooting steps as mentioned above to no avail. Then gave phone to a trusted nearby repair shop to only temporary relief. Total 3 visits to repair shop -

1st Visit - He told that Network IC issue was there. New NW IC ₹ 2000/-

*Result*-Worked absolutely correctly for few hours. HAPPY!!! Then same cycle of Network Loss & Random restart & then working fine randomly & then problem again.

2nd Visit - Told that seems like 'Motherboard' problem. Repair/Refurbished MB ₹ 2500/- more

*Result*-Worked absolutely correctly for 48-72 hours. Elated & HAPPY!!! Flashed Lineage OS & thought everything is normal now. And demon came back again - the same cycle of Network Loss & Random restart & then working fine randomly & then problem again.

3rd Visit (April 2023)- Told that there might be some pending issue, I will check thoroughly again for 3 days & use. NO CHARGES.

*Result*-Got phone back after 15 days, worked fine on WiFi till it got discharged to 8-9% & I put it on charge using DASH Charger. The same cycle has again started.

**I am clueless**

When the phone works, it works like a charm - but suddenly, network loss & phone restart keeps happening.

Please help Stackexchange community.

# Answer
Disclaimer: Although this may be an answer to the question "what's gone wrong?" I'll try to offer suggestions for fixes, but they may be difficult.

Based on the heat you're experiencing next to the fingerprint readerwould seem to indicate the PMIC (power management integrated circuit, see Step 8 on the iFixit guide, yellow outline) chip on that side of the motherboard. I was unable to find any wiring diagrams, but it appears from your description that they're interacting with the radio modules, which fail before the device turns off due to a power issue.

While this would take sitting down with a multimeter and circuit diagram to confirm, I think it's fairly safe to say this is a hardware issue.

Potential path to a solution: There have been some communities who have tried to enable ways of PMIC Calibration in Xiaomi Poco phones, but none that I've found doing so for the OnePlus 6.

Potential temporary solution: The only software advice at this moment would be to remain on your stock operating system if that seemed more stable, as custom ROMs have the potential to cause components to operate out of their usual bounds, but this is unlikely to be a full solution if it is truly a hardware issue.

Final solution: if it is such a hardware issue, seeking replacement of this component (or related ones, but there are a lot of power management chips on this board) would be the next step. This could, cost-wise, end up being more expensive to find and fix than getting a new phone, unfortunately.
> 1 votes

---
Tags: wi-fi, reboot, mobile-network, oxygenos, oneplus
---


# Question
Title: How to open certain pages/ sections with OneNote app (not with browser) on android?
I want to have links that open certain OneNote notes. I was told in comments of a former question that we can achieve this like that:

* Open OneNote on Windows, rightclick the note tab and choose "Copy Link of this note"
* This gives two links, of of them beein like this: `onenote:https://d.docs.live.net/...`
* Clicking on this link on an android device should open the same note page with the OneNote app

Unfortunately, this is not the case for me! Here is the screenshot of how a Desktop-generated OneNote-link looks on my android phone:

If I click on it the browser opens, not the app. In fact I am not too surprised because the beginging of the link, i.e. `onenote:`, is apperently not part of the link.

Further, I noticed that under `Settings -> Apps -> Apps -> OneNote -> Opening standards` only the following formats are listed under `supported links`: `*.sharepoint-df.com`, `onenoteresume.page.link`, `*.sharepoint.de` and `*.sharepoint.com`. So the suggested link format `onenote:https://[linktonote]` is not listed here. Can I somehow add it here? And: is the beginging `onenote:` important at all since it is not recognized as part of the link? I don't understand why the link does not open the app for me but does for others.

# Answer
> 2 votes
I finally figured this out how to do this.. Step by step instruction how to create a `.url` file which opens OneNote app on android at the page you want.

* Open OneNote app on windows, go to the section or page you want to have a `.url` for.
* Rightclick on the tab opens menu, choose "Copy link for page"
* Open some text app like Word and paste. You get two links, one stars with `https://onedrive.live.com/...` and the other with `onenote:https://d.docs.live.net/...`. Copy the `onenote:https://d.docs.live.net/...` link.
* Create a new shortcut file by right-click in some folder or on desktop. In the first windows paste the link (including `onenote:...`), click next, then type in some name.
* Clicking on this shortcut should open the correct note page/ section in OneNote app on Windows.
* Share the file with your android device (if your email client forbids sharing `.url` files try uploading the file in a cloud).
* Download the file from cloud to mobile phone (opening from cloud caused error for me).
* Install the app Open Any URL.
* Click on the downloaded `.url` file, choose to open with Open Any URL and it will directly open the linked page with the OneNote app!

If you use a cloud to fodler client like FolderSync, this approach helps you because you can access the same notes by opening the same `.url` file on windows and android.

---
Tags: settings, hyperlinks, microsoft-onenote
---


# Question
Title: Voice Access taking forever to download language update
I am running Android 12 on a Realme 8 5G phone. I am new to Voice Access. I have been following the tutorial to try and set it up, so that I can operate my phone and the user interface that it and its various apps provide entirely via voice. I am trying to download the US English language package from Italy. However, a language update was necessary to use it offline, and, as a result, the Voice Access tutorial stalls, as it takes forever.

Here is a screenshot:

>

# Answer
I had the same problem, then I realised was not updating because wanted to be connected to external Wi-Fi instead of using my mobile data for some reason. Try to connect to a Wi-Fi and see if that works.
> 1 votes

---
Tags: downloading, languages, accessibility, offline
---


# Question
Title: Gmail emails with images get stuck in outbox for 1-2 days
*Android 11; Samsung Galaxy A20; Gmail app (fully updated):*

When I send an email that has an image, the email gets stuck in the Gmail outbox folder (status = Queued) for a day or two before eventually being sent.

Details:

1. This issue started a couple of weeks ago. The Gmail app worked fine before then -- ever since I got the phone years ago. I'm not aware of any changes that were made to my phone/settings that might have caused this issue.
2. The issue happens no matter what the file size is -- not just for large photos. For example, a screenshot of a small area of the screen also has this issue.
3. The network type is a cell data plan, not Wi-Fi. Although switching to Wi-Fi doesn't solve the issue either.
4. I tried resetting the Gmail app by un-updating the app (can't uninstall the app), then re-updating the app. That had no effect. I also cleared the app cache and data.
5. The issue happens regardless of the email recipient.
6. I don't have this problem when sending emails that have no attachments.

---

Why are emails with attachments not being sent right away?

# Answer
> 1 votes
I don't have an answer as to why it's happening. But I did come up with a couple of workarounds:

1. Sometimes works: Refresh the outbox folder in Gmail by using the *drag-down* motion.
2. Always works: Send the email from the Gmail website in a browser instead of using the Gmail app.

---
Tags: gmail, email, attachments
---


# Question
Title: Reformat sdcard on every reboot in MIU13
I have an Android 12 with MIUI 13, Xiaomi Redmin Note 11 pro 5g.

sdcard works flawlessly, configured as an removable/external memory.

I reboot the phone, and it asks me if I want to use it as an internal or external memory (portable). If I choose external, the only option I have is to format it and loose all my data.

This is a lot of overhead: copy old data, reformat it and copy again backup up data.

I already hat to do so when I upgraded from MIUI 12 to 13.

I don't desire to do this every time I reboot the phone.

Any hints to avoid all this fuss?

I've checked with `fsck` that the partition has no problems.

Related info:

**UPDATE**

Finally I've decided to:

* backup all my data
* format the sdcard with the phone
* extract the sdcard
* recopy all the data (a very lengthy process with a 128 Mb card)
* reinsert in the phone

and now it offers me to format it again in order to use it.

```
 sudo fsck.exfat /dev/mmcblk0p1
[sudo] password for david:
exfatprogs version : 1.1.3
failed to get stream dentry. 0
failed to get name dentry. 0
failed to get stream dentry. 0
/dev/mmcblk0p1: checking stopped. directories 405, files 1562
/dev/mmcblk0p1: files corrupted 3, files fixed 0

```

# Answer
I've installed by compiling https://github.com/exfatprogs/exfatprogs version 1.2.0, as it can repair the filesystem.

Then I run in a Linux PC with a card reader:

```
$ sudo /usr/local/sbin/fsck.exfat /dev/mmcblk0p1  -p
exfatprogs version : 1.2.0
...
ERROR: /Android/data/com.sygic.aura/files/maps: unknown entry type 0xc1 at 0000420 at 0x2c80420. Delete (y/N)? y
/dev/mmcblk0p1: clean. directories 414, files 3296
/dev/mmcblk0p1: files corrupted 0, files fixed 3

```

and now the phone accepts the sdcard.

I don't know why so many errors after recopying everything.

Maybe some Android app can do the same, and it will be more confortable to use, but probably it will need root access.
> 2 votes

---
Tags: storage, xiaomi, miui, formatting, reformat
---


# Question
Title: With magisk, how to bypass boot-time password input?
I have an phone with magisk and termux installed, and now functions as a mini server at home. Whenever I need to reboot the phone, I need to manually unlock the phone with GUI to get termux running, so I can not reboot when away from home.

Is there a way to let magisk decrypt the phone programmatically, with password written in some config/script file?

# Answer
> 1 votes
Add a shell script that runs at start-up. It's just a matter of timing.

`/data/adb/service.d/99unlock`

```
#!/system/bin/sh
sleep 30
input keyevent KEYCODE_WAKEUP
sleep 5
input keyevent KEYCODE_SPACE
input text <SIM PIN>
input keyevent KEYCODE_SPACE
sleep 5
input keyevent KEYCODE_SPACE
input text <PASSWORD>

```

Make sure the script is executable:

```
chmod 0700 /data/adb/service.d/99unlock

```

---
Tags: boot, encryption, magisk
---


title: Settings app keeps crashing on Meizu M6

text:
# Question
Title: Settings app keeps crashing on Meizu M6
When I try to open the Setting app on my Meizu M6 (with Flyme 7.1.1.0G), it stays on for like a half a second and then closes.

Usually when this happens to me, what I do is clear the cache or if that won't help, even the data of the application. So basically, Settings is not working, so go to Settings, Apps, Settings, and clear cache. I hope everyone sees the catch here.

I've tried restarting the phone, but the Settings app still crashes. I've noticed that if I am fast enough, I can get into the submenu of the settings, so I've spent 30 minutes training my fingers to open settings, scroll down, and click Apps in less than half a second. I was lucky and managed to get into Apps (which didn't crash), found Settings app and when I tried to clear the cache, Apps crashed and Settings didn't work either.

What can I do? I would love to avoid a factory reset.

# Answer
You can try booting the phone into safe mode and see if the problem persists. If so, then you might have corrupted system files and you'll need to reflash the ROM to fix that.
> 1 votes

# Answer
This may not be the solution for your problem but for others like me coming here from a search, my issue seems to be caused by my work profile.

My workaround:

* Swipe up from the bottom of your home screen (launcher) to open your app drawer.
* Tap on the "Work" tab.
* Tap on the "Turn off work apps" button.

My Settings app stopped crashing when my work profile was temporarily disabled.

I tried freezing one app at a time in my work profile (through Shelter), but it still crashes with all user apps frozen. It might be an issue with the actual profile. I recently enabled a lock screen PIN and fingerprint on my main profile, so that may have messed up something with my work profile. I found someone with a similar problem and he said disabling "Use one lock" in the Android security settings fixed his issue, but that doesn't seem to work for me.
> 0 votes

# Answer
I just have experienced a very similar problem (the Settings app immediately crashes on opening, de-facto making any kind of access to phone settings impossible). Since this is the first hit for such a question on Google, I'll describe my case and the fix here:

The problem in my case was that the Settings app somehow **depends on** the Google app and crashes when the Google app is up-to-date (at the time of writing this). It is certainly the case that my phone's Android version is rather ancient (9) and could be due to some oversight on the manufacturer's side, but this nevertheless is a fairly recent regression and Google will hopefully fix it in the future.

As a **temporary fix**, resetting the Google app to factory via "uninstall" + prohibiting auto-updates for the Google app works.
> 0 votes

---
Tags: settings, crashes, flyme-os, meizu
---


# Question
Title: How to install bundles of additional terminal commands for rooted devices?
I rooted a HTC Wildfire S device recently and flashed an Android 4.1.2 AOKP Jelly Bean Custom ROM. One benefit is that I can use the terminal now.

I'm a little used to using terminal emulators on desktop machines but never did that on an Android device before. I noticed some commands are not found, for example:

```
$ tree
/system/bin/sh: tree: not found

```

Is there a way to add more commands to my device, maybe a bundle of GNU packages for Android available somewhere?

# Answer
Yes that's possible with the `termux` terminal.

> Homepage | Google Play

You can install additional shell commands using `apt`.

```
$ apt update
$ apt upgrade
$ apt install tree

```

Screenshot:

Bonus: Also works on non-rooted devices!
> 2 votes

# Answer
The `tree` command is not installed by default. I don't know how to install it in Android via the terminal, but you could always use the `ls` command. Yes, it doesn't show you a tree format that is easy to understand, but it still does the job.

```
ls -d */

```

Only list the directories in the current directory.

```
ls -ltr

```

List all files by the time they were last modified in reverse order. In other words, the last files listed are the most recently modified files.

Also, install BusyBox to have more Unix commands available. Reference.
> 1 votes

# Answer
```
tree

```

Isn't even installed on *Ubuntu* by default.

That said, you can install BusyBox on non CyanogenMod ROMs that lack common utilites. YMMV, but on most "stock" ROMs seem to lack the utilities. AFAIK Busybox doesn't include tree.

ALWAYS DO A BACKUP FIRST!
> 1 votes

# Answer
You can install packages by first installing termux, then you install the desired package, next you type `cd /data/data/com.termux/files/usr/bin`. Now all you have to do is run these commands

```
su
cp DESIRED_PACKAGE /bin

```

Make sure to enter your desired package name at DESIRED\_PACKAGE. If you're not sure which packages you want to install simply (while in this directory) type `ls`
> 0 votes

---
Tags: root-access, shell, terminal, command-line
---


# Question
Title: Is it possible to temporarily disable the screen timeout?
Often, during updates/downloads or backup operations I would like to **temporarily disable the screen time** ( found under the '*menu - settings - Display - Screen timeout*' ) without having to navigate to the above menu setting .

Anybody knows of a good **widget** which does just that : either disable the screen time ( by just clicking the widget ) , or by setting it to a high value / back to short value ( also by just clicking the widget ).

Or is there any other easy way I have missed ?

I am running Froyo on Samsung Galaxy S.

# Answer
If you are using a profile application to set your volumes in different situations, I guest most of them have the option of changing your screen timeout as well. In my case I'm using Setting Profiles and I can add a new profile that does exactly that in two key press.

In Setting Profiles, there is a widget to set profiles and you can even select a timer with the profiles you set, for instance, to enable the profile "no screen timeout" for the next 5 minutes.
> 6 votes

# Answer
Tasker is a great app for this. It can change the screen timeout value to whatever you need depending on a phone state (there are several from phone orientation to a specific app being active). For instance, I have it set to change the screen timeout value to 23 hours when it is in Navigation mode. You can also define this task in Tasker and create a widget for it.
> 6 votes

# Answer
LineageOS features a preinstalled FOSS app Caffeine (that can also be installed to any other Android), that will present you a way to turn off the timeout for some time or indefinitely with a button on top of your notification shade.
> 1 votes

---
Tags: 2.2-froyo, samsung-galaxy-s, screen-timeout
---


# Question
Title: Notification icon that looks like "C" with a dot in the center on Xiaomi device
I have a Xiaomi device and am confused about this icon ("C" with a dot in the center).

I can't get what application this thing is.

# Answer
> 0 votes
It's the repeated alarm. Just turn it off.

---
Tags: xiaomi, notification-icons
---


# Question
Title: How to install and run Tor with Snowflake client on Termux
Since the internet restrictions in Iran have become more severe as of October 2022, nowadays many Iranians are trying different methods to bypass censorship and connect to Telegram.

For example, using various proxies and VPNs. So I'd like to encourage them to use Tor - one of the most advanced and secure online anonymity tools. But some of those people seem to gripe that `Tor doesn't work in Iran` or that `Tor's connection is extremely slow`, humorously describing its speed as `like a turtle with spinal cord injuries`.

So I was wondering if there is a way to install and use Tor with Snowflake client on Termux, the Linux Terminal Emulator, which is probably a light-weight app and can therefore be used instead of the official Tor Browser and Orbot apps to provide faster performance.

After the installation, I also want to set a proxy in my Telegram so that all the Telegram's traffic will be relayed through the Tor Network. So could you help me do so?

# Answer
> 0 votes
I did a Google search and found this post on Ask Ubuntu site, which discussed how to install and use Tor with Snowflake bridge on **Ubuntu 20.04** (NOT Termux). Based on what I learned from that post, I figured out **a similar solution for Termux**, which worked just fine after I tested it on two Android phones. However, after the installation of Tor and Snowflake on those phones, the Termux app took up a very large amount of the phone's storage space, which might be an issue of my approach. Below you can find **instructions for installation** and **instructions for usage**.

**(Only for Android version 7 or higher)**

# Instructions to install

For the initial installation of Tor and Snowflake client on Termux, it is required that you have a separate VPN and keep it connected while performing **Steps 1 through 4**. After accomplishing **Step 4**, you no longer need that VPN, so you can disconnect it and/or even uninstall it from your device. Follow the instructions below:

1. First, download and install the latest version of Termux app from FDroid website. You do not need to download the **F-Droid app** (via the **Download F-Droid** link) to install Termux. You can download the Termux APK directly from the site by clicking the **Download APK** link at the bottom of each version section.
2. Open Termux and execute the following commands to install the packages required for Tor and Snowflake client.

```
pkg upgrade
pkg install tor golang git nano -y

```
3. Then execute the following command to download Snowflake source code.

```
git clone https://git.torproject.org/pluggable-transports/snowflake.git

```
4. Next, compile that source code by executing the below commands one-by-one.

```
cd snowflake/client
go get
go build
cd $HOME

```
5. Now it's time to configure Tor to use Snowflake bridge for connection. To do so, open the Tor's configuration file (known as `torrc`) in the Nano editor, by executing the following.

```
nano $PREFIX/etc/tor/torrc

```
6. Then in the Nano editor, scroll down to the end of the file, and append the three lines of code below.

```
UseBridges 1
ClientTransportPlugin snowflake exec /data/data/com.termux/files/home/snowflake/client/client
Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://snowflake-broker.torproject.net.global.prod.fastly.net/ front=cdn.sstatic.net ice=stun:stun.l.google.com:19302,stun:stun.altar.com.pl:3478,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.sonetel.net:3478,stun:stun.stunprotocol.org:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn

```
7. Then you must save the changes you made to the file, by pressing `CTRL+O`. Then you will be asked to specify a file name; don't type anything and just press `Enter`, so that the file name will remain the current one (`torrc`).
8. Close the Nano editor by pressing `CTRL+X`.
9. Close Termux by pressing `CTRL+D`, and open Telegram app.
10. In Telegram, go to Proxy Settings, then add a **SOCKS5 proxy** with the following information:
**Server:** `127.0.0.1`
**Port:** `9050`
**Username:** `admin`
**Password:** `admin`

During the installation, if you haven't received any error messages so far, it means Tor installation on Termux has been successfully completed.

# Instructions to use

After successful Tor installation, whenever desired, you can enable Tor and then easily connect to Telegram. To enable Tor, simply open Termux and execute `tor`. Then Tor will start establishing a connection to the Tor Network, and display some logs indicating the progress. So you must wait until the progress reaches 100%, i.e. you get the following message in the logs:

```
[NOTICE] Bootstrapped 100% (done): Done

```

Finally, you can open Telegram and let it connect through the Tor proxy.

**Please note that after you finished using Telegram, it is highly recommended that you disable Tor and exit Termux, otherwise Termux would unnecessarily consume your battery power in the background.**

Disabling Tor is really simple: just go to Termux and press `CTRL+C`; upon success, you'll get the following message.

```
Interrupt: exiting cleanly.

```

Next, exit Termux by pressing `CTRL+D`.

---
Tags: termux, proxy, telegram, tor
---


title: Bluetooth keyboard keys are swapped

text:
# Question
Title: Bluetooth keyboard keys are swapped
I have a Samsung tablet and bought a cover with a Bluetooth keyboard. The problem I have is that the `@` key and the `"` key are swapped around.

How do I resolve this?

# Answer
> 2 votes
This can be due to a number of reasons:

1. You have a layout conflict between the OS and the Bluetooth keyboard, as pointed out by the previous answerer. Resolve this by going into the "Physical Keyboard Settings" option in the settings of whatever 3rd-party keyboard app you may have as default, or if you use the inbuilt soft keyboard, go into Settings -\> Language and Input -\> Keyboard app Settings button -\> Input Layouts.
2. Same as above, but in this case the problem is due to a region setting in your phone which conflicts with the layout of the keyboard. Fix this by checking if the region setting on your tablet is incorrect for the keyboard layout, and correct as necessary.

# Answer
> 1 votes
I think this is the problem of the layout of the keyboard. Make sure that the layouts of keyboard on your OS and the Bluetooth keyboard consistent.

# Answer
> 0 votes
I have Samsung Tab S7+ and my keys would change all the time. I knew it happened when I would use the `shift` key so I tried a bunch of combos. It ended up being `shift` \+ `space bar`. It makes sense it would happen often since I use these all the time.

I was using a Logitech K360 keyboard.

---
Tags: bluetooth, external-keyboard
---


title: How do I logout from Youtube?

text:
# Question
Title: How do I logout from Youtube?
I have multiple Google accounts on my Android 10 (Samsung Galaxy M10s). Until today, I was using YouTube without signing in. Today I signed into YouTube with one Google account. Now I want to sign out from YouTube app but I don't find any such option.

I searched on internet and found Google Support Page which suggests to remove account from device in order to sign-out from YouYube app.

What I did:

Opened YouTube, go to manage accounts, removed the account from device, through which I have signed in YouTube; Then cleared the YouTube application data also.

But what I found is YouTube just auto signed in with my another Google account.

How do I sign out from YouTube?

# Answer
Yes, the logout option is not available but after clearing the app data, the logout option becomes available.

Before clearing app data:

After clearing app data:

So, the solution that worked for me is: **Clear the app data to make the Logout option available.**
> 0 votes

# Answer
Use your browser to get onto Youtube. Log in, using the account you want to have logged out.

Then use the 3 dot menu to sign out.

Now clear the data in your Youtube app.

(I also think that you can sign out with the settings in the Youtube app, but I can't say how as I don't use the app.)
> 0 votes

# Answer
I managed to sign out from the Youtube app by downgrading it to a lower version via adb (I used 14.39.55), signing out and reinstalling the newest version.

1. Force stop the Youtube app if already running
2. Clean its internal data and cache
3. Download the older Youtube app on your PC. Source: https://www.apkmirror.com/apk/google-inc/youtube/youtube-14-39-55-release/youtube-14-39-55-android-apk-download/
4. Connect your phone to the PC, activate developer mode and enable USB debugging. Check if adb sees the phone by typing `adb devices`
5. Install the apk via the command `adb install -d 'com.google.android.youtube_14.39.55-1439552000_minAPI19(arm64-v8a)(nodpi)_apkmirror.com.apk'`
6. Open the Youtube app. It won't be able to connect to the server, but you should be able to click on your account logo on the top right and see the “Sign out” button. Click it.
7. Re-update the Youtube app to the current version. You should now be logged out.
> 0 votes

---
Tags: google-account, youtube, android-10
---


# Question
Title: I cannot sync time with Microsoft Authentication app
I can not log in with 2FA from Microsoft Authenticator. Although the time is correct on my Android phone, when I use the authenticator app, I can not log in to my sites. It displays the wrong code. How to fix this?

I tried to set my phone date/time to automatic but the problem remains.

I googled and find on the search there is an option to sync time inside Microsoft Authenticator, but I can not find this option in the settings menu.

# Answer
Microsoft removed that option from the Authenticator app with an update nearly 5 years ago. Using a local time should work without any issue. If your phone time is synced with the internet, the app will work correctly.

> * Microsoft Authenticator, wrong code issue, comes up if you have both 2FA and authenticator app enabled for an account.
> * **You must delete all the accounts added to the app and re-add them to fix this.**

Read this for more.

---

*If they still don't work:*

1. Check if you have an authenticator working on any other device, compare the time.
2. Try setting the time to the time zone you used to use earlier.
3. Or as always, clear cache, app data/reinstall, and reboot. Try again.
> 1 votes

---
Tags: authentication, 2fa, microsoft-authenticator
---


# Question
Title: Phone won't stay off when charging Motorola Edge Plus on Android 10 and above
After getting a replacement phone from Verizon, the new Motorola Edge Plus will not stay powered off while charging, as the last one did.

After looking on the forums, I enabled developer options, but "stay awake" was not enabled.

The problem persists with 5 and 15W chargers, as well as Qi charging.

It turns on when plugged in if it was previously off, and restarts automatically if I turn it off while it is already plugged in.

To be clear, all I want to do is be able to turn the phone off and see its charging progress without turning the whole phone on.

Any help or recommendations would be greatly appreciated.

# Answer
> 1 votes
I WAS WRONG!

I NEVER would have thought this was the cause, but I was wrong and I thought you deserved an update. I cannot explain why so many people were confirming that their phones would refuse to stay off... but I guess that was all just one giant red herring.

I was having trouble getting my USB-C cable to charge my phone, I would have to keep it at an odd angle in order for it to charge. I got tired of this, so I decided to clean out the USB port. I shut off my phone, grabbed a sewing needle, and then removed all the pocket lint that had collected in the USB-C port on my phone. After that, I plugged it in to charge and... it didn't turn on. Before today, it would power on the instant I plugged it in. Now, it stays off! I cannot tell you how much I HATE being wrong, but I also didn't want to leave you with an incorrect answer.

In fact... now that I think of it, all of the Android phones that people are "confirming" will automatically turn back on, they all have USB-C. At the risk of being wrong again, I wonder if it's a combination of some people just having dirty USB ports and some phones genuinely having that feature.

I apologize for misleading you. All of the data I painstakingly collected is now suspect. I am 100% certain that at least some modern phones have this "feature" but it is clear to me that I was completely wrong in my assertion that this was a new feature being pushed by Google... IT seemed obvious based on everything I was reading...

At least this explains why I couldn't find any official documentation on it...

PS:

I doubt your charging port is dirty since it is a new phone, but it is worth trying a different cable, a different charger, and if all else fails, cleaning the port anyway. Please downvote my previous answer so I do not accidentally mislead anyone. I will post a comment under that answer saying I was wrong, that way I don't confuse future readers

# Answer
> 1 votes
I thought I was going crazy. I shut my phone off while the charger is plugged in. And an hour later the phone turns on automatically! Waking me up out of a dead sleep because I'm hearing "Hello Moto!" I was able to charge my phone overnight without it having to be turned on before. I don't like this feature. If I understand this correctly, I need to shut the phone off completely and then I can plug in my charger. To allow the phone to stay off while charging.

# Answer
> 0 votes
You can not do this any more. All modern phones running the latest version of Android will automatically turn on if they detect power input, this is a safety feature that (as far as I am aware) you can not disable. If you would like to have your phone stay powered off while charging, you must downgrade to an earlier version of Android.

I wasn't happy when I discovered it as well, and I searched for days to find a straight answer, which is surprisingly difficult to find. This answer is based on dozens of posts on multiple sites and hours of scrolling through community responses to similar questions. My phone is a Pixel 3 XL, but it doesn't seem to matter what model, it seems to be the same across all of the latest makes and models of phones that run the latest Android. This "feature" seems to have been implemented in 2018 for Nexus and Pixel phones, although it is difficult to pinpoint when exactly. From then on, it began to pop up in other manufacturer's devices as well, so I'm guessing this is an industry standard now. I also found that most Apple devices do this as well, from seemingly the iPhone 5 onward, though I'm not as sure about that since I wasn't specifically looking up Apple phones.

I hope this helps, and secretly I hope I'm wrong and there is some secret hidden menu somewhere that will disable this function.

Cheers.

****EDIT****

New undisputable evidence has proven me 100% wrong. 3 days of research only to come to the wrong conclusion. Any future readers, please disregard this answer, as it is wrong. Some of the things I said are still probably true, some phones definitely have this "feature" if you can call it that, but it is NOT a new industry standard being pushed by Google. In my case, it ended up being a dirty charging port.

---
Tags: charging, motorola, power-on
---


# Question
Title: Mount a MicroSD to all namespaces on Android 11
I'm trying to mount a MicroSD. As I understand it, this should be done in the global namespace. Root - Magisk.

I tried:

* `su --mm -c mount -t sdfat /dev/block/mmcblk0p1 /storage/0123-4567`
* `nsenter -t 1 -m mount -t sdfat /dev/block/mmcblk0p1 /storage/0123-4567`

As a result, the root namespace is mounted, but nothing is mounted in other applications. How to mount to all namespaces?

# Answer
> 0 votes
I found how to do it. In my case, it was necessary to go into the mount namespace of the systems process at number 104.

```
nsenter -t 104 -m mount -t sdfat /dev/block/mmcblk0p1 /storage/0123-4567

```

---
Tags: file-system, linux, mount, magisk, systemless-root
---


title: Trouble killing logcat process

text:
# Question
Title: Trouble killing logcat process
On my rooted Android, I have a screenshot from Termux after running `sudo htop`. There is a logcat process running with PID 925. I want to stop this process.

So far, I've tried running `su -c kill 925` which is the Process ID of the logcat process I'm trying to stop but have been unsuccessful.

How to stop this process?

# Answer
I managed to stop the logcat service and kill the process by issuing the following command:

```
sudo setprop logd.logpersistd stop && sudo kill 925

```
> 0 votes

---
Tags: root-access, termux, processes
---


title: Limiting Display Frame Rate to Lower

text:
# Question
Title: Limiting Display Frame Rate to Lower
Is in Android there is an available database set for limits display frame rate? If they’re available, is using ADB/Root (Terminal), or how, or even it can't?

I've been searching this for years, and not get an answer yet. Actually, this is for tweaking to trigger any benefits. This like my other phone embedded feature is Xperia STAMINA mode which is it can set the display frame rate (to 2x lower from 30 fps) for battery saving. But... I mean is not only for that. Many others too that can benefit. So, is this can available on a pure Android system? Or this only self-made for manufacture's hardware so that not possible available on others except Xperia devices?

If there are other threads that I don't know. Please let me know. I'll understand it, and try if it makes sense.

thank you! :D

# Answer
Android 13 had a feature to lower the frame rate called Game Mode interventions. However, it is only limited to games app category, and not system-wide work.

Some manufacturers may use this feature or remove it. As well as developers should declare Game Modes as false on Manifest file. Otherwise, the platform will ignore the configurations and only use in-game optimizations.

Also, this feature may require a newer GPU, and a supported display frame rates.

---

**To view the existing package configuration:**

```
adb shell device_config get game_overlay <PACKAGE_NAME>

```

---

**To set game mode interventions configuration:**

```
adb shell device_config put game_overlay <PACKAGE_NAME> <CONFIG>

```

Parameters example:

```
adb shell device_config put game_overlay <PACKAGE_NAME> mode=2,fps=90:mode=3,fps=30

```

Parameters details:

* `mode=2` for performance mode, and `mode=3` for battery mode.
* `fps` value are device specific: `30`, or `60` for 60 Hz displays; `30`, `45`, or `90` for 90 Hz displays; and `30`, `40`, `60`, or `120` for 120 Hz displays; else, any attempt of any other value than the device specified value, will cause the device to crash. `fps=0` is the default value.

---

**To switch the game mode from the configured package:**

```
adb shell cmd game mode performance <PACKAGE_NAME>

```

OR

```
adb shell cmd game mode battery <PACKAGE_NAME>

```

OR

```
adb shell cmd game mode standard <PACKAGE_NAME>

```

---

References:

FPS throttling | Android Developers

Game Mode interventions | Android Developers
> 1 votes

# Answer
There doesn't seem to be a way at this time.

So far, all I know is a hidden feature in Android S Preview Revision 3, namely Game Optimization in the Game menu which can lower frame rates, such as Xperia STAMINA mode.

---

Portal: Android 12 DP3 Analysis: Here are all the hidden features! | xda-developers.com

Screenshot: 17-Game-Mode-2.jpg (563×1155) | xda-developers.com

Learn more: Android Developers | developer.android.com
> 0 votes

---
Tags: adb, root-access, stock-android, sony-xperia, terminal
---


# Question
Title: Can anyone tell me what this icon is for or from?
Can anyone tell me what this notification icon is from?

# Answer
It is from any fitness or health apps on your phone. They are notifying you because of info in the app.
> -1 votes

---
Tags: applications, google-apps
---


# Question
Title: Connect a microphone to a smart TV for karaoke purposes
I recently bought a Smart TV (Philips 65OLED707/12) and I was wondering if I could connect one (or preferably two) microphones to it, to sing Karaoke with my family and friends.

I want to be able to mix the sound from the microphones and the sound of the karaoke app so that all is outputted by the TV speakers.

Are there microphones, or specific microphone stands capable of doing that? What should I look for in their specs?

It is Android 11.

# Answer
You can download any Karaoke apps from the Play Store on your Android TV. Few of the best ones are listed below:

1. Starmaker
2. Smule
3. Karaoke Anywhere
4. KaraFun (has remote control)

For the mic part, Android TVs support Bluetooth mic input. You can either use a Bluetooth-enabled remote with voice input support (Google Assistant) **or** a dedicated karaoke Bluetooth mic for the matter.

Since it is Android 11 you should be able to connect more than one multi-point Bluetooth device. I can see that your TV is pretty high-end and has Bluetooth 5.0 (specs) which indeed supports multipoint connections.\*

**Alternatively,** you can buy a karaoke set that combines the two mic inputs before sending it to the TV, which makes things super smooth (*recommended*)
Video for reference

Few Bluetooth mics (Amazon,UK).. (shared links don't seem to work since I'm not from UK so I'm just adding the names)

1. MAONO Bluetooth Karaoke Microphone, MKP100 *(Recommended)*
2. ACESHOP Karaoke Wireless Microphone Portable Handheld
3. EKLEVOR Wireless Microphone, Karaoke Bluetooth Microphone
> 3 votes

---
Tags: android-tv
---


# Question
Title: How to install Termux on old Android 5 devices ? (using the official archive)
**Context :**

Hello, I have a GPD XD console under Android 5 with a complex launcher. I would like to install the very good Pegasus frontend (install and play, no tweaks), and for that they require to run a script through Termux (because it seems some commands like `/bin/bash` or `cURL` are included in Termux and are absent in other terminal apps).

For Android 5, there is an archive of the application available here (according to the official github).

**Problem:**

Unfortunately, I don't understand how to install these files on the console (there are too many of them). Indeed, I tried to install only the `termux-v0.79-offline-bootstraps.apk` file but I get an error message (maybe a `signature error` but I don't remember well).

**Question:**

Could you explain me step by step how to install these files please (and which ones to download) ? Thank you very much for your kind help!

# Answer
> 2 votes
i have been using the old version ever since support for it was dropped. This is how i do it. After installing **termux-v0.79-offline-bootstraps.apk** , you have to change the text in sources.list located `/data/data/com.termux/files/usr/etc/apt` (use `vi sources.list` ) to `deb https://packages.termux.dev/termux-main-21 stable main` . Use

```
apt remove science-repo
apt remove game-repo

```

Thats all, then to install packages just type;

`pkg install packageName`. That's the easy way **Manually**

You also have to install the dependecies manually from this same location

Visit

https://packages.termux.org/termux-main-21/dists/stable/main/binary-arm/ And just download the .deb file Then navigate to your downloads folder and type

```
dpkg -i package-name

```

# Answer
> 1 votes
Support for Android 5 and 6 is back. See the official page.

You can use the archive link to install any missing old packages. Press `show all`, then next to `termux-repositories-legacy-24.12.2019.tar`, press `(View Contents)`. Now you can find and download the packages you need without downloading the whole archive.

---
Tags: 5.0-lollipop, apk, termux, signature-error
---


# Question
Title: Not receiving notification for a particular contact on whatsapp
I'm not quite sure if this problem exists with someone else, I couldn't find it anywhere on the Internet.

There is a particular contact whose notifications I never receive. By notifications, I mean the ones that come on the top. I need to specifically open Whatsapp to check his messages.

I'm able to see notification of other contacts, and he is able to see mines. Also he has checked by sending message to some other contact, and they do get a notification.

I don't know if there is a secret option to turn off notification for a particular contact, is there any way to fix it? I've already tried reinstalling Whatsapp.

# Answer
You may have muted notifications for this contact. Press the menu button on your device (or touch the menu button in the top bar (action bar) if your phone has no menu button) And go down to "MUTE" then from there you should see an option to hide notifications. All you have to do is turn that off, and that contact's/group's notifications should start appearing again.
> 1 votes

# Answer
In case this helps someone:

I had the same issue. Apparently I had a custom notification for a specific contact and then at some point I deleted or moved the mp3 file for that sound, so whatsapp couldn't find it to reproduce the sound. Going into Whatsapps' custom notifications for that contact and changing it did the trick.
> 1 votes

# Answer
I found this as had the same issue. It looks like I inadvertently changed the custom notification tone to none from default. Changed it back and now getting notifications.

Hope that helps!
> 0 votes

# Answer
restart your device, it worked for me
> -1 votes

---
Tags: whatsapp-messenger
---


# Question
Title: How to disable cutting sound to headphones at moments of low volume during playback?
Since starting to use USB-C headphones (my new phone has no audio jack), I notice this (to my ears) very annoying issue: during playback of any audio, the sound output will be cut during moments of (very) low volume in the audio stream. For example: listening to an audio book, after every sentence, when the narrator pauses, you will hear a noticeable cut of all sound output, where normally there's always a little white noise in the background. I guess it's an optimization of not sending any audio signal when there is nothing to be heard, but to me these constant breaks in the background white noise are very annoying. As reference: this did not happen when using the audio jack on my old phone. The background white noise was just always present during playback.

I tried to research this issue, but it seems to be either almost impossible to set the right search terms or no one else is complaining about this. Although I find the latter hard to believe, since my partner experiences the same. Also in the Android settings I cannot find anything related to this.

Still I hope there is a way to resolve this. Either by applying a certain (advanced) setting or maybe by using some other workaround trick. Any insight and/or help in this matter is much appreciated, thanks!

PS: I assume this is standard Android behavior for USB-C headphones and not headphone specific. Please enlighten me if I'm wrong.

# Answer
> 1 votes
From what I know this is not easily achievable. There is no built-in setting for this, although you may get around the issue using (1) a ROM with a patched kernel (2) a third-party app.

This has been reported since early days of Android  , and there is an issue on AOSP that is marked as "won't fix", although I don't agree with that assessment. This might get more traction and get addressed if someone can confirm that (1) This is indeed a problem in AOSP (2) creates an issue that clearly states that this is not a problem in custom ROMs.

This may also be related to the fact that the output volume for USB-C headphone/headphone using USB-C adapters is applied by software rather than using DAC hardware volume. In other words, Android applies the system media volume to the sound signal and then sends it to USB-C, during which the sound may be distorted/filtered.  . There are reports that you can use the Hiby app or USB Audio Player PRO app to control the volume of the DAC, which may help fix this issue. (I did not have luck there.)

# Answer
> 1 votes
I was happy to come across your post as I have had the same issue on multiple android devices. Initially I thought it was the specific device, but after having the issue reproduce itsself on a new device later on, I re-initiated a search on this. Unfortunately I agree towards the same conclusion in that either no one experiences the issue or simoly finds another alternative (non USB-C headphones if possible etc) or simply loves with is (as I have had to do on occasion). It is annoying though as I either have to bump the volume so that even the quiet parts have the background noise fuzz loud enough for the audio to not cut out or simply deal with the cut-outs.

The issue is not related to the headphones as the issue does not exist when used on windows devices for example.

The only solution I have found is to use a frequency generator, put it on a low Hz so that you only have the white noise remain and then play whatever audio you wish to play on a low volume (I too fall asleep with audio books etc and the cutting out is annoying).

Yet to look into whether specific frequencies are a bad idea in terms of sleep etc, but thought I'd give you a potential work around if you have not yet found one or wish to consider it.

---
Tags: audio, headphones, usb-c
---


# Question
Title: Installing "wrong" WhatsApp on Samsung Galaxy Tab S6 Lite
My friend purchased a new tablet, "Samsung Galaxy Tab S6 Lite", to replace their current "Samsung Galaxy Tab A (2016)".

I am trying to help them move WhatsApp over. However, all my installation attempts are installing a weird beta version of WhatsApp that acts like "WhatsApp Web" only.

In other words, instead of asking for a phone number upon first access, it is showing me a QR code and requesting me to go to the other device and link it, just like WhatsApp Web does.

What I want is to make the new tablet the new "main" WhatsApp application, replacing the current tablet. How to do this?

# Answer
> 2 votes
Whatsapp is linked to the mobile number. If you install it on a non-mobile device, then it can only be a mimic of another device.

That is why it's behaving like a web version. This version has to link to a main device with a sim card / phone number.

You may have to wait a while for the truly windows version, according to this report from indianexpress

> Facebook-owned WhatsApp is reportedly working on a desktop version of the app that may allow users to use the messaging platform even when the phone is not connected to the internet. The information comes from a reliable leaker WABetaInfo, which claimed that WhatsApp is building a Universal Windows Platform (UWP) that would work even when the phone is off.
>
> For those who don’t know; WhatsApp can be accessed on a computer via WhatsApp Web app for PC or web.whatsapp.com address on a browser. All you need to do is log-in into the WhatsApp Web and you will be able to receive and send messages via PC without the need to touch your phone.
>
> However, in order to use WhatsApp on PC, you need to have WhatsApp installed on your phone and the device must have internet connectivity.

Additionally, Whatsapp can no longer be installed on several phones after Nov 2021.

> Currently, we provide support for and recommend using the following devices:
>
> Android running OS 4.1 and newer
>
> iPhone running iOS 12 and newer
>
> KaiOS 2.5.0 and newer, including JioPhone and JioPhone 2

from Whatsapp faq

On another site, `S3 mini` is listed as one of the devices that it will not work on. If your tablet has a lower version of android, then try to update it first.

# Answer
> 0 votes
OP here.

It somehow worked. We uninstalled WhatsApp from the old tablet, and then tried again to install it (normally, from Play Store) on the new tablet and then it just worked. I have no idea how this was possible though, I can't explain it.

Note: This was done a few days after I posted the question, but I am only adding the answer now because I forgot to do it.

---
Tags: samsung, whatsapp-messenger, installation, tablet
---


title: Prioritize cellular data over Wi-Fi

text:
# Question
Title: Prioritize cellular data over Wi-Fi
Is there a way to set the phone to prefer cellular data over Wi-Fi so that it will use cellular if it's good but Wi-Fi if cellular is not? Similar to the "Switch to mobile data" setting but in reverse?

The intent here is while using internet as a passenger in a car and driving through areas where coverage isn't great, I bought a cheap prepaid hotspot from another carrier (that's providing the "Wi-Fi" referenced here), but I want my primary cellular plan on my phone to be used first rather than that.

Right now I manually switch between the two, but there are areas where which one is better changes quite frequently, so it'd be nice if this could happen automatically.

# Answer
> 0 votes
This is probably not exactly what you wanted, but I experienced similar issues, and the way it sort of worked for me is either:

1. Ensuring the Wi-Fi is of such an excrutiangly bad quality so that Android thinks it's an Internet-less connection and therefore only drops to it when the cellular is at absolute zero.
2. To ensure that the phone thinks there is no internet over Wi-Fi, you could probably try blocking the URL it uses to check the connection, on your router. I remember there was a way to change the default generate\_204 url in Android (see this: Change the server that Android uses for an internet connectivity check?) - change that to msftconnecttest.com/redirect or something that uses its own domain you're not afraid of blocking. (as the default gstatic.com is actually used for other purposes as well)

---
Tags: wi-fi, mobile-data, wifi-hotspot, data-connection, wifi-tethering
---


# Question
Title: Is there any way to run android app under chrome in windows? or use chrome "dev tools" inside an android app?
I use a platform that runs natively under any web browser (Chrome, Firefox, IE, etc.) and they also have an Android and iPhone app.

This platform is running a little bit crazy under Windows Chrome or Firefox due to network restrictions from where I work, but for some unknown reason, it runs fine inside the Android app.

I tried the app under the Bluestacks emulator and it ran fine, but I don´t want to have the emulator running and can't be on the phone all the time.

I wonder if it´s possible to run the Android app inside Chrome (in Windows 10) or if it's possible to run some sort of dev tools inside Android to try to understand what´s wrong with the native website and why it works fine inside the Android platform.

Any light in the right direction would be greatly appreciated!

# Answer
For running Andorid app under Chrome, the answer is **no**. Even on ChromeOS, the Chrome browser and the android system are separated.

For using `DevTools`, if USB debugging shows nothing from your PC side, then it is impossible.

You may try reverse ennigering your app. For example:

1. Capture the HTTPS requests and analyse headers
2. Decompile apk and analyse smali codes.
> 0 votes

---
Tags: chrome-for-android, windows, emulators
---


# Question
Title: How to change the User Agent string in Chrome browser on Android (mobile phone)
I've looked all over the internet, does anyone know how to change the user agent the google chrome for Android browser sends out? Trying to do this on my dev phone. If not has anyone been able to accomplish this using a proxy server?

Phone: Chrome for Android

User Agent String (that I want to change): Mozilla/5.0 (Linux; Android 10; SM-G960U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36

Any tips would be very much appreciated.

# Answer
My ChromeXt Xposed module is capable of it. See its README:

```
## User-Agent spoofing

One can edit the User-Agent from the Info panel of Eruda console. A valid User-Agent should contain only ASCII characters. Currently, ChromeXt only changes the User-Agent HTTP header, which works well but is deprecated.

For Chromium based browsers, when the User-Agent spoofing is not taking effects, refresh the page using the reload button in the page menu. (By contrast, a swipe refresh might be insufficient.)

Note that the DevTools can also change User-Agent.

```
> 1 votes

---
Tags: chrome-for-android, android-10, user-agent-string
---


title: Using Android phone without battery

text:
# Question
Title: Using Android phone without battery
Some Android phones have removable batteries, and others are non-removable. It is the battery capacity that makes the device alive for hours. Also, the device can be used while charging.

For an Android device *with removable battery*, is it possible to use only in charging mode (wall charging with the device's charger/USB charging) after removing its battery?

(For example, a laptop can be run by direct plugging, without battery)

# Answer
AFAIK, **no**.

The fundamental reason is *usage* and the design that evolved based on it- mobile phone, as the name suggests, is meant to be used whenever and wherever, with periodic charging, unlike laptops, which are *designed* to work with/without being plugged into power.

It seems technically possible to work without a battery if you build an electric circuit that simulates a battery in *all* respects (including the battery health pin which is usually the third pin on battery) as you can see here. Whether such a circuit will work across OS versions and devices is not certain.

Android considers battery to be an *integral* part of the system rather than an *accessory* and OS evolves in safety, the longevity of the battery, user-friendly features, that support this - witness *Battery Saver*, automatic shutdown at low battery percentage as examples. If the electronics (SMBus) detects that it is *not* an actual battery source, this circuit may fail

Views expressed in comments are valid pointers, in addition to mine
> 7 votes

# Answer
My Infinix Hot 4 battery exploded and was left without one at home. I did this by drawing a circuit with a pencil on the motherboard from the GND pin to -ve pin. This tricked the phone that it has a battery on and it boots normally without one.
> 5 votes

# Answer
Yes, if you can solder.

This method worked for my old Moto G with a 2A USB power supply. The only drawback is that the phone will no longer boot automatically after a power outage.

* remove the battery
* solder an USB cable directly to the battery ports
* use a power supply with at least 2A

There are detailed instructions in this makeuseof.com article.

Before you do this you may want to test if your phone works without a battery (but most do not finish the boot process the article claims).
> 0 votes

---
Tags: battery, charging, boot
---


# Question
Title: Change DNS on Android - via Settings/Network&Internet/Advanced/Private DNS ... or via Settings/Wi-Fi/Modify network/Advanced options/IP Settings?
Device is on Android 9. NOT rooted.

I want to set the DNS to CIRA (or Cloudfare or whatever, not the point). Yes my wifi router is already set to proper DNS. If I am not at home I want the device to have set DNS.

Question 1:

Is how do I do I set DNS on Android for Wifi but also for Mobile connection?

I looked at a couple of sites recommend to modify the Wifi setting as the easiest method. I don't want to install 3rd party VPN loopback tool because I use extenral VPN so I don't know how that will work together.

This talks about 8 methods to set the DNS. Only handful would apply to me:

https://forum.xda-developers.com/t/guide-how-to-change-dns-in-android-device-8-methods.3273769/

However, this page talks about setting up yet another way.

https://www.zdnet.com/article/how-to-turn-on-private-dns-mode-on-android-and-why-you-should/

So I am a bit confused. It looks like the 2nd link is not setting the specific Wifi. Is it going to apply to LTE mobile connection? My device offers both ways to set up:

via *Settings/Network&Internet/Advanced/Private DNS* ...

or

via *Settings/Wi-Fi/Modify network/Advanced options/IP Settings*

So is this the best way to setup via the Private DNS?

Question 2:

What do I enter in the box "Private DNS", is both word domain and the IP address okay?

Question 3:

If I root my device, do the rooted methods work better?

# Answer
Anyways disregard the questions. I found the answer. The new setting was introduced in Android 9.

https://www.xda-developers.com/block-ads-on-android/ \[https://www.xda-developers.com/block-ads-on-android/\]\[1\]
> 0 votes

---
Tags: wi-fi, mobile-network, dns, private-dns
---


# Question
Title: Is there any use on adding extra memory space on your android without rooting or anything fancy?
Say I want to add extra memory to my Android. Well, it turns out the only way to move apps to that extra space is to root first.

So if not for apps or anything, what should we use the extra space for? Many Android phones have the ability to add extra space using a Micro SD card.

How to actually use that space? Is there natural use of that extra space?

To be more frank.

What do people that buy those extra spaces usually use them for? I and my wife just let it empty most of the time because we don't know what to use it for.

# Answer
> 2 votes
Google's documentation defines using a SD card on a Android device in two separate ways **portable storage** and **internal storage** (which is also known as adoptable storage):

From: https://support.google.com/android/answer/12153449?hl=en

> When you set up an SD card on your Android device, you can choose between portable storage or internal storage.
>
> When you format an SD card for **portable storage**:
>
> * You can save files, like photos and videos, on the SD card.
> * You **can’t install apps** on the SD card.
> * You can transfer the SD card between devices.
>
> When you format an SD card for **internal storage**:
>
> * You can load files, like photos and videos, on the SD card.
> * You **can install apps** on the SD card.
> * You **can’t transfer the SD card** between devices.
> * The SD card can be used in addition to your device's storage.

In regions where data plans are expensive or mobile data is inconsistent, putting personal media (videos, music, photos) locally allows for device owners to use their content in an acceptable manner.

Certain apps like games may exceed the pre-built storage of a device so if the device supports adding a SD card, using a SD card to increase app storage may be desirable. This does come at the cost that the SD card is now bound to that device by a cryptographic key.

**Switching a SD card between different storage types requires reformatting of the SD card**

**But wait why can't some apps be moved to adoptable storage?**

From: https://source.android.com/docs/core/storage/adoptable

> Apps can be placed on adopted storage media only when the developer has indicated support through the `android:installLocation` attribute. New installs of supported apps are automatically placed on the storage device with the most free space, and users can move supported apps between storage devices in the Settings app. Apps moved to adopted media are remembered while the media is ejected, and return when the media is reinserted.

So for standard Android, developers need to enable the setting assuming the app is appropriate and not using certain features in the app. Social media apps generally use services to get/send content and so would not have the setting for installing on SD card. It can also be due to oversight by the app developer as the default is `android:installLocation="internalOnly"`.

https://developer.android.com/guide/topics/manifest/manifest-element#install

# Answer
> 1 votes
Imagine storage space as an empty cardboard box. You can if you want to:

* Store things that you don't have space to put elsewhere.
* Or you can have the box half-filled and keep some things somewhere out of the box.
* Or you can throw (delete) some of the things that you don't need anymore and have an empty box.

Apart from that there is no meaning of "how can we actually use" an empty storage space.

# Answer
> 1 votes
You can use the space for. These gives you more space in internal storage.

* Storing files such as pictures or videos. I keep all my music and videos on it. Then I can just remove it when I change phones.
* Storing some data from some apps. *Note, this is not available for all apps*. You can do this

+ in Settings
    + Apps
    + Select an App
    + Press Change and you can shift to SD Card.
* You can store your photos to the SD card, from the camera automatically.

+ Open Camera App
    + Click on the Settings icon
    + Click on Storage Location / Settings
    + Select SD Card

---
Tags: sd-card
---


# Question
Title: How to disable "Your phone is getting warm" warning?
I'm using Lineage 20, Android 13 on a Pixel 4A and often when I'm using the hotspot feature while charging I get a notification with the message "Your phone is getting warm".

It then disables stuff like the hotspot for some time until it decides my device is not warm anymore.

When touching the casing with my hand it doen't feel warmer than usual and even then I want to choose if my phone should die early from overheating so I'm looking for a way to disable this "feature".

Thanks for your assistance !

# Answer
> 0 votes
It's normally the battery that starts getting warm. The automatic cooling of it is a safety feature. I have only ever had this when in a cradle in the car, charging the phone, while using a driving app, and with the sun shining on it.

* If you have a cover, take it off.
* A slower charger (as mentioned in the comment) would help.
* If you are not traveling at that time, turn off the GPS.
* Some Providers limit the length of the hotspot and automatically connect.
* Hotspot Settings has options for Auto turn off and data limits. Check these by doing a long press on the hotspot name followed by dropping down Advanced Settings.

---
Tags: lineageos, wifi-hotspot, overheating, android-13
---


# Question
Title: Changing cluster size of SD card formatted as exFAT from 128KiB to some lower value?
I'm using an app that allows me to download data for offline usage. The app is setup to store the data on my 64GB SD card. This all works fine, however, when I downloaded a larger set of data, i.e. some 6GB of data, that data used up some 30GB of storage space, and filled the SD card. I was baffled in the first place, so I had a deeper look at the data.

It turned out that the data consisted of some 120'000 files of 40KB in size, some larger, some smaller. I next had a look at the SD card and found it was formatted as exFAT and to use 128KiB blocksize (FX tells me so, I guess this should read cluster size).

I'm thinking about reformatting the SD card to use a smaller cluster size, say 48KiB or 64KiB, which would be more suitable for this kind of data.

Can this be done? Any inhibitors?

# Answer
I have changed the cluster size in the meantime. Copied everything from the SD card to my Windows machine, then used Windows' Explorer context menu "Format" to reformat the SD card.

A big part of the 200'000+ files I need to add are smaller than 32KiB, another large chunk is between 32KiB and 48KiB, so I chose 32KiB as cluster size. (48KiB would have been a better choice but this is not supported for cluster size)

Copied everything back to the SD card, and was able to store the full 6GiB set of those small files. They now occupy only some 10GiB compared to 30GiB not having been enough before reformatting.

I haven't seen any negative impact of this change so far, but is is only a day since.
> 0 votes

---
Tags: sd-card, formatting
---


# Question
Title: How to download all photos from Google Photos into device?
I wanted to do a factory reset. I made a backup of my device using "Setting" → "Accounts and backup" → "Google drive" → "Back up data" → "Back up now" → under "Photos and videos" I checked "Backup photos and videos from this device to your Google Account" checkbox. After one hour the backup completed. I did factory reset, chose to restore from backup and selected the backup file.

Now everything got restored except the Gallery photos. Those photos appear in Google Photos.

I have around 950 photos. How do I download all of them *at once*, so that they become available in my Gallery app?

# Answer
> 0 votes
You will have to use a PC.
Login to https://photos.google.com Select first photo from where you want to download the photos. Press and hold `SHIFT` key and then select the last image you want to download. Everything should be selected in between them.

`3 dots --> download`

A zip will be downloaded. Copy that to your phone to `DCIM` folder. Extract. Done

---
Tags: backup, restore, gallery, google-photos
---


# Question
Title: Slow Upload over WiFi while download speed normal
I have three phones where the upload speed is terribly slow (below 0.1MBit/s) over WiFi. Download speed is normal. Upload over mobile data is fast. Only when using WiFi, upload is slow. Tried in different WiFi networks. When trying other devices (phones and laptops), upload is fast using the same WiFi network. Only thing in common for the affected phones: Used them in Egypt on vacation. But did not install anything, so don't know what could be the cause. Using Android 13. Any advice?

# Answer
> -1 votes
Switching the router off for a few minutes and on again resolved the issue.

# Answer
> -1 votes
For people who might stumble to this question..

The slow upload speed might be because of your ISP (Internet Service Provider). They sometimes do not mention the upload speed misleading people.

Check download & upload speeds on some bandwidth speed test site.

---
Tags: wi-fi, lagging
---


title: Use mouse on second screen

text:
# Question
Title: Use mouse on second screen
I am toying with making a multi-screen Android 11 device. I managed to start a different app on each screen, using `am start -n <activity name> --display <display id>`. Also, I found a launcher, which is capable of starting apps on a screen of my choice.

But only one of the screens is a touch screen, and I am trying to use a mouse for the other (or preferably both) screens. Sadly, the mouse is limited to the first screen, which is also the touch screen. So I have two input devices on the first screen, and none on the second one.

How do I assign the mouse to the second screen? Is there any way to use the mouse on both screens?

# Answer
After a lot of trial-and-error, the following worked for me on Android 13 on FairPhone 4:

1. put device in landscape mode
2. open list of recently opened apps
3. open window options of any app
4. select `Split window to right`

The window disappeared, but my USB mouse was moved to the secondary screen with Desktop mode.
> 1 votes

---
Tags: settings, android-11, mouse
---