# Question
Title: How to prevent an application from opening links with an internal browser?
**Background**

The situation is a little bit confusing but with try to explain:

I have 2 applications, A and B respectively.

Application A has some links which when clicked are supposed to open in application B (or use **external browser** in case application B isn't installed). This is the setup that I prefer as it doesn't use additional data since application B works offline fully.

However when application A updated, it no longer allows these links to open in application B (or external) browser, instead it has an **internal browser** which is limited and needs to use data to load the content which is inconvenient. I tried to communicate with the developer and sadly they said older applications were no longer supported hence I am stuck with application A with an internal browser.

Is there a way or workaround to at least force the app not to use its internal browser but allow for me to choose a preferred app or browser to open these links?

# Answer
> 0 votes
Sounds like it's an internal feature of application A which the developers fixed. Crude work around I suppose is to copy the link from application A, or the internal browser, and paste it to application B or external browser to view.

---
Tags: applications, default-applications, webview
---


# Question
Title: How to create a separate secondary phonebook / contact list
Here's what I need. I run a business, I use my personal Android phone (Samsung Galaxy S8) for 100% of my calls. It's not a problem. But I have a lot of clients whose numbers I don't have memorized. I could put a hundred contacts in my personal phone so I would know who's calling, but, I don't want to fill up my phone's contact list with people I only talk to occasionally.

When I look at my contact list, I want to see my friends and family only. Is there an app that will handle sort of a 'secondary phonebook' with business contacts only, that will still work with caller ID?

And if you are going to comment 'you need a second phone for business stuff', don't bother. That's not what I want to do, and that's not what I'm asking. This is a question about whether there is a particular Android app that will solve my problem (or an Android setting), not anything else.

# Answer
> 2 votes
I have saved separate phone contact lists as vCard files-one for business and another for private use. another for frequently dialed numbers (hybrid of both pvt+biz). It is tedious but depending on my need i load(import) one from my collections above. Hope this method helps.

# Answer
> 2 votes
The best solution I could find is OpenContacts. It's a completely separated contact book that comes with good integration, but without letting your contact information slip through it's own container. No contacts will be shared to other apps like WhatsApp.

It's my choice when it comes to handling business contacts while ensuring GDPR compliance. I even use NetGuard to disable internet for OpenContacts just to be safe.

Quote from F-Droid store:

> **OpenContacts**
>
> ***Hide contacts away from apps stealing your contacts information***
>
> Even though we are not having any problem sharing our mobile number with all third parties, people in our phone book might have. We should not be sharing their contact information online. So, keep your contacts safe in a different database.
>
> This app saves contacts in its own database seperate from android contacts. This way no other app would be able to access contacts. Can be used in place of your default phone(dialer) app. It can import contacts from vCard files. So we can export Android contacts and import into this app.
>
> Maintains call log as well coz Android call log app would not be able to show name of contact. Also shows the person's name upon recieving call

# Answer
> 0 votes
You can use the Google contacts app with two Google accounts and swap between the accounts easily as necessary. (Here is a link to the Google contacts app.) Or if you're using a Galaxy S8, you can have separate contacts in the secure folder.

# Answer
> 0 votes
I had the same issue and couldn't find an app to fix it so I decided to create one. You can check it out Secondary Contacts

It's an entirely separate contacts list that can't be read by other apps. Has caller ID too and you can import/export contacts to and from the main contacts app

---
Tags: samsung, contacts
---


title: How to get rid of spying app (rooted)

text:
# Question
Title: How to get rid of spying app (rooted)
My android phone is installed with spyware (spying app). This can be a breach for my business leaking out passwords.

How to clean wipe android OS and freshly install Android OS again cleanly.

My system is rooted.

Phone Model : Samsung A7 2018.

# Answer
It's called "flashing the stock ROM". Look for the firmware for your particular model (N, FD, etc.) at https://www.sammobile.com/ There are pretty good instructions at https://www.getdroidtips.com/samsung-galaxy-a7-2018-stock-firmware/

(If you still want the phone to be rooted, you'll have to root it again - the stock ROM isn't rooted, it's what you got when you first got the phone.)
> 0 votes

---
Tags: root-access, malware, cleanup
---


# Question
Title: Pressing Enter key with an external keyboard doesn't send SMS on Panasonic P100
I am using a Panasonic P100. I want to use an external keyboard to SMS to my friend, but the Enter key is not working to send SMS.

# Answer
The Enter key can produce 10 (hex 0A), 13 (hex 0D) or 10-13 (2 characters, 0A, then 0D), depending on the operating system it was actually designed for. The SMS app may be looking specifically for 10 (0A), because that's the Linux EOL (end-of-line) code (and Android is running in a Linux OS). Use the mouse to click the (in most SMS apps) forward arrow on the screen. (Or try alt-10 - hold the alt key while pressing 1, then 0, in turn, then release the alt key. That produces the Linux EOL character.)
> 0 votes

---
Tags: sms, external-keyboard
---


# Question
Title: Nexus 7 Android 6.0 Audio Output through USB OTG
I have a 2nd Generation Nexus 7 connected to my car. The 3.5mm headphone jack is not accessible the way i've mounted it and I have a power USB hub connected via an OTG cable with some devices connected. I need to get a Audio cable output so that I can plug in to the 3.5 aux input of my car. Can anyone tell me if the Nexus 7 supports USB audio output and what kind of cable will work? Thanks

# Answer
It doesn't. The only audio output is the 3.5mm jack. Just get a TRRS (4-wire - a 3-wire won't work) extension as long as you need, male on one end to go into the Nexus 7, female on the other end to plug in whatever you want to plug in.
> 0 votes

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


title: Adding custom thumbnail previews

text:
# Question
Title: Adding custom thumbnail previews
I am considering buying a tablet with Android, in order to navigate a particular kind of files. These files have .pes extension, and they are special files for embroidery machines, they contain the "instructions" to create particular images for the machine itself. The aim is to navigate those files using a file explorer app, for the customers of our shop: we would like to give a preview of the images in our catalogue before embroidering them. Obviously, thumbnail previews will be really useful, with no need to open every single image. But I am not able to find a single app which can provide a preview for "special" files, which are not jpeg, png, and similar. Is there a way to customize or add the type of files for which the thumbnail previews are possible?

# Answer
There IS a way of creating the picture files (which is what you want - a thumbnail is a small version of a picture file), but not the way you want to do it. You'll have to use the .pes file to create the embroidery, using an embroidery machine, then take a picture of it. (There's no way of "creating a thumbnail" from a list of instructions for an embroidery machine.)
> 0 votes

---
Tags: file-management, thumbnails
---


# Question
Title: How to drive Philips Hue lighting with NFC tags
Recently I came to use my NFC tags again.

Wondering how I can use my NFC tags to automatize chores like:

* Turn the light on at noon (Alexa/Philips Hue)
* Turn the light off at midnight

**In essence I intent to use NFC tags as replacement for conventional light switches!**

I could not find any way to do this using the standard apps (NFC Tools / Trigger). I am not bound to a specific app solution.

I tried to use text-to-speech to verbalize Alexa commands with NFC Tools, but this failed since it seems a synthetic voice is not recognized.

# Answer
I think you're misunderstanding what an NFC tag is. The tag has an ID number. All it signals to the phone is "You just identified this tag as me". Some app has to be looking for that tag ID, and have code to do something when the phone sees it.

You can use one tag to turn the light on, and another to turn the light off - but you don't use a tag to "turn the light on at noon", you just develop an app (or find one in Play) to turn the particular device on at noon (and the same thing for turning it off at midnight).

Google Assistant might even work - tell it to turn the light on every day at noon and turn it off every day at midnight.
> 0 votes

---
Tags: applications, nfc
---


# Question
Title: Many apps crashing on phone after Google app disabled and re-enabled
The Google app was taking up half a gigabyte of storage even though I never use it, so I cleared its data and disabled it. After I did this, Gmail and Outlook crashed, so I re-enabled the main Google app. Gmail and Outlook were still failing, however.

Since the main Google app was now an earlier version, I thought maybe I should update it. Although I can open the main Google app, it crashes as soon as I switch to the "Update" tab, so that's not an option. I also tried clearing my Gmail and Outlook data to see if that would help, as well as disabling and re-enabling Gmail, but neither had any effect.

I've also cleared all data from Google Play Services and restarted my phone to no avail. If I try to visit Google settings from the Settings app, then the Settings app freezes. What can I do to make these apps operable again? Note that not all Google apps are afflicted. For example, I can still use Drive, YouTube, and the Play Store.

For a little more detail, the Gmail is receiving data. I can see new messages for the half-second that the app is open before it crashes. If I try to send a crash report, the crash-report-sending services crashes too.

I'm using a Samsung Galaxy S7 Edge running Android 8.0.0.

EDIT:

Previously I wrote of only a few apps that have crashed. As I have tried to use more, I have found that apps unrelated to Google have crashed -Stack Exchange being one of them, as well as an open source reader app (that wasn't even installed through the Play Store, it was installed through F-Droid), a game, and the built-in Samsung text messenger app.

In recent verbal conversation, someone suggested that I may have unintentionally deleted a security token, and that is causing the widespread malfunctions. However, he does not know how to get a new one if that is the case, and of course neither do I.

EDIT 2: In the early afternoon today, about 24 hours after the initial problem, the main Google app managed to update itself without any intervention from me and everything came back online. Perhaps there is a 24-hour check for updates that Google performs for built-in apps automatically outside.of the app store. In any case, once this occurred, the other apps which had been compromised began to function as well, so now everything is back to normal.

# Answer
First, instead of a few dozen little apps, each supplying an API or a service, Google changed the scheme (a few years ago) to incorporate all of them in one app. Most Google apps depend on it, many non-Google apps depend on it.

I'd try uninstalling all the non-system apps that are crashing (you can't uninstall a system app unless the device is rooted), update the Google app (again), update the Google system apps and reinstall all the uninstalled apps. (If that doesn't work, reflashing the ROM - and losing anything not backed up - may be your only resort.)
> 1 votes

---
Tags: gmail, google, crashes
---


# Question
Title: I want to disable internet but not the network
How can I disable internet but keep the network access on Android tablet? I want to be disable internet access to all but selected apps, at the same time I want applications to have direct internal network access.

I used firewall in the past but firewall disables access to all networks. I want to be able to use my tablet in my home, at the same time I want to disable internet access on it.

Is it possible? What is the best way to do create this kind of limitation for the apps?

thanks

# Answer
> 0 votes
## On the router

As roxan already wrote, this cannot be done on the Android device itself (well, at least not easily), but should take place at your router. Some routers allow to specify on a per-device basis whether internet access should be granted, using a single "switch" (yes/no).

If that's not possible, you'd need to edit firewall rules. This would require to assign a fixed IP to your device, so on your router you could specify e.g. (pseudo-code):

```
route from <android_ip> to <internal_network> pass
route from <android_ip> to * reject/drop

```

(again, that's pseudo-code; I'm not that familiar with `iptables` to give the exact syntax by heart). What that then would do: All packages from your Android device would pass the router if targeted to the internal network, but would be rejected (visible to the Android device, so it could react immediately) or dropped (connections would timeout then) when targeted to the outside.

Basically, as Android uses `iptables` as well, the same should be possible directly on the device, one might think. But I'm not sure whether that is really true: from the Android device's point of view, everything is targeted outside (to its gateway). Which gives another idea:

---

## On the Android device

I've just checked on my device, and Android indeed includes the `route` command (though I needed to run it via busybox, e.g. `busybox route` to show configured routes). So let's assume your local network uses `192.168.0.*`, and your router being `192.168.0.1`, you could do the following:

```
# default gateway (should already be defined), but we don't want this
#route add default gw 192.168.0.1 wlan0
route del default gw wlan0
# re-add route for access to the local network
route add -net 192.168.0.0 netmask 255.255.255.0 192.168.0.1 wlan0

```

Now the device should no longer know what to do with packages e.g. for `8.8.8.8`, and would return a "no route to host". The example already shows a problem involved: `8.8.8.8` is one of the pre-configured name servers. So make sure you configure your device to use a name server in your local network, if you want name resolution (well, Google's name server won't be of much use for your internal network either).

Not also that your interface used might not be called `wlan0`. Find out by invoking `route` without any arguments: this will list all established routes like this:

```
link-local      *               255.255.0.0     U     1000   0        0 eth0

```

So in this case, I had to use `eth0` for the interface.

```
192.168.0.0     *               255.255.255.0   U     205    0        0 wlan0

```

This would describe our example, using `wlan0` as interface, and `192.168.0.*` as network. As on my device this route already had been present in the routing table, it might even suffice to simply drop the default gateway.

I didn't run a test to verify everything is fully working according to your intention (though it should, I might have included some typo here or there). So I'd be glad to hear from you how well it did :)

# Answer
> 0 votes
Droidwall an app will be the perfect answer to that. (ATTENTION: will require root).

# Answer
> 0 votes
On your phone find the network your connected to in the network options connected to and modify network in advanced options change the value to "Static" you can leave the ip address field unmodified but in the default gateway field change it to 0.0.0.0 and hit save. You will get a message that the connection has no internet access but still be connected to your router and will be able to access devices within your local area network. The way you get to this option varies depending on your phone and android version, if your not sure just google "how to setup a static ip address on a (your phone model here)"

---
Tags: wi-fi, networking, lan
---


title: Disable new Android permission system

text:
# Question
Title: Disable new Android permission system
I really like the new permission system in Android from the end users point of view as I like to have control over what my phone does but I am really struggeling with it at work, here is why:

We are developing apps and I am responsible for the QA and we recently introduced automated tests. During the testing process, we install our app on an Android Emulator (Visual Studio Emulator for Android). As our app needs access to location services, Android asks the user for permission. Since the user is "the king", the permission dialog is not exposed to our testing framework so we can't respond to it automatically and because the tests run at night, there is nobody to respond to that dialog manually.

So here is my question:

Is there any setting in Android to disable the new permission system? There is no need to set this setting automatically, I can set this one setting once by hand, the only thing I can't do is to respond to that permission dialog every time the app is installed.

Thanks for your help, vat

# Answer
Just for reference: Here is the answer that solved my problem (taken from https://stackoverflow.com/a/32798532/5736633):

You can grant and revoke permissions using:

```
adb shell pm grant com.package.myapp android.permission.<PERMISSION>
adb shell pm revoke com.package.myapp android.permission.<PERMISSION>

```
> 1 votes

# Answer
# `adb install -g package.apk`

I had a similar issue in automated testing: when launching the app the permission dialog popped up. The `adb shell pm grant …` command did not help but there is the `-g` option of `adb install` to grant all permissions upon install. This solved the problem for me.

From `adb --help`:

> ```
> Android Debug Bridge version 1.0.41
> Version 30.0.5-6877874
> […]
> app installation (see also `adb shell cmd package help`):
>  install [-lrtsdg] [--instant] PACKAGE
>      push a single package to the device and install it
> […]
>     -g: grant all runtime permissions
> […]
>
> ```
> 2 votes

# Answer
You can't disable it completely, and you wouldn't want to do it on your test machine even if you could, because then you wouldn't be able to test how your app interacts with the permission system (e.g. displaying the "permission rationale", handling rejected requests, handling loss of focus when the dialog shows).

This question on Stack Overflow, our sister site for programming questions explains a few ways you can manage Marshmallow's runtime permissions when running tests, and another question on the same site has some different answers. As you've said you're willing to do a one-time action to make it work, don't forget that you can check the "don't ask again" option when you get the permission dialog, to automatically accept future requests for the same permission from the same app.
> 1 votes

---
Tags: permissions
---


# Question
Title: New Samsung S6 tablet stuck on Samsung logo?
I have bought 20 Samsung s6 and after every 4 of them got stuck on Samsung logo, I keep them on charging for 2 days. Nothing work for me.

# Answer
> 1 votes
Since 5 of the Samsung tablets you received are working differently than the other 15 tablets, it's clear that either:

1. Samsung has sold you a bunch of defective tablets.
2. You received at least some counterfeit tablets.

In the comments, you mentioned that you believe you purchased them from a reliable source. If they are genuine, your experience indicates Samsung has a quality control issue... perhaps a serious one.

Return the tablets for replacements or insist on a full refund.

Note that I've purchased multiple Samsung Android products with serious problems, and trying to get support from Samsung was time consuming and a huge hassle. I now try to avoid Android devices made by Samsung.

# Answer
> 1 votes
If they're new, I'd return them for an exchange. (And make sure you're not getting cheap fake copies of Samsungs.)

---
Tags: samsung, reboot, samsung-galaxy-s-6, android-10
---


# Question
Title: How to make my Android device forget a PC?
I am running Android 10 on Realme 2 Pro.

So, I am having a lot of trouble connecting this device via USB for file transfer.

I don't know what's the problem. I have tried enabling and disabling USB debugging.

One thing I recollect is that one day I connected it to a charging brick which it recognised as a USB connection instead of AC and I clicked on file transfer.

Since then and before, I haven't been able to connect my device via USB. One day it connected to somebody's PC and that gave me the idea if the Android can forget previous PC, it might work. Is there any solution?

# Answer
> 1 votes
There are two possibilities to forget the connection setting:

### USB Charging/MTP

You can change the default behavior your phone uses when connected via USB in the Android settings app.

As far as I know by default there is no entry in the settings list to configure the default USB mode, however if you use the settings search field and search for **usb** you should get an entry named **USB settings**

Note that this setting is disabled by default unless your device is connected via USB to a second device (PC, power bank, ...).

### Android Debug Bridge (USB debugging)

The option to "forget all PCs" that were authorized to use `adb` is in the Developer Options right below the entry for enabling/disabling adb. It is called

**Revoke USB debugging authorizations**

---
Tags: usb, usb-debugging, usb-connection-mode, usb-drivers, realme
---


# Question
Title: How to make saved images to retain saved in Whatsapp?
After some time all images in my Whatsapp look in the following way

i.e. as if I never downloaded them. Although I did.

How to make it keep images once downloaded?

# Answer
> 0 votes
Open a file manager app and go to folder WhatsApp \> Media \> WhatsApp Images and check if your images are still in that folder. If not, you can try downloading them from WhatsApp again, refresh the folder, and see if they appear there.

---
Tags: whatsapp-messenger
---


# Question
Title: How can I run multiple copies of the same app?
On iPhone it's very easy to clone an app (running multiple copies of the app on the same device); e.g.:

http://www.youtube.com/watch?v=H4f\_aLSRnQ8

Is it possible to do this on Android?

# Answer
> 5 votes
On Android, the *package name* of the app is what identifies it on the phone: that's what gives it its own space to run in, and it has to be unique in running apps. There are two options to get one app running two instances:

1. If you're on a Jelly Bean tablet, you can do this with multi-user support. Create two user profiles on the tablet, and you can run the app once in each profile. Each user's instance of the app gets its own storage.
2. If you have access to the source code of the app, you can create a new app by changing its package name. Then install the new app. What you end up with is actually two apps, each with one instance, but since they both have the same code and resources, it has the effect you're looking for.

These are the only two ways. If your device doesn't have multi-user support, and you don't have access to the app's source code (i.e. you're not the app's developer), then you're out of luck.

# Answer
> 3 votes
You can use an app called parallel space. Not only does it allow you to run multiple instances of the same app, it even allows you to hide installations within the parallel space app itself, set different color schemes and whatnot.

I came across it today in my quest for the same answer.

# Answer
> 2 votes
You can login with another user, by adding multiple user in your Android device. We can Enable Multiple User Accounts on Android 4.2 and Above.

1. Create another User Account by opening the notification by `double pulldown notification` to get the `other quick settings`.
2. In that other quick settings, on top-right corner you'll find a round icon. That is Admin user icon(if you're using it for first time).
3. Click on it and create a `new user`(it'll remain until you delete it) or use a `guest user`(it'll be deleted after using it, but you can also keep it).
4. After creating `new/guest user`. Just go to `Google Play Store`, install whatever app you want. Don't worry it'll use your existing same app files but not users data, so it won't download a new one.
5. You can login those apps with another id. Like this you can use Whatsapp, hike, facebook, twitter, paytm and more...
6. Before that, go to `more settings` Click and open that created new/guest user's settings and enable `Allow phone calls and SMS`. So that you'll get verification SMS or call.

If any help you can comment it, i'll keep on updating it if any change or improvement.

# Answer
> 0 votes
> If your device doesn't have multi-user support, and you don't have access to the app's source code (i.e. you're not the app's developer), then you're out of luck.

cant we reverse engineer .. like most apps? open the package in editor and make changes?

ohhh here http://forum.xda-developers.com/showpost.php?p=21819887&postcount=5

> It would be possible if you were to decompile the .apk , edit the manifest file to rename the app to something else so the system thinks its a different apk, then compile, sign it, and install to phone, hassle free. Not too hard

---
Tags: applications
---


# Question
Title: Getting rid of one of the second keyboard dropdown suggestion list
I just got the google Pixel 4a 5g. See the screenshot: there are 2 suggestions lists: the horizontal one just above the keyboard (where it says "GIF") and this black dropdown. I find it pretty ugly and in the way of the other suggestion list, is there a way to deactivate that dropdown?

# Answer
> 0 votes
using help from @beeshyams, it was under System -\> Language \> Tools -\> disable spelling check

The suggestion strip (under System -\> keyboards) is the horizontal bar that I wanted to keep.

---
Tags: keyboard, gboard
---


title: TWRP for new 2020 Samsung device

text:
# Question
Title: TWRP for new 2020 Samsung device
I wanted to buy a new phone, but one that I could install TWRP on. I searched and found that the Galaxy A01 CORE is cheap and good and I almost bought it. I tried to search for TWRP for the device unsuccessfully.

I have not found **any guide or website that explains how to** install TWRP on this device. Is it because it's new and only came out on 6/8/20?

The question is basically about new phones and TWRP, since the phone came out it has been about 4 months, how long does it take until a version of TWRP is released that is suitable for the phone? If I want a phone with TWRP I will always have to buy an old one? Because new phones are always released every year, and the problem is that **stores are no longer selling phones from 2019**, so what can be done?

Is there some way to install TWRP on Galaxy A01 Core?

# Answer
* TWRP is not released by OEMs. It is developed independently by volunteers *after* the device is marketed and it's kernel and ROM sources are released (they are legally obliged under GPLv2.0) .
* Not all devices have TWRP because they are not suitable for development for technical reasons like bootloader can't be unlocked, SoC not suitable, OEM releasing source late etc. Also, developers make TWRP for devices that are popular and suitable for development. OEMs at times give out free devices to developers to make their devices popular.
* If you are keen on buying a device that has TWRP support, keep a tab on the device forums on XDA and based on the TWRP /kernel /ROM support from developer community, take a decision to buy or not.
* This site doesn't give buying recommendations. If you can't find the device in stores, look for alternatives like on line sites etc. Google is your friend.
* Or else, learn how to develop (this site doesn't support questions on that) and make your own TWRP. Note that TWRP is specific to the device & device variant (Samsung makes several variants for the same model) and you *can't* use TWRP meant for some other device, irrespective of similarities in devices.
> 4 votes

---
Tags: samsung, twrp
---


# Question
Title: What determines the graphics of a device?
I do play a lot of games and most games settings have options to either set your graphics to low, average or high. So I'm really curious to find out what exactly determines the graphics of a phone so that I can set my game graphics according to what will work perfect.

# Answer
The major hardware elements that determine what graphics quality you can choose are:

1. Graphics chip built into your main CPU. The faster it is and the more parallel computation cores it has the more calculations per second can be done
2. The maximum RAM of your device
3. The display resolution. The higher the resolution the more pixel have to be calculated -\> the longer the calculation of each display frame takes -\> the less frames per second can be displayed
> 2 votes

---
Tags: applications, settings, google-play-games, graphics
---


# Question
Title: My Pixel C tablet doesn't respond to the unlock pattern and the recommend action to debrick it doesn't work
I have had this Pixel C for about 3 years, possibly more.

Two days ago it stopped responding to the unlock pattern. This seems to be a fairly irregular thing on Google devices and never fixed. The recommended course of action is to do a factory reset.

However when I start the device with volume down and power the only options I see are:

* Restart this device
    + Does as expected.
* Switch to fastboot mode
    + Goes to a screen stating "Waiting for fastboot command...."
* Reboot in Android Recovery
    + Reboots and shows the dead android with "No command" below it.
* Turn off this device
    + Does as expected
* Switch to USB recovery
    + Shows a page stating "For more information on USB recovery, please visit: g.co/c-recovery. That page tells you to open up Settings - I can't unlock the device so I can't do that. If I could unlock the device I wouldn't need to do this!

The additional information is: PRODUCT NAME: GOOGLE Smaug HW VERSION: 5 BOOTLOADER VERSION: Google\_Smaug.7900.139.0 LOCK STATE: Locked

How do I debrick my tablet?

# Answer
Just in case anyone else comes this way searching for an answer, I did get one on the XDA forums.

The solution is to start the device with volume down and power pressed. This brings you to the menu I described in my original post.

Select the Reboot in Android recovery option. Once you get the dead android logo hold power then press and release volume up, then release power.

That will bring up another menu which allows you to do a factory reset.

Once that is done you can restore your tablet.
> 4 votes

---
Tags: unbricking, google-pixel
---


title: Where Did Pocket Go?

text:
# Question
Title: Where Did Pocket Go?
I lost Pocket and other options in Android Chrome share...

How do I get them back? Apologies, as I think I'm missing something obvious and I'm being stupid.

# Answer
It's a default feature in Firefox but in chrome you need to add it as an extension see here
> 1 votes

# Answer
So I had never added the functionality as an extension, but I found out that what I was looking for "folded away". It turns out that if you "scroll right", there is a "More" horizontal ellipse, and I found Pocket under that. Why it's hidden away when it's the only share I use, is a mystery to me.
> 1 votes

---
Tags: updates, share-menu
---


# Question
Title: How to put bluetooth prompt on notification bar when receiving files [incoming file no option to select yes or no]?
Okay, I'm not sure how to phrase this question but what I am trying to achieve is to have a bluetooth transfer prompt right on the notification shade instead of having to pull down, then tap on the transfer request.

I think images will work best to describe what I'm trying to achieve. Here is how it appears on my primary device (Redmi Note 4, MIUI 9):

I want it to appear on the notification bar like this:

Basically I want the **accept** or **decline** prompt right on the notification bar, rather than tapping the notification first. (Any methods welcome, I have Tasker if its needed) or even third-party apps are okay.

# Answer
> 1 votes
This was more of a ROM issue, couldn't bother to find a workaround but it was fixed in later versions of the MIUI ROM:

---
Tags: notifications, bluetooth, notification-bar
---


# Question
Title: How to decrypt Island / Work profile and Parallel Apps user in TWRP?
TWRP 3.4.0.0 release introduced multiuser decryption which means no more error 255 or other multiuser backup errors on devices with multiple users setup. The problem is, TWRP requires all the users to be decrypted in order for the backup to be successful. But, I can't seem to decrypt Island / Work profile user (user 11) and Parallel apps user (user 999) in my OnePlus 6 running Android 10.

**Note:** Parallel apps user is specific to OnePlus devices.

Here's what happens when I enter my PIN in TWRP on boot or through command-line:

```
Attempting to decrypt data partition or user data via command line.
Attempting to decrypt FBE for user 0...
User 0 Decrypted Successfully
Attempting to decrypt FBE for user 10...
Failed to decrypt user 10
Attempting to decrypt FBE for user 11...
Failed to decrypt user 11
Attempting to decrypt FBE for user 999...
Failed to decrypt user 999
Data successfully decrypted
Updating partition details...
...done

```

I can explicitly decrypt secondary user 10, so no problem there, but I am unable to do that for Work Profile / Island user and Parallel Apps user (user 999).

Doing `twrp decrypt MY_PIN_FOR_USER_0 999` doesn't work. Running `locksettings verify --user 11` and `locksettings verify --user 11` gives me

```
Profile uses unified challenge

```

So, how do I decrypt these user accounts so that I can make TWRP backups?

I am unable to put the answer to this question to my use. What is a "synthetic password" and how is it used by Android?

---

**Edit**: From the TWRP issue tracking link shared by alexcs, the solution for work profile is to separate its lockscreen credentials from the primary/main user. This seems to work so far. However, it doesn't not work for decrypting parallel apps user (999).

# Answer
**Note**: this solution is tested on Android 10 (OxygenOS 10.3.2) in OnePlus 6 with TWRP 3.4.0.3.

The idea for things to work smoothly in TWRP is that **your main user must not have any lock screen security/credential** for the purpose of taking backup in TWRP. This way, TWRP can automatically decrypt main user, work profile user and also the Parallel Apps user.

Follow these steps:

1. Setup a Screen Lock to PIN/Password/Pattern for your main user/profile, if you don't have it already.
2. In Settings → Security & lock screen, enable/tick *Use one lock* for Work Profile. This means that neither Android system, nor your work profile apps would ask for additional credentials to be used.
3. Set Screen Lock for your main user/profile to None. That is, remove lock screen security.

Now, boot into TWRP. TWRP would automatically decrypt your main user account (user 0), your work profile account, and also the Parallel Apps user (user 999). If you have setup a secondary user account, you can easily decrypt it with the command:

```
twrp decrypt CREDENTIALS SECONDARY_USER_ID

```

Alternatively, in TWRP, go to Advanced → Decrypt User → select your secondary user → enter its credentials.
> 2 votes

---
Tags: twrp
---


# Question
Title: How many times can an app purchase be refunded on Play Store?
How many times can one purchase an app and refund and continue to do so?

Wouldn't continuous refunds hurt Google ?

# Answer
> 1 votes
Paid apps/games!/in-app purchases can only be refunded **once**. If you buy the app again, you can't get refund

From Play Store help (see Refunds & returns → Learn about refunds on Google Play →Google Play refund policies)

> Note: You can only return an app or game for a refund **once**. If you buy it again you will not be able to get a refund. If a refund is issued you will lose access to the item.

(Emphasis added)

Related: If a paid app stops working, can I get my money back?

---
Tags: google-play-store, paid-apps
---


# Question
Title: TWRP restore: backup not seen in different device (same model)
I have 2 pieces of the same device (crackling) and I wanted to clone `#1` onto `#2`. Both are running TWRP 3.4.0.

I ran backup (unencrypted) to SD card on `#1`. Backup data is stored on the SD card in `TWRP/BACKUPS/4400d489/2020-09-03--02-42-32_lineage_crackling-userdebug_9_PQ3A190801002/*` (`boot.emmc.win`, `boot.emmc.win.sha2`, `data.ext4.win000`, `data.ext4.win000.sha2`, ...)

When I run TWRP on `#1` again, to test Restore, it says: "Select Package to Restore":

```
2020-09-03-02-42-32_lineageos_crackling-userdebug_9. [...]

```

which, upon selection, offers `System`, `Data (excl. storage)` and `Boot` for restoration, as expected.

TWRP on `#2` (same SD card inserted) says "Select Package to Restore:"

```
4400d489

```

(it is the parent directory... why?) and then offers no partitions to restore.

What is the problem here (SD card is fine)?

# Answer
> 1 votes
* The number `4400d489` corresponds to the device serial number of Device 1.
* Since you ruled out problems with SD card, try this. Make a backup of a small partition on the second device on the same card. It will create a folder corresponding to the serial number of device 2. Copy the files from backup of `4400d489` to this folder. I am not sure why in your case this folder was not created but was backed up to `TWRP/BACKUP`
* Restore the backup on Device 2 (mount all partitions in TWRP) ,making sure you *don't* back up boot image from Device 1,as that may have device identifier information. Restoring that would create problems.
* It's always a good idea to always have a backup stored on your laptop. SD cards can go bad without warning too.

---
Tags: backup, twrp, restore
---


# Question
Title: Why is Google Play Music the only app that produces a "Browse" button on my car stereo?
If I connect my phone via Bluetooth to my car (2016 Toyota Corolla), and then play music using the **Google Play Music** app, the car shows a **Browse** button, which allows me to navigate through artists and albums with the car's buttons:

If I install another app, it doesn't show the Browse button on the car stereo.

Apps that produce a Browse button:

* Google Play Music ☠ (RIP)

Apps that do not produce a Browse button:

* AIMP
* BlackPlayer
* Canaree
* FPlay (found by searching for "AVRCP")
* JetAudio (found by searching for "AVRCP")
* kure
* MediaMonkey
* Music \[com.maxfour.music\]
* Music \[com.android.music stock\]
* Music Player Go
* Musicolet
* Nyx
* Odyssey
* Omnia
* Oto
* Phonograph
    + Vinyl
* Pretty Good
* Pulsar
* Retro
    + Metro
* Samba Player (found by searching for "AVRCP")
* Shuttle
    + Shuttle+
* Simple Music Player \[com.simplemobiletools.musicplayer\]
* Timber
* Vanilla
* VLC
* **YouTube Music**

Is there some Bluetooth feature that needs to be supported by an app in order for this button to show up? What is the feature's name? How do I find apps that have it?

This is especially important now that Google has killed off Google Play Music and replaced it with YouTube Music, which does not provide this Browse button on a Bluetooth connection.

If I knew what this function was called, I could try to pester Google, or the third-party app developers, and ask them to add support for it.

# Answer
The Bluetooth snoop log with the other players shows that the players do not support browsing as part of the GetFolderItems request on AVRCP.That is the reason why browsing is not working with other players. It shows that browsing support is advertised only with GPM and the player is marked as BluetoothPlayer and not GPM in the snoop log.
> 2 votes

# Answer
This "browse" feature is probably part of "*Audio/Video Remote Control Profile*" aka AVRCP. AVRCP has different versions with different feature sets. Browsing of playlists was introduced in version AVRCP 1.4 and improved in version 1.5, according to wikipedia.

This bluetooth profile must be supported (in the correct version) by the the car stereo, the mobile phone as well as the app.
> 2 votes

# Answer
I'm going through this AVRCP nightmare last months. The result and my experience is, there must be an Android 8 on the phone (introducing 1.4 AVRCP in this version), but with Android 10 the browsing not working again (Samsung Galaxy A20e). So I search and find a phone with Android 9 (Xiaomi Redmi Note 8T) and using it with the JetAudio HD Music Player Plus in my 2017 Opel Insignia Grand Sport, the Bluetooth music playing work like a charm with browsing, shuffle play etc. and it work with good and strong volume too.
> 0 votes

# Answer
There may be the following solutions, from Android Authority:

> **Problem #3 – Tracks missing on phone but available on web player**
> In the Settings menu, go to Apps or Application Manager, search for Google Play Music. Then tap on “Storage” and then press “Clear Cache.” On some devices, you may find this under the “Storage and USB” section in the Settings menu. Restart the device, then open the Play Music app and all your music should now be available.
>
> **Problem #4 – Songs not uploading**
>
> Also, make sure that the audio you are trying to upload on Google Music is of a supported format. Supported formats include MP3, AAC (.m4a), WMA, FLAC, OGG, ALAC (.m4a), and DRM protected AAC (.m4p). Some music file types like WAV are not supported. ... If songs aren’t uploading, make sure that the library isn’t full. Currently, you can upload up to 50,000 songs to your library. If you have gone past that, your only option will be to delete some other tracks to make room for new ones.

Hope this helps you!
> -1 votes

---
Tags: bluetooth, music-player, google-play-music, bluetooth-audio, automotive-head-unit
---


# Question
Title: International roaming, forbidden networks, hidden sim toolkit on one plus 5T
I have used international roaming many times before with my one plus 5T and my native Vodafone India providers roaming plan. But this time I landed in Germany and it did not work.

I've been trying to debug and even on manual network selection most of the networks appear as "forbidden". Same networks used to latch on on earlier trips. My native Vodafone provider confirms that roaming is indeed active on my plan.

I tried to reboot, reinsert the Sim but nothing works.

One of the debug steps suggested involved steps in the Sim toolkit app. This app is somehow visible under apps but I cannot seem to find it anywhere. Ideas? How can I find where it is to use it.

Even in network settings the sin toolkit option does not seem there. Other users seem to have it there. I cleared my cache but no help.

Anything else I can try to fix this?

I am on Android 8.1.0 and oxygen is version 5.1.7

Any tips are very welcome! I'm stuck here in Germany with no connectivity and my providers help desk is pretty useless.

Eg. Would inserting the Sim into another device and then back into this one help? Are there roaming related settings that need to be pushed onto the Sim?

# Answer
I also faced the same problem with OnePlus5 mobile and with Vodafone IN. The local networks in Germany were showing as forbidden. The debug is to go to Sim Tool Kit -\> International Roaming -\> Select International from the options. Then try to manually search the network. This time also the networks may show up as forbidden, however click on the correct network and the settings will be completed automatically and you will be latched to International Roaming.
> 3 votes

# Answer
I had same problem with Airtel but in another country. But same SIM worked in same phone in some other countries. When I used to land in one particular country it won't latch to any network. I was having this problem for almost one year. I managed by inserting the SIM in a feature phone and it worked well. Finally I figured out what needs to be done to make it work in a smartphone. Please go to manual network selection and select your operator even if it shows as forbidden. It worked for me and might work for other also.
> 2 votes

# Answer
In case it helps others here's how I fixed the issue: Take any other phone, maybe borrow one from a German local (I had a backup Moto G with me) and insert your SIM card in the new phone.

This action will somehow activate it. Then reinsert the SIM into the original One Plus 5T and magically everything works fine again.
> 1 votes

---
Tags: sim-card, mobile-network, roaming
---


title: Play sound from two apps simultaneously

text:
# Question
Title: Play sound from two apps simultaneously
Is there a way to play sound from any two apps (or more) simultaneously on Android? For example I have Audible reading a book. I'd like to play sound from a relaxation app at the same time. Or from my music collection.

# Answer
> 1 votes
i have the similar situation on my note9 running android 10 kernel version 4.9.118\* and using OneUI 2.5. I noticed that my phone was doing this when I was listening to spotify and then i launched another music app expecting the spotify to stop but both keep playing music. It seems any music or audio app can multiplay with other music/audio app simultaneously.

# Answer
> -2 votes
In Android, there are some things called **tasks** and **processes**. Whenever an app is opened, processes are started, threads are created, and these run and together make a task. Android system is multi-tasking, no doubt on that, because you can switch from one app to another through the tabs option in your phone.

But, Android system runs only **one main task**. When you open an app, and you're currently using it, then it becomes the main process at that point of time. Other apps, which may be open, continue to run in background, but only one app and its processes run in foreground.

Playing music, that is, accessing the speaker, can be done by foreground processes only. If you start a music to be played by some media player, and press the home button, then also the music keeps playing. You might think that the music is playing in background, but that is not the case. In this case, even if you've come to home screen, then also the app processes are running in foreground, although you're not able to see the app window.

If you try to open any app at that moment, immediately the media player app processes become background, and hence the music is stopped.

In Android, threads and tasks cam be killed by pressing the back button.

Two main processes cannot work in foreground together. Many processes may run in background, but only one foreground main process.

In this context, you cannot play sound from two different apps together.

---
Tags: audio, music, multitasking
---


# Question
Title: Any easy and free way to install One app Two times in Android
I have seen some other way such as using Pro editor apk. or using root, but I want any other way which is free to install One app two time in my android device.

Thankyou Your answers and comments are highly appreciated.

# Answer
> 1 votes
I solved it using **Shelter App**. Shelter App created Work Profile on my Android 10.

Shelter is useful for creating an isolated space and utilizing the work profile feature on Android. And in that room, we can install or clone applications.

---
Tags: applications, adb, apk, google-apps
---


# Question
Title: Android 11: Can't see contents of "/sdcard/Android/data" even with root
Using rooted file explorers like Solid Explorer, Mix Mixplorer, I cannot see content of `/sdcard/Android/data`

Why? How to overcome?

# Answer
> 9 votes
Though it may be trivial, posting the solution to make it easier for those seeking answers

* It's because of restrictions imposed in Android 11. See Storage updates in Android 11. Apps are permitted to see *only* their folders and not of those of other apps,with these restrictions.
* If your explorer is updated for Android 11 and you can't see, you can view the content going the long way `root/data/media/0/Android/data`. If your explorer supports, add a favorite tab. Alternatively `/sdcard/Android/data`.
* Use a file explorer that is not updated to Android 11 (SDK 30) and you can view directly as before (This is my assumption, haven't tested)

Edit : I just checked SD Maid app. This app has a file explorer built-in and targets SDK 30. Surprisingly, file explorer of this app can access without any issues. ~~I am guessing that this app has exemptions given the nature of it's purpose and maybe those exemptions aren't given to file explorers.~~. From the developer on mail

> I did not make specific changes to the Android/data browsing but SD Maid already had fallback logic that automatically determines what permission levels are required to access a path.

---
Tags: file-management, android-11
---


title: Accessing music on samba share

text:
# Question
Title: Accessing music on samba share
I'm in the process of putting a large amount of music ~1.5TB (in many folders) into a samba share on ubuntu. I'm wondering what a good application to stream this to android would be, currently I can access the samba share with es file explorer, but I don't think it will be good for playing albumbs. Testing it out, it could play individual tracks quite well, but I could find no play all option for a folder in any of its play options. I don't need album art or search by artist, just want to be able to play all songs in a folder quickly/flexibly. Thanks in advance for any tips.

# Answer
There are a couple of good samba network music players available on market. For starters you can take a look at Soumi: Network Music Player

Its keys features include..

> * Plays music from shared folders on local SMB/CIFS network, e.g Windows share, WiFi drive, NAS, USB drive attached to router, etc.
> * Plays music from FTP, FTPS, SFTP, and WebDAV servers
> * Browsing and instant searching by artist, album, genre, and title
> * Find, browse and **play music by folder**

*Note; It offers In-app purchases for certain features*

Other potential candidates include Kodi (which I personally use but is a bit tricky to setup and consumes a bit more battery power) or BSPlayer which also allow playback of media files directly via Wi-Fi from your network shared drives/folders.

Another option is using DNLA or UPnP (only downloadside is you need to setup a media server at the other end. In that case you can use DLNA players like Bubble uPnP or Plex.
> 1 votes

# Answer
https://play.google.com/store/apps/details?id=com.threecats.sambaplayer&hl=en&gl=US

aurel f/this so far is the best network player (android)
> 0 votes

---
Tags: file-system, music
---


# Question
Title: Can I mount /data/data/(app_name)/ on external sd card?
Can I mount `/data/data/com.termux/` folder on external sd card? My phone is rooted Android 10 and running low of internal storage.

As I read from How to bind mount a folder inside /sdcard with correct permissions? mounting to `/sdcard` requires permission to mount because `/sdcard` is emulated from `/data/media/0` and `/data/data/` is not.

And from Can the Termux environment be put on an external SD card? it can mount `/data/data/com.termux/` using `ln -s` because `ext4` support links while `fat` doesn't.

I don't know how `/data/data/` directory works but is it possible to mount `/data/data/com.termux/files/home/` directory to external sd card without formatting it as adoptable storage or making `ext4` partition?

# Answer
* create a file in MicroSD Card. make sure the file is not too large for fat32 file size limitation

```
busybox dd if=/dev/zero seek=4294967295 bs=1 count=0 of=/mnt/media_rw/6DE8-1BC6/loop.img

```
* create a file system (confirm with y)

```
/system/bin/mke2fs -t ext4 /mnt/media_rw/6DE8-1BC6/loop.img

```
* loop mount the file to existing directory

```
mkdir -p /data/data/com.termux/files/home/ubuntu20-fs
busybox mount /mnt/media_rw/6DE8-1BC6/loop.img /data/data/com.termux/files/home/ubuntu20-fs

```

---

**UPDATE:**

that works only for busybox with largefile support. according to user Jtnqr and user Hmm you may still facing some trouble. the following is exactly the same example like above but with screenshots
**** * * stop reading here * * ****

only one extra step is copying files/usr into loop file before mounting

---

* create a file in MicroSD Card

```
ls -la /data/data/com.termux/files
su
mkdir /storage/26B7-11F7/com.termux
cd /storage/26B7-11F7/com.termux
busybox dd if=/dev/zero bs=1M count=4095 of=usr.img

```

---

* create a file system (confirm with y)

```
/system/bin/mke2fs -t ext4 usr.img

```

---

* copy `files/usr` into loop file before mounting

```
mkdir -p tmp/usr
busybox mount usr.img tmp/usr

df -h | grep /dev/loop
grep termux /proc/mounts

busybox cp -acv /data/data/com.termux/files/usr tmp
df -h | grep /dev/loop

```

---

* loop mount the file to existing directory

```
umount tmp/usr
busybox mount usr.img /data/data/com.termux/files/usr
df -h | grep /dev/loop
exit
ls -la /data/data/com.termux/files/usr

```

---

the same can be repeated for other directories. you can loop mount another `home.img` file into `files/home` to extend termux storage

reason for splitting into multiple files is fat32 file size limitation \< 4 GB
> 2 votes

---
Tags: applications, external-sd, permissions, mount, android-10
---


# Question
Title: Trigger actions on notification received with IFTTT
IFTTT has a notifications channel but unfortunately it does not contain any triggers.

Is there any other way to perform an action when a notification is received? Is there any IFTTT service that can capture notifications and send them to IFTTT?
**How can I use an incoming notification as trigger in IFTTT?**

I don't see any reason why IFTTT can't be one of those notification manager applications.

# Answer
> 4 votes
You can use the Android Device IFTTT service:

> https://ifttt.com/android\_device

It has "Notification received from specific app" trigger where you can filter the Notification by app name and notification keyword.

Please beware that the keyword must be a whole word. Trigger won't be fired if you filter "receive" and the notification is "sms received". You must use "received" as a keyword to catch that notification.

The service also has "Notification received" trigger, that fires for all android notifications.

# Answer
> 1 votes
Likewise, I am in a similar situation although with the subscription method now implemented in IFTTT leaving free subscribers with only two steps IFTTT has now been left as purely a set of connectors. There is another app - Automate - that I now use to handle most steps in any workflow, however it can push a notification to IFTTT with relevant values and content assigned to variables, expose IFTTT's internal services and deliver into them (or receive from them). It is quite an in-depth app with capabilities far beyond IFTTT but for someone with little coding background it enables within a few steps for the relevant values (assigned to Automate's individual flow's variables) to trigger IFTTT and use IFTTT's connectors to deliver the payload to any of it's connectors.

For instance, I'm using it at the moment to wait for an URL to be shared to a specific flow within Automate through android's share mechanism to the particular Automate 'Fiber' (Automate's terminology for flow), strip the title, media and text into separate entities, and deliver them concurrently as a notification trigger, then via IFTTT's MyCloud Home connectivity to be stored on my device / account. This could also work the other way round as google assistant can pass messages through IFTTT which Automate can pick up, do the heavy lifting and ultimately pass back to IFTTT's connectors to complete.

So, to cut a long story short - the detour is via Automate which has access to all android system services and is far more complex and capable than IFTTT, though simple enough to use some of it's capabilities as a bridge where IFTTT isn't capable enough at all. It could all be done in Automate, however there would be a steep learning curve.

# Answer
> 0 votes
I believe the Android notification channel in IFTTT (If This Then That) can only *be triggered*, not *be a trigger*. I don't know of a way to use Android notifications to trigger IFTTT. You might want to expand on your question so we can see what you're trying to achieve- maybe there are other ways to go about it.

---
Tags: notifications, automation
---


title: Odin stuck at "File analysis"

text:
# Question
Title: Odin stuck at "File analysis"
When I press "Start" in Odin3 3.13, the log just says:

```
<ID:0/006> Added!
<ID:0/006> Odin engine v(ID:3.1.1301)
<ID:0/006> File analysis..

```

Then it is stuck forever, with the desktop computer's CPU constantly at 30% and 0% disk usage.

The same happens regardless of whether I start Odin then connect my device in "Downloading" mode, or whether I connect my device first and then start Odin.

**Question:** How to solved the problem, and successfully download the patched firmware?

My configuration is: \- AP: `magisk_patched.tar` produced by Magisk from the Samsung Galaxy S10e firmware `AP_G970FXXU1ASD5_CL15820661_QB23234096_REV01_user_low_ship_meta_OS9.tar.md5` \- Options: Disabled `Auto Reboot`, so that only `F. Reset Time` is left enabled.

# Answer
I did 3 things, tried again, and it worked (I mean it got past `File analysis`). I am not sure which one of the 3 things did the trick, unfortunately. You might want to try them all.

* Run SAMSUNG\_USB\_Driver\_for\_Mobile\_Phones.exe
* Use a different USB port, for me COM7 instead of COM6.
* Get the ROM for my phone's region. It is binary equal to the file I tried yesterday, though, so I doubt it changed much.
> 2 votes

# Answer
i found that you must use the correct version of odin. For example, if your md5 file made in year 2015, you need to use the same odin version of the year 2015 (odin v3.07)

Try this by myself and it works. May work for your phone too.
> 1 votes

---
Tags: odin, samsung-galaxy-s-10
---


# Question
Title: How to take a screenshot using a keyboard shortcut on an android device?
I find using the power-button + down-volume button extremely cumbersome especially when taking time sensitive screenshots.

Is it possible to do this using a shortcut key on a bluetooth keyboard?

# Answer
1. Download Button Mapper app
2. decide a key to use to take screenshots(which you don't use usually).
3. Open the key mapper app and record the key in it(the UI is self explanatory)
4. Set the function of the key to take screenshots. Done

PS - remember to turn battery optimization off for the app otherwise if the system closes the app then no hardware buttons will work and you'll have to reboot.
> 1 votes

# Answer
There's `prtscr` button on physical keyboard that you can use to screenshot.
> 0 votes

---
Tags: 7.1-nougat, screenshots, keyboard-shortcuts
---


# Question
Title: Disable Bluetooth discoverability in Redmi 6 / MIUI 11
Is it possible to completely turn of the ability of my Redmi 6 (using MIUI 11 currently) to being discovered via Bluetooth by other devices? If yes, then how to achieve this?

Things I've tried or read so far:

* No corresponding system option (NFUI clone on my Neffos X9 still has it)
* This answer that is reported to not work under MIUI 10 so won't work most likely under MIUI 11
* Turning off Bluetooth Scanning (turned off, no effect, device still discoverable)
* Using Bluetooth Settings 3rd party application

I had the biggest faith in last option (Bluetooth Settings app), but it fails completely under Readmi 6 / MIUI 11. Not only Bluetooth discoverability is turned on again when phone is restarted or Bluetooth is enabled, as it is written here.

It is also turned on again when any paired device connects to it or when Bluetooth Settings app is reopened again. So this is a completely false pathway.

# Answer
> 2 votes
Found the "\[Tools\] MIUI Bluetooth Discovery App" thread in Mi Community. It lead me to Bluetooth Visibility Fix app which seems to be working as expected under MIUI 11 / Readmi 6 phone.

There's some work when start using it:

* It is a system service that needs special permissions to auto-start,
* It didn't work ("restarted" itself to "Visible to all") for first 2-3 times then it suddenly started to work.

But after some time it does seems to be resolving the issue in question and turning off Bluetooth discoverability permanently.

In case the Bluetooth Visibility Fix app is not working for you itself, the "\[Tools\] MIUI Bluetooth Discovery App" article also mentions some user-contributed app, available as direct .apk file download under above link. Consider it as an alternative.

---
Tags: miui, redmi, mi
---


# Question
Title: Why does Adaway want to install a self signed certificate?
In the preferences for the ad-blocker Adaway, it has option to "Install self-signed certificate". What exactly does this do and what are the risks involved?

# Answer
One of the best trends these days is the shift to encrypted Internet traffic, aka Transport Layer Security or TLS, and mobile apps are not the exception, often when testing a mobile app we need/want to see the data being sent from and received on our mobile devices but since most of the apps are using TLS on their network requests we cannot just proxy the traffic and understand the communication between the app and its server.

**Adaway uses it to block ads efficiently** (which is kinda obvious from the paragraph above :) )
> 1 votes

---
Tags: root-access, browser
---


# Question
Title: How to capture screencast video and root not required?
I found a lot of solution to make a screencast on Android but each time the root is mandatory.

Does anyone have the solution without root?

# Answer
> 1 votes
If you're willing to use external hardware, one good option is an External HDMI capture card and a USB to HDMI cable.

For example a `Blackmagic Design : UltraStudio Mini Recorder` is only $145 for an HD-SDI and HDMI thunderbolt device, and a Micro USB to HDMI cable can go for as little as $10.

This way the recording does not affect the performance of your device or app. More expensive than an app on the device, but much more flexible.

# Answer
> 2 votes
Well, the reason Screencast and similar apps require root permission is that the video data has to be accessed using the administrative privileges (i.e. roots access)

But you can always **use an app** such as No Root Screen Recorder to video record your screen. But the problem with this option is that you have to connect your device to a windows computer in order to capture.

This is the only option which is available to given you have *no root access*.

# Answer
> 0 votes
To record the screen on Android without having to connect the Android to some computer, one can use some video conference application that allows screen sharing on Android such as Google Meet or BlueJeans, and record the video conference. Example (I used BlueJeans): https://youtu.be/guiB\_8-XLg8 (I added a visual effect to see where I click on the screen).

# Answer
> 0 votes
One can use the application Screenshot touch (free for basic features and with ads) to record video screencasts. Example work the free version: https://youtu.be/bf2GMkq38b4 (tested with Android 10 on Samsung Galaxy S9), recorded with the settings shown on the screenshot below, which I chose to be the maximum settings (which end up being 1440p at 50 FPS on YouTube):

# Answer
> 0 votes
Android 11 comes with a native screen recorder:

# Answer
> -1 votes
ASC is an app that allow you to record your screen without root, but only for non-Tegra devices.

I never tested because my Galaxy Nexus is not supported.

# Answer
> -1 votes
The best and the most simple way and the more beautiful, How to Capture/Record Android Screen Without Root

http://www.youtube.com/watch?v=4K2UDfP4lN8&feature=youtu.be

---
Tags: screencast
---


# Question
Title: How can one change the timezone of Gmail (Android application)?
How can one change the timezone of Gmail (Android application)?

# Answer
*Edited with inputs from Irfan Latif (thanks) in comments*

You can change the system-wide time and/or timezone in Android but you cannot change either of both in individual apps because apps usually make use of system APIs to get time/timezone.

See Time Zone from Android Developers documentation

> Typically, you get a TimeZone using `getDefault` which creates a TimeZone based on the time zone where the program is running. For example, for a program running in Japan, `getDefault` creates a TimeZone object based on Japanese Standard Time.

However it entirely depends on the developer of the app. They may use some other approach to get timezone e.g. from public IP or device location. Or they may provide an option in app settings to entirely fake the timezone. But Gmail app does not do this and uses system time.

It seems to be possible to change the time zone of Gmail on desktop by changing Google calendar time zones (as I see on net search) but that's not possible on Android.

I am not aware of any rooted method that achieves this either, though some old Xposed modules claim to work in creating dual time zone clocks.
> 5 votes

---
Tags: gmail, time-zones
---


# Question
Title: Can files from android internal be recovered after using adoptable storage?
I have lenovo k50a40 which is pretty old. I was using my SD card as internal(adoptable storage). By mistake I took out my SD card with taking any backup and inserted another card. Now old card is not working and I have lost all my files. After trying available methods I came to conclusion that files on old card can't be recovered as its not encrypted.

Now what I'm thinking is, does android used to put all photos directly on SD card or first it goes into internal then its copied to SD card? If it first goes to internal then to SD then removed from internal then I think I can root my device and use a recovery app to recover the photos.

# Answer
your only chance to get files back is decrypt MicroSD Card with correct encryption key. as long as you did not discarded the adoptable-storage by forgetting SD Card or factory reset, they key will remain on device.

therefore you can try to root your device.
**be aware unlocking bootloader will erase all data.**
you have two possible options:

once you managed to access `/data/misc/vold` you can use linux `dmsetup` to decrypt your MicroSD Card and access the files

for more information refer to the adoptable-storage tag-wiki

How to decrypt Adopted Storage?
> 1 votes

---
Tags: applications, internal-storage, external-sd, internal-sd, adoptable-storage
---


title: WhatsApp Calling Recording

text:
# Question
Title: WhatsApp Calling Recording
I have an android phone (Samsung Galaxy S6). Does WhatApp Record Incoming Voice Phone Calls Automatically ?

In my call info log I see incoming, the length of time and a storage amount (40MB or so).

Can I access this incoming voice call recording ?

If WhatsApp doesnt record incoming or outgoing calls, how can I record them myself ?

# Answer
> 2 votes
No whatsapp calls are end to end encrypted and it doesn't record calls.

You can use Whatsapp call recorder to record calls. Remember to disable internet access of the app for more privacy :)

---
Tags: whatsapp-messenger, samsung-galaxy-s-6
---


# Question
Title: Why does my mobile data work for some things?
I'm not really sure when this started but I've discovered that I have some type of data. My parents haven't included data in my line yet I'm able to receive notifications from discord, youtube, google feeds etc. I can even do google searches or search for apps on the play store. But I cant actually go on a website or install an app. I cant watch youtube videos or read my discord messages. I cant play online games like brawl stars because it wont connect to the server. I can also use google maps and read reviews. My service provider is tmobile btw. Why does my mobile data work for certain things but not others?

# Answer
This issue is same as yours. t mobile.. no brawl stars.. The problem is with your ISP.
I suggest you to try using a trusted local vpn (check if local one works.. not sure). It won't slow down you internet speed and get the job done too.. I too play brawl stars btw :)
> 1 votes

---
Tags: samsung, mobile-data, google-play-services, t-mobile
---


title: How does su regulate app permissions?

text:
# Question
Title: How does su regulate app permissions?
I seen a lot of apps in the market that give superuser functionality to applications. However there is a pre-requisite of rooting your phone. I am curious how a rooted phone has those permissions already?

I've downloaded the source code and have managed to locate the su.c file that might invoke an application to change. But im still not sure. Can anyone give an insight on this?

Which actual files delegate permissions? Are all system apps given root permissions at startup?

# Answer
Once upon a time, there is a *walled city* with a large, **closed gate** bound by magical lock that can only be opened with a magical sword. According to the cityfolk's traditions, anyone who brings the magic sword and unlocked the magical gate is destined to be the lord of the city.

One day, a young hero comes to the city, bringing with him the magical sword he took from the *root* of the Yggdrasil tree. He tapped the sword lightly on the door, and immediately the magical gate unlocked itself and peered open. The cityfolks cheered, and as per their tradition, they anointed the young hero as the city's lord.

As a city lord, there are many tasks he had to do, one of which is to ensure the security of his people, especially **now that the gate is open** and bandits and thieves may attempt to enter the city and rob the cityfolks' of their belongings.

To ensure the peaceful days of the cityfolks, the wise lord hired a trusted SU manager to guard the gate; dutifully, the SU manager enters the city, and **he closed the gate behind him**, and he put a lock that only he can open, then he creates a big door knob for strangers to knock the gate, a small hole on the door where he can peek outside and look at the strangers, then **asks the city's lord** whether or not to allow strangers in.

In eternity, the wise lord ruled the city for a long time and the cityfolks lives happily ever after.
> 20 votes

# Answer
> Which actual files delegate permissions?

There is typically a "superuser" application that is included in rooting processes. This application is the gatekeeper/controller of which applications get root access. Any time an application asks for root access, this application will pop up and ask you to either approve or deny the request.

> Are all system apps given root permissions at startup?

As far as I know, everything must go through the "superuser" app.
> 7 votes

# Answer
I've been hunting for an answer for this myself, and information has been really elusive. But between other answers and questions here, and reading the Superuser blog, I think I've been able to piece together how it works.

In a standard \*Nix system, `su` checks if the user is authorized to become root (on some systems, everyone is; on others, they have to be a member of group `wheel` or something), prompts for the root password, and then grants root access.

On a rooted Android, what seems to be happening is that Superuser comes with a custom version of `su` that figures out what app invoked it, then checks the Superuser access database for whether or not that app is permitted to become root. If it is, then it makes the jump to root. If not, it spawns the authorization UI.
> 3 votes

# Answer
A developer has to call *su* within the application. once it calls that, and the user has granted permission to use *su*, then they run commands in the shell that has root permissions.

In a way, system apps have "special" permissions but not root like an app would get by calling *su*. They have the permissions that android grants system applications.
> 2 votes

# Answer
Unix based system have a special permission type called `setuid` which allows a file to be run by a non root user as if he is the root user.

In our particular case, `su` has the `setuid` permission and so it is being run as the `root` user.

Once invoked the `su` binary checks (with the SuperUser app) to see if it should grant the request for `root` to the requesting app, if the request is approved then it opens a shell as `root`, (which `su` can do since it itself runs as `root` because of the `setuid` permission that it has).
> 0 votes

---
Tags: permissions, root-access
---


# Question
Title: Are pictures lost forever if using TWRP to wipe data?
I have the following problem: I accidentally deleted an important picture and tried to recover it; Using DiskDigger (without root) I only find the low quality version of the picture - I read that I need to have root access to search for all pictures which I did not have - hence since I am using Android Oreo on my S8+ the only possibility I saw to root it was with TWRP and SuperSu using the way which is described here:

https://www.androidexplained.com/galaxy-s8-root-supersu/

Basically I did the following: OEM Unlock, then using the Downloadmode and Odin to put the TWRP tar file on it, then in TWRP I wiped out data, installed the no-verity.zip file and then installed the supersu.zip file and my root was successful;

Now I actually thought that when I use disk digger again, that all my pictures now can be restored (since the 'wiping' took like 10s it is impossible that all the storage got really overwritten)

Unfortunately, when running now the programme with root access I can't find any pictures I had before the 'wiping' - is that normal? Is there any way to recover it? Or did I screw it up?

One thing maybe worth mentioning is that the supersu failed to install in the first place and I played with the data format - precisely I changed the /data directory from EXT4 to exFAT and back because I thought maybe this would solve the issue;

I would be extemely thankful about any kind of comment about it - thank you so much

# Answer
> 1 votes
There is no way to recover files from factory reset. The userdata partition is encrypted and the encryption key is wiped. also new key is generated, makes it nearly impossible to recover the old key

Do not unlock bootloader it will perform factory reset. look for exploit root method on locked bootloader (android \< 6.0 only)

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


# Question
Title: Notification doesn't show up on Redmi 8 MIUI 11 and 12
Some push notification from some apps (some games actually, I wasn't aware about other apps) suddenly no longer appeared. When I first bought this phone, they all worked fine, but then I updated MIUI to 11 and 12, and since then notification from games wouldn't appear. They would only appear when:

1. I opened the said games
2. In battery-saving mode (on low battery, when I activated this mode, notifs will immediately popped up)

I have turned on notification in Settings for those apps, doesn't help.

Anyone encountered the same problem? Any solution?

My device: Redmi Note 8 Pro, Android 10 (Q), MIUI Global 12.0.2 Stable

# Answer
> 1 votes
This is usually a problem with battery optimization. Go to your settings and identify the list under battery optimization (that is the stock Android name, it could be battery saver etc). Remove those apps from the list

Edit: As confirmed by OP in comment, it is found under Settings → Battery & performance → App battery saver. Selecting those app(s) from the list, and changing from `Battery Saver` to `No restrictions` fixed the problem of missing notifications.

---
Tags: notifications, push-notifications
---


# Question
Title: What does the "modify/delete USB storage contents" permission really mean?
What does the `modify/delete USB storage contents` permission really mean? Does it grant access for the application to read, modify and write *all* the data on my USB storage? Maybe it is this only limited to a subset of that data (e.g. only data written by the application itself)? Or does it mean something else entirely?

# Answer
If you are familiar with the concepts of read and write permissions on various PC platforms, that is pretty much the same as what is going on here. You are giving the application write access to your "external storage" Which could be an SD card, or some storage space that comes with your device.

That permission indicates that the application is able to create, modify, or delete any files that reside on the SD card (or the non-removable storage space that the the OS treats most like an SD card).

So it could download a file from online and manually save it to your SD card.

It could generate its own image, text, audio etc.. file and save it to your SD card.

It could delete any file on your SD card.

It could find a file that already exists on your SD (even one with nothing to do with the app) and make changes to it.
> 9 votes

# Answer
It means that an application can read/write to the entire contents of your sdcard. Even if the application does not have this permission it will still be able to read from the contents of the sdcard. Giving it modify/write permissions will allow the application to create, edit, or delete files.

99.9% of the time this is so the application can do things like save data to the sdcard. For example this could be images from wallpaper app, or if the app is used to backup your sms messages for you, or even a podcast app needs to save the mp3 file to the sdcard.

There has been some "fuss" lately about ios having access to your pictures and other data on the device. You have to remember that these devices are not Phones, they are computers that make phone calls. It is no different if I install an application on Windows/Linux/OSX, the application will have access to every file on the system that I have access to.

If you don't trust an application to install it on your PC, you wouldn't install it. You should use the same thoughts with your Phone, but keep in mind that you may have even more personal information on the Phone then you would on your PC.
> 5 votes

# Answer
Each application has a specific storage folder. But, some folders are public, like the Pictures, Music and Ringtones folders. So, basically an application can write/delete files from a public folder and from it's own folder.

Take a look at this link for further details: http://developer.android.com/guide/topics/data/data-storage.html#SavingSharedFiles
> 1 votes

# Answer
SD card is an adoptable storage and can be mapped as internal storage (https://source.android.com/devices/storage/adoptable), but USB is a portable storage and only be treated as external storage , thus require different permission treatment
> 0 votes

---
Tags: permissions
---


# Question
Title: TWRP not asking me to enter password to decrypt
I need to restore from a backup. However TWRP stopped asking me for the password to decrypt. In the terminal emulator I tried `twrp decrypt 1234` but got the error "Failed to decrypt data". Whenever I try to use any other feature in TWRP, such as restore, it says "Failed to decrypt data". and "extracTarFork() process ended with ERROR: 255"

How can I restore from a backup?

# Answer
Copied from comments:

> TWRP needs a working firmware for decryption. If system vendor or modem is wiped, the workaround is to format userdata in order to remove encryption completely, so TWRP can mount it unencrypted.

Through experimenting I was able to get it to work by doing the following. First, try reflashing just TWRP in fastboot mode: `fastboot flash recovery twrp.img`. This may be enough, but if not se bellow . My phone is an Xperia so replace steps 1. and 2. with however you normally would install firmware.

**Steps:**

1. download phone's Firmware as ftf
2. Use flashtool to flash firmware
3. Use fastboot to flash TWRP
4. Use TWRP to wipe all data, but make sure not to wipe the backup you're trying to restore!
5. Use TWRP to install a new ROM.
6. Setup new ROM e.g. sign into WiFi
7. Reboot to TWRP again
8. Now TWRP should ask for password and you will be able to decrypt
> 3 votes

---
Tags: backup, recovery-mode, twrp, encryption
---


# Question
Title: How to disable FLAG_SECURE by modifying an APK file?
I want to mod an APK so that its `FLAG_SECURE` can be disabled. Can anyone please guide me in doing that?

I have used `apktool` to decompile the app, but I don't know which specific file to find in smali to disable this.

# Answer
There is not one specific file you have to edit. Instead, you have to search all smali files for a specific call. Luckily, the smali syntax is very specific so that you can search easily using a full-text search tool. I prefer Agent Ransack (Windows) or `grep -R` (on the command line).

In detail, you have to search the smali files for one of the following calls:

```
Landroid/view/Window;->setFlags(II)V
Landroid/view/Window;->addFlags(I)V

```

Before each call in the same line, there is noted which registers contain the parameters.

### addFlags

```
const/16 v2, 0x2000
invoke-virtual {v1, v2}, Landroid/view/Window;->addFlags(I)V

```

The second entry in the curly brackets is the interesting one (`v2` in the example).

If this parameter is set to `0x2000`. In detail, this is a bitmask and if the 14th bit is set, the screenshot protection is applied to the current screen.

Effectively, only the fourth position matters. If it is `2` or `6` (2+4) or `A` (8+2) or `C`(2+4+8) then the bit you are searching is set. But usually (in 99% of all cases), you will find the value `0x2000`.

Search the lines before the `invoke-virtual` if there is a command that sets the register we are looking for such as: `const/16 v2, 0x2000`.

If there is the call, and the second parameter has a parameter with the hexadecimal `2` at the mentioned position, you can simply comment out the whole `invoke-virtual ...` line by placing a `#` in front of the line.

### setFlags

```
const/16 v1, 0x2000
const/16 v2, 0x2000

invoke-virtual {v0, v1, v2}, Landroid/view/Window;->setFlags(II)V

```

For `setFlags`, it is very similar, just that the `0x2000` parameter has to be present in the second `v1` and the third `v2` mentioned register in the curly brackets.

Do that with every occurrence of `setFlags`/`addFlags` invocations.

Again, comment out the whole `invoke-virtual ...` line by placing a `#` in front of the line.

### Rebuild APK

Then rebuild (`apktool b ...`) the APK file (you can find it in the `dist` subfolder) and then use `apksigner` sign the built APK with a custom certificate and you are ready to install the app. `apksigner` is part of Android SDK, but can also be downloaded manually, see e.g. my post here.

Alternatively for signing you can use a tool like uber-apk-signer which simplifies APK certificate and key generation + signing the APK.
> 3 votes

---
Tags: applications, security, screenshots
---


# Question
Title: How to run e2fsck on Android, can't get "adb shell" with unmounted partitions?
I can access the Huawei P9 on Win10 with `adb`, and shell into it, but that is with the phone booted into OS. I want to run a filesystem scan (`e2fsck`), but need un-mounted partitions for that.

I read a thread where someone was running `e2fsck` from recovery on his phone using `adb shell`.

If I boot the phone into recovery using `adb`, I get *Reboot / Factory reset / Wipe Cache* on menu, but phone is inaccessible on PC (`adb` or `fastboot`). Booting phone into bootloader via `adb` or directly on phone, also inaccessible via `adb` or `fastboot`. Shell seems only to be accessible when Android is booted.

Any ideas?

# Answer
> 2 votes
Usually you don't need to run filesystem checks manually. Android runs this on every boot before mounting the filesystem (ref). So is the case with external storage (see this answer). However exceptions may exist:

> *"Some system images do not have e2fsck for licensing reasons (e.g. recent SDK system images). Detect these and skip the check."*

So you can check if `/system/bin/e2fsck` (or `/system/bin/fsck.f2fs`, whatever applicable) exits on your device. Or check `logcat` after some repeated reboots to confirm if filesystem check was run (usually in `vold` or `fs_mgr` log).

> If I boot the phone into recovery using `adb`, I get Reboot / Factory reset / Wipe Cache on menu, but phone is inaccessible on PC (through `adb` or `fastboot`).

You are booting into stock recovery provided by your OEM. But in order to run commands (including `fsck`) on `adb shell` or terminal emulator you need a custom recovery (like TWRP). Note that flashing custom recovery requires unlocking bootloader which is not supported on many devices (including all of the recent Huawei devices).
`fastboot` protocol is only available in bootloader mode (on supported devices), so not relevant here.

If you are sure that filesystem check is not being run on your device but it's required (due to filesystem errors), you can do a factory reset which recreates the `/data` filesystem.

---
Tags: adb, file-system, shell
---


# Question
Title: How to make Android always use external SD card instead of internal storage?
I created an AVD using

```
 bin/avdmanager create avd -d "Nexus 5" -c 2G -n nexus_5 -k "system-images;android-29;google_apis;x86_64"

```

The `-c 2G` is supposed to create a 2GB sdcard.

When I boot the emulator, however, `/sdcard` seems to point to internal storage on `/data/media` rather on the 2GB disk:

```
$ adb shell df -h
Filesystem                    Size  Used Avail Use% Mounted on
tmpfs                         996M  604K  996M   1% /dev
tmpfs                         996M     0  996M   0% /mnt
tmpfs                         996M     0  996M   0% /apex
/dev/block/dm-2               2.4G  2.3G   64M  98% /
/dev/block/dm-1               124M  123M  444K 100% /vendor
/dev/block/vdc                775M  302M  473M  39% /data
/data/media                   775M  302M  473M  39% /mnt/runtime/default/emulated
/dev/block/vold/public:253,80 1.9G  532M  1.4G  27% /mnt/media_rw/1400-1801
/mnt/media_rw/1400-1801       1.9G  532M  1.4G  27% /mnt/runtime/default/1400-1801

```

```
$ adb shell ls -l /sdcard /storage/self/primary  /mnt/user/0/primary
lrwxrwxrwx 1 root root 19 2020-12-01 13:29 /mnt/user/0/primary -> /storage/emulated/0
lrw-r--r-- 1 root root 21 2020-07-21 03:02 /sdcard -> /storage/self/primary
lrwxrwxrwx 1 root root 19 2020-12-01 13:28 /storage/self/primary -> /mnt/user/0/primary

```

```
$ adb shell mount | grep storage/emulated
/data/media on /storage/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid,default_normal)

```

When I try to `adb push` data to `/sdcard` this fails because there’s not sufficient space available (on internal storage).

How can I tell the emulator to use the external sdcard instead?

# Answer
> 2 votes
`/sdcard` isn't physically external SD card but a symlink to ***primary external shared storage***. See details in my answers to Android's Storage Journey and What is /storage/emulated/0/?

From your comment:

> How can make Android use the 2GB device instead of the smaller one. How do I configure this?

Android by-default doesn't use ***secondary external shared storage***. But apps can, if they want. See my answer to How to save files to external SD card on a non-rooted Android?.

If you want to make Android always use physical SD card as ***primary external shared storage***, you need to change your ROM's configuration from Emulated primary only or Emulated primary, physical secondary to Physical primary only. It's possible by editing the `fstab` file and some `init`'s `.rc` file. Follow the above official documentation links for details on configuration changes.

---
Tags: external-sd, sd-card, storage, android-emulator, avd-manager
---


# Question
Title: Install button greyed out on play.google.com
I tried installing an app on my phone from the Play Store website, but the install button is greyed out. What could be the problem?

The phone is a Samsung Epic 4G running 4.0

# Answer
The install button is greyed out if you have no compatible device linked to your Google account.
> 4 votes

# Answer
It is possible that you searched for the app using google. Somehow the google result links to the US version of the page, which grays out the install link for non-US people.

Remove the "gl=US" at the end of the URL address.
> 88 votes

# Answer
In my case the button was greyed out when I accessed the google play store by using a web search for an app and then following the link to the play store.

If I went to the play store first and then searched for the app, there was no problem.

The solution proposed by Georgi121270 (remove the "gl=US" at the end of the URL address) solved the problem. It seems that the web search found the US version of the play store, whereas when I went directly to the play store, it took me to the version for my local region.
> 5 votes

# Answer
In my case, it says the app is compatible with all my devices, but the reason seems to be that the app is not available in my region (this is not mentioned anywhere).
> 3 votes

---
Tags: google-play-store, installation
---


# Question
Title: Android 9.0 x86 apps keep crashing - no native bridge
So I'm not an expert in Android or in OSes in general although I can make my way around a Linux environment, just to add as a pretext.

I recently installed Android 9 x86 on a Linx 1010b tablet (Intel processor), and I have had many problems launching certain apps that just crash quickly after launching. I have installed and re-installed Android 7 and 8 x86 multiple times and it doesn't matter which version I use, I just have trouble using some apps. I also tend to have a problem installing apps (after about 8 apps installed, play store gets stuck on 'downloading', 'installing', or '95.99 %').

So I did some reading and found it may be to do with something to do with ARM (still not entirely sure what it is), so I decided to enable it, but when I enable the native bridge on my tablet, I get a download manager process, but shortly after stops, and the enabled button switches back to grey 'disabled'. I further found that libhoudini tends to be used for this native bridge, and I searched and couldn't find one for Android 9, and maybe this is why I am unable to enable it. Running `/system/bin/enable_nativebridge` as a super user in the terminal emulator was also ineffective and resulted in the error 'no such file or directory'.

Does anybody have any advice on what I should do? Is this really the source of my problem — not having a native bridge? Is it impossible to run Android with an Intel processor? Is there an alternative to libhoudini? Are there any versions of Android I can use and guaranteed to work — I basically need a few apps and that's it — Microsoft Office, Adobe, Kindle, Udemy, Coursera, and YouTube.

# Answer
> 2 votes
I think you have installed Android x86 on NTFS file system try with other Android x86 old more stable version like Android x86 7.1 With latest stable release or Remix OS or Prime OS

---
Tags: google-play-store, 9.0-pie, android-x86, arm-processors
---


# Question
Title: Can I enroll my device in Android Enterprise to install a root CA?
My phone can't be rooted but I want to MITM my own traffic. Is there any downside to enrolling my device as a managed enterprise device and installing a certificate through the program? It seems possible, but I have not come across this solution anywhere on the internet so I was wondering if there is a downside.

# Answer
Your question (or at least the answer) is more development-oriented. But I take the opportunity to share my limited knowledge from an end-user's perspective.

> Is there any downside to enrolling my device as a managed enterprise device and installing a certificate through the program?

Yes. The cost, and complexity.

In order to use Enterprise Mobility Management (EMM) on Android, you need to buy a Mobile Device Management (MDM) suite. Usually organizations do that for their employees; it has an initial setup cost and a recurring subscription fee per device.

Or you may think about developing a solution of your own. Developing a full-fledged EMM solution may take months and years. It may include building an EMM **console** (usually a web interface) to set policies, a back-end EMM **server** to hold policies, and a *Device Policy Controller* (**DPC**, or *Work Policy Controller*) app which fetches policies from server and enforces on device.

But as mentioned by @Robert in comment, Google doesn't want you use your own DPC app (which was a part of Google Play EMM API since Android 5):

> *"Android Enterprise is no longer accepting new registrations for custom device policy controllers (DPCs). Learn more."*

The latest recommended solution is to use Google's Android Management API (after doing a partnership with Google as EMM solution provider) which enforces policies on devices using Google's Android Device Policy DPC app, and also provides additional features (by making use of privileged Play Services) which haven't been part of previous implementations. It covers all possible scenarios including ***Work Profile*** (on user-owned or company-owned devices) and ***Fully-Managed*** devices (with no personal profile). Both should not to be confused with Android's multiple users.

## THE SOLUTION

So I don't think you'd want to go this far just to install a root/leaf CA. However there's a possibility to develop a simple standalone DPC app based on Android's Device Administration API (which the above stated solutions use under the hood), without integrating with any remote API. Shelter is an example of such use case, which provides app isolation / duplication by creating a Work Profile (it's open source, I've no affiliation). Using admin APIs it's possible to grant access to a client certificate, that's what you want. However as stated in (the link you provided: *"... certificate is available to ... apps installed in the work profile"*, and) the official documentation:

> *"All apps within the profile will be able to access the certificate chain and use the private key ..."*

So if you want to use the installed CA for all of your apps (including those installed in the personal / device-owner profile), your DPC must run in Fully-Managed mode, not a Work Profile. Luckily Google provides a Test DPC app which may run in both modes. It allows installing a CA, so can be a good starting point:

## THE CAVEAT

Quoted from Android Developers Blog:

> *"Apps that target API Level 24 and above no longer trust user or **admin-added CAs** for secure connections, by default."*

*"But app developers can choose to let their apps work with manually added CA certificates"* by adding `<certificates src="user" />` to Network security configuration. So in this case an EMM- / admin-added CA is no way different than a user-added CA, while the latter is very simple to achieve.
> 2 votes

---
Tags: certificates, device-administrator, android-enterprise
---