# Question
Title: How do I eliminate "labels" from the Gmail app on Android?
The Gmail on my tablet has a bunch of old "labels" from past email traffic, and I wish to remove/delete those labels.

None of the old labels have any documents in them (they are empty), but they are still shown on the left side of the Gmail screen. They are listed under the headings: "Recent Labels" and "All Labels"

By the way, I did access another screen that has the following listings:

* delete labels
* remove labels
* label:Junk-E-mail-FRIENDS
* cancel labels
* discard labels
* labels
* remove account
* remove account withdrawal
* create labels

I tried all the above commands to eliminate the labels appearing, but with no luck.

The message I get is ...

> Whoops! We didn't find anything for "xxxx labels"

How do I remove these old label listings from appearing on my screen?

# Answer
From app help, search for *Remove Labels*

On a computer, open Gmail. You can't edit labels from the Gmail app.

* On the left side of the page, hover your cursor over your label's name.
* Click the Down arrow.
* Click Remove label
> 2 votes

# Answer
If you open Gmail in a web browser, at the very bottom of the page it says mobile, older version, desktop; choose desktop. Now you can add, edit, or delete labels and folders from your mobile phone.
> 1 votes

# Answer
Looks like a mere refresh does not work. You will have to remove the label from desktop Gmail. Any removal of label will only be reflected in your Android Gmail app once you clear the data.

1. Make necessary changes from desktop to your labels.
2. Go to phone settings - Applications - Gmail - Storage - Clear data (+ cache)

This will work!
> 0 votes

# Answer
It's true you can't customize your labels from within the Gmail app in Android, but you don't need to physically do it from a notebook or desktop, you can still do it right from your Android phone by using Gmail through your web browser ᎓

* Use the Google search bar on your phone to search for "gmail"
* Tap the first result (" Gmail - Google ")
* If asked whether to open the web version or use the Gmail app, choose the web version, and you'll be looking at the familiar contents of your Gmail Inbox, only on the web via your browser ( see *footnote* )
* Tap the '' symbol, top left
* Scroll to the bottom to where, in very small print, it says **View Gmail in ᎓** and tap the blue **Desktop** link

Now you're looking at your Gmail Inbox exactly as you would see it on your desktop or notebook computer, so from here you proceed just as you would if that's what you were using. In this case ᎓

* At the bottom of the left column, tap the blue **Edit labels** link

You're shown *only* the labels you're allowed to customize, each one with its own set of **\[ Rename \]** / **\[ Remove \]** buttons … proceed accordingly ( and carefully ! ).

---

*If at this point you're **not** given the choice of opening the web version and the Gmail app opens automatically, it's because you need to clear the **Set as default** flag for the Gmail app in your phone's settings. The procedure for this will vary a bit depending on phone model, but on the Samsung Galaxy S8+, it's **\[ Settings ▸ Apps ▸ Gmail ▸ Set as default ▸ Clear defaults \]**, so 5 taps.*
> 0 votes

---
Tags: gmail
---


# Question
Title: Why I can't see Viber Videos folder in Windows Explorer (on Huawei P9)
When I connect my Huawei P9 to a PC and browse folders I can see viber/media folders on both Internal Storage and SD Card. In this folder I can see Viber Images and some dot folders, but no Viber Videos or User Images.

When I browse folders on the phone itself it shows these folders.

How can I see them in Windows Explorer?

# Answer
> 0 votes
I think that folder has some kind of system protection.

However, there is a way to see images and videos (at least on Huawei P8): Open Files app (Huawei's default file explorer) and go to /viber/media and rename it's child folders (Viber Images and Viber Videos) and you'll be able to see them in Windows 10 Explorer.

---
Tags: huawei, viber-messenger
---


# Question
Title: Is it possible to restore Google Authenticator on another phone?
Suppose I lost the phone with Google Authenticator on it. How do I restore it on another phone?

# Answer
> 2 votes
Unless you have previously backed up the QR code/secret key while initially setting up your Google Authenticator, this is not possible. Otherwise, you can contact each account's support team for help.

Alternatively, you can use another Authentication app like Authy (iOS and Android) or TOTP Authenticator (iOS and Android). These apps provide the feature to securely backup your codes and account details, so you can switch phone easily.

# Answer
> 2 votes
Yes, it's possible, if you had stored the initial QR code of your service. In that case, just scan your initial QR code when creation in the Google Authenticator.

# Answer
> 0 votes
If you saved QR codes or secret keys in the moment of token enrollment, you should use them to restore your tokens on another phone. Otherwise, you should contact the Support team of the service which you protect with the Google Authenticator. They will help you to restore an access to your account. After this, you can issue tokens on your new phone.

# Answer
> 0 votes
1. Copy `com.google.android.apps.authenticator2` from `data/data` to a safe backup location.
2. Locate the databases file in `com.google.android.apps.authenticator2/database/database` and view it with SQLite database viewer (included natively in Root Explorer)
3. Select `accounts` \- it will display all of the registered accounts along with the secret code next to it
4. Open the Google Authenticator app and select "Enter a provided key" and copy the desired account code.

---
Tags: google-authenticator
---


# Question
Title: Mounting portable SD card folder to internal folder (WhatsApp)
I am trying to mount WhatsApp media directory from portable SD to internal "SD", as the phone internal storage is very limited.

My phone: Sony Xperia XZ1 Compact (32GB internal storage, 128GB external SD card), Pie 9.0, stock image, bootloader unlocked, dm-verity, and SElinux enforcing. Magisk 20.1 (mount Namespace Mode= Global Namespace). bindfs v.1.14.2.

I have read and tried what is shown in these threads:

Output of /proc/filesystems

```
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cpuset
nodev   cgroup
nodev   cgroup2
nodev   tmpfs
nodev   configfs
nodev   debugfs
nodev   tracefs
nodev   sockfs
nodev   pipefs
nodev   devpts
        ext3
        ext2
        ext4
        vfat
        msdos
nodev   ecryptfs
nodev   sdcardfs
        fuseblk
nodev   fuse
nodev   fusectl
        f2fs
nodev   pstore
nodev   selinuxfs
        texfat
nodev   functionfs

```

The last relevant lines of output from mount -r ....

```
/data/media on /mnt/runtime/default/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6,derive_gid,default_normal)
/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)
/data/media on /mnt/runtime/read/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=23,derive_gid,default_normal)
/data/media on /mnt/runtime/write/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=7,derive_gid,default_normal)
/dev/block/sda60 on /mnt/qns type ext4 (rw,seclabel,nosuid,nodev,noexec,noatime,discard,data=ordered)
/dev/block/vold/public:179,1 on /mnt/media_rw/6534-3933 type texfat (rw,dirsync,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,umask=0007,allow_utime=0020,utf8,min_prealloc_size=64k,max_prealloc_size=121910k,writeback_boundary=4M,readahead=4M,fail_safe,discard,hidden=show,errors=continue)
/mnt/media_rw/6534-3933 on /mnt/runtime/default/6534-3933 type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,mask=6,nocache)
/mnt/media_rw/6534-3933 on /storage/6534-3933 type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,mask=6,nocache)
/mnt/media_rw/6534-3933 on /mnt/runtime/read/6534-3933 type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,mask=18,nocache)
/mnt/media_rw/6534-3933 on /mnt/runtime/write/6534-3933 type sdcardfs (rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,mask=18,nocache)

```

The output of proposed command:

```
bindfs -u u0_a195 -g 9997 -p a-rwx,ug+rw,ug+X /mnt/media_rw/6534-3933/WhatsApp/Media /mnt/runtime/write/emulated/0/WhatsApp/Media

```

Gives me the following error:

```
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

```

I then add the nonempty string to the command, and then the external SD card directory mounts as "internal".

The new lines from mount -r now reads:

```
/mnt/media_rw/6534-3933/WhatsApp/Media on /mnt/runtime/write/emulated/0/WhatsApp/Media type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)
/mnt/media_rw/6534-3933/WhatsApp/Media on /storage/emulated/0/WhatsApp/Media type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)
/mnt/media_rw/6534-3933/WhatsApp/Media on /mnt/runtime/default/emulated/0/WhatsApp/Media type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)
/mnt/media_rw/6534-3933/WhatsApp/Media on /mnt/runtime/read/emulated/0/WhatsApp/Media type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)

```

WhatsApp does READ all the files correctly, however I cannot download anything new to the drive. This is frustrating as hell, as I have come to this stage before. I just can seem to find out how to make WhatsApp being able to WRITE to the directory.

I have used apps like apps2sd, ts-bind, fbind, mount options. Anything under the sun. I can never reach a stage longer than WhatsApp being "tricked" to read from external SD, but never being able to write to external SD.

The only working solution, is not a viable solution, is to install experimental xposed, install old module xinternalSD, and magisk module "ExSDCard Access Enabler". Then WhatsApp works perfectly, but I believe this is a very unstable for the rest of my system and my phone. And I would really like to have a more clean solution to this problem, like the one you are proposing.

Please assist in this great great headache.

Last note, also tried the command as given from your other post:

```
bindfs -o nosuid,nodev,noexec,noatime,context=u:object_r:sdcardfs:s0 -u 0 -g 9997 -p a-rwx,ug+rw,ugo+X --create-with-perms=a-rwx,ug+rw,ugo+X --xattr-none --chown-ignore --chgrp-ignore --chmod-ignore /mnt/media_rw/6534-3933/WhatsApp/Media /mnt/runtime/write/emulated/0/WhatsApp/Media

```

Same result after adding nonempty option, WhatsApp can read from external SD, but cannot write to it.

# Answer
Based on the comment and the self-answer by OP:

> This is the main outcome of this thread, and how it was made to work.
>
> 1. WhatsApp will not work if you only bind mount the `Media` folder in WhatsApp. I have no idea why. I.e. you *must* bind `/WhatsApp` and *not* `/WhatsApp/Media`
> 2. There is a difference if running commands from ADB shell or running from within a terminal app on the phone itself. I never paid attention to this detail before, as I thought they were the same.
> 3. `bindfs` did *not* work from terminal app on the phone. Somehow it would not load. It would work from ADB shell, but then it would not work properly. Therefore, I used the `bind sdcardfs` option instead. I.e. full command is:
>
> `mount -t sdcardfs -o nosuid,nodev,noexec,noatime,mask=7,gid=9997 /mnt/media_rw/6534-3933/WhatsApp /mnt/runtime/write/emulated/0/WhatsApp`
> 0 votes

---
Tags: external-sd, mount, internal-sd, bind-mount
---


title: Wifi connect but no internet access

text:
# Question
Title: Wifi connect but no internet access
This is a strange thing that started happening with the wifi network at my work. Android devices connected to the network say "Connected, no internet access " however the internet works perfectly well.This has happened to devices running Qualcomm 8909 android 8.1.0 but the issue is only can’t download any app through playstore so please require urgent help if can solve the issue.

# Answer
> 0 votes
I have had that same issue and that was because my IPv6 was turned off and so the other device that was using my hotspot was unable to access the internet. So check your settings and if they will check theirs.

---
Tags: adb
---


# Question
Title: What is EastworldService running from the Play Store app?
I looked in on my running apps and my Play Store has 1 process but 20 services running: Play Detection Async services, Collection Dispatching services, Thunderbird Setting Injector service's, Device Connection watcher service, GCM service, Pending Intent Callback service, Context Manager service, Nearby Direct service, Cable Authenticator, Emergency Persistent, Lockscreen, Scheduler, Google Location Management, Local Accuracy Injector, ClearcutDebugDump, Local Persistent, and Nearby messages service.

Is this not a little odd? Please please someone help. My phone is driving me crazy

# Answer
> 1 votes
The "Eastworld Service" is an integral part of the Google Mobile Services (GMS).

From it's code it seems for example to collects some device statistical data like app (un)installations, available Playstore updates, screen on-times, charging times...

BTW: The GMS core package also contains a "Westworld" service and other funny names. Also the Thunderbird service is mentioned here, seems to be related to Google Cloud Messaging (better known as Push Messaging system or "Firebase Messaging").

---
Tags: google-play-store
---


# Question
Title: Add a custom word to Google Japanese keyboard
I am wanting to type a word in Japanese that has a unique reading (not the standard onyomi or kunyomi). As such, I'd like to add it to the Google Japanese keyboard so that I can simply type the kana, and the desired kanji will show up. At the moment I have to type out each individual kanji by their standard readings to write the desired word.

How can I add a custom reading to the Google Japanese keyboard?

For clarification, please see Tip #9 on this page for an example of how to do this in Windows: http://nihonshock.com/2010/04/12-japanese-ime-tips/

# Answer
> 0 votes
Gboard (Google Keyboard) has a very simple way to add new words to it.

Open the Gboard app, go to 'dictionary' \> 'personal dictionary' \> \[Japanese\] \> plus (+) symbol on the top right. Now, type the desired word, and add a shortcut, that way every time you type the shortcut, it will give you the option to switch to the desired word.

For example, if I want to type the word `Привет` in Russian, but I don't want to switch my keyboard from English to Russian just to type that word, so I made a shortcut that every time I write the letter P the word will show up in the suggestion bar. See screenshot below

# Answer
> 0 votes
In Google Japanes Input settings, goto Dictionary tool. Click on + (plus). Add the word, then the "Reading". Select a Category for the word you have entered (noun, first name, place, etc).

# Answer
> 0 votes
I found the correct way to add words with their readings to the Japanese keyboard.

Tap the "\>" expander on the left side of the candidate word area, tap on the settings icon, then tap on "dictionary tool" and you can add words with their proper readings.

---
Tags: keyboard, dictionary, google-japanese-input
---


# Question
Title: Payment deducted but app was not downloaded
I paid Rs.180/- for an App called "Pop Diary+Journal. The amount was debited but the App was not downloaded. It has not shown in Google play stores history.

The App developer said he could not help in this matter.

How to download the App or to get refund?

# Answer
Whenever a transaction is initiated online it has 2 parts ...

* The vendor(merchant side - in this case will be google) side
* The Bank side(the bank whose Credit Card/Debit Card/Net Banking one would use)

The part that routes from the Vendor side to the respective gateway(for credit cards) and Banking portal(for Net Banking) is a normal redirection. The next process is where the actual transaction takes place ... This is the process where the Credit/Debit cards/Net Banking Accounts are debited(which involves authenticating the OTP) ... ONCE this process is completed, what lies ahead is the MOST IMPORTANT part ... the part where the Successful transaction part has to be clearly transmitted back(redirected) to the vendor side(portal) for the finality of the process.

The Issue described above is the place where the last(and the most important) part has failed ... the communication of the successful transaction back to the vendor portal which initiated this whole process ... this occurs in probability due to a request time-out ...

In such cases the vendor has no information with regard to the success(approval) of the transaction as a result they have no information of the transaction except the request time-out information. But as the transaction was successfully completed on the side of the bank with the debit and the OTP authentication leaves the funds in a suspense account waiting for the vendor to raise a credit for the same. As the Vendor has no information with regard to the success of the transaction they will not seek a credit for the same ... the bank who had moved the debit to a suspense account which holds the funds until a claim is raised will not know what to do ... except lie in wait that they may be presented with a claim any time.

Net outcome of this above situation ... is that our funds from this stale transaction will continue to rot in this suspense !!!

The only way this stands to be resolved is from the side of the Bank as the success of the transaction was fully recorded on their side.

ALL WE NEED TO DO IS ... contact the bank and raise a complaint with them of this "request time-out" issue one has faced ... They'll raise a ticket ... and investigate the same ... they'll wait for a specific time to see if any claim gets raised for this transaction with the said date, time and transaction nos. ... and even after this waiting period they do not get any claim for that particular transaction they'll finally decide that this was a case of a request time-out and subsequently issue a reversal of this transaction ... This whole exercise could take a minimum of 10 days and could differ from bank to bank.

Hope this information helps cases of request time-out get sorted out better.
> 0 votes

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


# Question
Title: How to prevent characters from repeating when entering text with a Bluetooth keyboard?
I have an Android phone running 4.0.4 (ICS) and a Microsoft Wedge Mobile Keyboard. I have paired the keyboard with my phone and it works all right most of the time.

However, every so often I will experience the following:

* after pushing some keys, nothing happens
* after a few seconds, the characters I have entered show up
* one of the characters is repeated many times

For example, pushing:

`t` `e` `s` `t`

Will result in the following being displayed on screen:

> teeeeeeeeeeeeeeeeeeest

This only happens occasionally, but often enough to be a nuisance. I realize that there will always be unpredictable latency inherent with wireless communications (Bluetooth in this case) but I see no reason why characters are being repeated *as if I held down the key* (which I didn't).

Note that this is **not** a question about changing the repeat rate for keys being held down.

---

**Edit:** my device is a Samsung Galaxy Discover.

# Answer
> 1 votes
Based on what I've read so far, this may be a bluetooth issue.

Some people have fixed the issue by:

1. using only 1 BT device. If you have connected both a BT keyboard and BT mouse, disable one of them.
2. disabling Wi-Fi. Having both Wi-Fi and BT seems to trigger a repeating key issue.
3. using External Keyboard Helper Pro. It has a `do not repeat` option. Link to app.

At the end of the thread, it mentions that BT was re-engineered in Android 4.2. So if you upgrade to 4.2, that should fix the issues you are having.

# Answer
> 0 votes
I am using a Samsung Galaxy Tab A and a Fintie Bluetooth keyboard. It worked beautifully for more than a year but recently started repeating letters as described above. After reading all the info I was able to find on the web, I was on the verge of just taking it apart to see if I could remedy the problem. I had already checked my settings under tools but noticed after checking just one more time, there was a discrepancy under the Language section. The Fintie was listed as English UK and, of course, when I set the keyboard up, I selected English US. It had both listed with the UK option first and the US list second in grey. I changed my selection to English UK and my repeating letters stopped. Must be that my Fintie is British!

I went to TOOLS, GENERAL MANAGEMENT, LANGUAGE & INPUT, PHYSICAL KEYBOARD. That is where you can select your language.

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


# Question
Title: How do I know if an app on my phone makes use of App Bundles?
App bundles (or I believe it is because of them) are screwing me over with regards to Titanium backup since restore simply does not work with those - they are stuck on "restoring". Currently, I only have TiBu on old hardware where it takes very long to do stuff, and if it just says "restoring" I've no idea if it's actually doing anything. More apps will soon adopt this new feature and I want to be able to filter them out easily without wasting too much time.

Is there an ADB command maybe that can tell, or some other way with root?

# Answer
I found an app called Split APKs Installer to help.

Google Play: https://play.google.com/store/apps/details?id=com.aefyr.sai
> -1 votes

---
Tags: applications
---


# Question
Title: Does sending images on Google Hangouts count towards my Google account storage space?
Does sending images on Google Hangouts (Android application) count towards my Google account storage space?

I don't see why it would, but right after sending some images via Google Hangouts I received an email regarding my Google account storage, so I wonder whether this is a coincidence:

# Answer
> 0 votes
Yes, all the images which are sent via google hangouts are stored in your account storage. Refer this link to see all of your account storage on Google Dashboard. Click on Gmail to see stats. Click on chats to see all of your images.

Take this image as a reference.

---
Tags: google-hangouts
---


# Question
Title: Sniffing USB traffic between an Android app and a connected device
Is there any way to sniff USB traffic between an Android app and a connected device, like a drone controller?

# Answer
On a regular non-rooted device this is impossible.

On a rooted device it might be possible (but I would not know how). The common Linux solutions for capturing USB traffic require a special kernel module. If your kernel has no module support this would require to build a custom kernel with the USB sniffing kernel module included).

In both cases you still have the possibility to perform a man-in-the-middle (MitM) attack on the USB connection, e.g. by placing a special device in between that allows you to access the USB traffic on "cable level":
> 1 votes

---
Tags: applications, usb
---


# Question
Title: How to send SMS from terminal in background on Android?
I'm trying to send text message (SMS) from my Android terminal app in background (sim 1 or 2).

I can send message in foreground using this command:

```
am start -a android.intent.action.SENDTO -d sms:121 --es sms_body "test text" --ez exit_on_sent true;
input keyevent 22;
input keyevent 66;

```

But this command don't work in background.

So, how can I send message in background from my terminal?
**Note: Android version 6.0. Rooted device**

# Answer
> 0 votes
The syntax that appears to work as attested over at our sister site stackoverflow is and is explains in detail:

`adb shell service call isms 7 i32 0 s16 "com.android.mms.service" s16 "+1234567890" s16 "null" s16 "Hey\ you\ !" s16 "null" s16 "null"`

> "Isms method number (5 and 7 above) may change with the android version . Read full explanation to understand it."

---
Tags: sms, shell, terminal, command-line
---


# Question
Title: Control Android with broken screen from PC
My rooted Galaxy Nexus has a broken screen. How can I use my PC (ie, via ADB) to control the phone?

androidscreencast would be the ideal solution, but its keyboard/mouse control feature does not work in Jelly Bean. Perhaps someone knows why and we can patch the code? (see: https://groups.google.com/d/msg/androidscreencast/BAeW5iG55FI/ebTFodV-BZsJ)

Installing a VNC server is another, but for the love of me I can't get it to work. Eg, using Droid VNC Server, I install the apk, and am supposed to execute /data/data/org.onaips.vnc/files/androidvncserver but there is no files directory inside org.onaips.vnc (instructions from here: https://github.com/oNaiPs/droid-VNC-server/issues/14). VMLite is another VNC server that can be started with a special Windows utility (and doesn't need root!) but it's not OSS so I can't get the apk in order to install (Google Play is not pushing apps to my phone prob because I disabled some service--let me know if I can force Google Play to update itself from ADB or install the app). fastdroid-vnc is a binary (not apk) and it runs fine via shell, but something is broken and it shows nothing.

What are my options? Let's make this a community wiki, to help anyone who's broken their screen!

# Answer
Looks like these days the best solution for controlling an Android phone from a PC is scrcpy. It is being actively maintained, has very high performance (framerate, latency), is available cross-platform. It also does not require root on the phone.
> 11 votes

# Answer
*adbcontrol* can do this. It opens a window containing the phone screen on your computer, so you can use it when the phone screen is broken, and you can click and type in the window to control the phone. To install *adbcontrol* do:

```
wget http://marian.schedenig.name/wp-content/uploads/adbcontrol.zip
unzip adbcontrol.zip

```

Now edit config.properties and change:

```
adbCommand=/your/path/to/adb
localImageFilePath=/home/youruser/adbcontrol_screenshot.png

```

Save config.properties and run `java -jar adbcontrol.jar` which will open a window to remote control your phone. Make sure that adb works (`adb shell` opens a shell), and that the phone is awake so the screen is on (even if it's cracked/broken) otherwise you'll just get a black window.
> 9 votes

# Answer
One word: **Vysor**

Using the vysor to control my Xperia Z2. See the state of my phone, but Vysor came to the rescue.

\*if phone reboots and won't connect after plugging in, try removing the micro sd card. Mine wouldn't work at all until I did so - random phone smasher
> 5 votes

# Answer
You could try to use AndroidScreenCast for you purposes - it's maintainable version of original androidscreencast. It requires only Java and ADB, no phone client, so just run it and use it. I've just tried it with Nexus 4, Android 4.1.2 Jelly Bean emulator. And, actually, I'm currently the maintainer of the project, so if you got any questions or issues - contact me via github.

And here's link for Windows bundle: androidscreencast.7z of latest release.
> 4 votes

# Answer
Webkey is a great app for this. On top of being a VNC server, it is also a web host. You go to your phone's IP in a web browser, and you control your phone via the page's VNC viewer.

It also has services for file transfer, GPS location, and a bunch more. And, it lets you define users and passwords, along with different services each user is allowed to access (view only, view and control, gps, etc). And the web server can be accessed over https as well as http, so you can encrypt your connection (it's a self-signed cert).

The only downside I can think of is that I don't know if it can be initially configured without having access to the touchscreen. Perhaps if you configure it on another phone, then you could side load the apk and copy the settings to your broken phone. About the only thing you would need to figure out in that case is how to add the app to SuperUser's list of allowed apps.

For those who care, WebKey is open source and free. Just icing on the cake.
> 2 votes

# Answer
use MyPhoneExplorer. This fits all your requirements, however for the first time when you connect you should have enabled ADB Debugging under developer Options
you can make call, hang call, SMS, read contacts, backup, start an app, play a game. what not. I have been using this for past 5 - 6 years.
> 1 votes

# Answer
This is the my absolute favorite method so far out of everything I have tried for countless hours of Google surfing for this exact same answer. It requires a bit of configuring, and honestly I have no idea if it works on Windows, so you may have to borrow a friend's Mac or install Ubuntu inside Virtualbox or something, but it's well worth it.

1. Download STF (Smartphone Test Farm) from github https://github.com/openstf/stf.
2. This requires a ton of dependencies, and while the instructions are pretty simple, it may seem a bit hazy so I'll try to simplify. If you are using OS X then you can use homebrew (navigate to brew.sh for homebrew) to install all dependencies with a single command:

`brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config`
3. If you're on Linux then manually install the dependencies via the provided links:

Node.js - https://nodejs.org/

RethinkDB - http://rethinkdb.com/

GraphicsMagick - http://www.graphicsmagick.org/

ZeroMQ Libraries - http://zeromq.org/

Protobuf Libraries - https://github.com/google/protobuf

yasm - http://yasm.tortall.net/

pkg-config - http://www.freedesktop.org/wiki/Software/pkg-config/

4. Extract the STF-master folder from the Github zip and navigate to it from Terminal `npm install` then `npm link`.
5. Next, type this in from a terminal still inside the same directory `rethinkdb`. Minimize the terminal window and open up a *new* terminal window and navigate to the STF-master folder again. This time type in `stf local`. Minimize this window as well.
6. Now connect your device via USB to the computer. Open up any internet browser *from the computer, not the phone* and type in the URL `localhost:7100`. This will bring up the STF interface. Simply provide any username and email you like and you will see your connected device in a panel and be able to control it like never before. Clicking simulates touch functionality, typing is automatically sent directly to the device, take screenshots, send shell commands, create your own Oauth services and keys; the possibilities are endless.
> 0 votes

# Answer
i have to add this new tool, works perfectly and without java! Has been a savior for my broken screen: seversquare https://github.com/yangh/sevensquare Install very easy on linux ; don't know for windows.

Cheers
> 0 votes

---
Tags: adb, 4.2-jelly-bean, samsung-galaxy-nexus, broken-screen
---


# Question
Title: Hide Whatsapp profile picture from a certain user
I want to hide the profile picture in WhatsApp and still be able to message this person.

As far as I've understood, to message someone on WhatsApp, you need to store his/her number in the phonebook. Once you do this, you can't stop this person from seeing your picture, because WhatsApp does not have this options under the privacy settings.

Changing the "Who can view my profile picture" to nobody is not an option.

Also, if I delete the person from my phonebook, I will not be able to message his/her anymore. Same problem when using the app WhatsNot.

Is there a workaround or an app hide your profile pic from individual users?

Thank you for your help!

# Answer
The only way would be creating a group with just you & him, and then blocking him.. You'll not be able to message him directly, but only through that group (ofcourse he'll know you've blocked him)..

Another way would be starting a conversation between you & him and deleting his number (yes, it's mentioned in the question), but you'll still be able to chat with him (his number will be displayed instead of name) and make sure 'Who can see Profile Pic' is 'Contacts Only'..

Other than this, I don't think there's any other way..
> 4 votes

# Answer
> I want to hide the profile picture in WhatsApp and still be able to message this person.

**This is not possible.**

Looking at the official FAQs of `WhatsApp`, it is clearly mentioned that By default, WhatsApp will automatically set your privacy settings to allow any WhatsApp user to view your Read Receipts, last seen, **profile photo** and status.

> Your last seen, profile photo and/or status will be available **to all** WhatsApp users.

But **If you block a contact, that person will not see any updates to your profile picture.** In other words, Any changes made to your profile photo will no longer be visible to contacts you have blocked.

Also note that, When you block people on `WhatsApp`, you will no longer receive WhatsApp messages or calls from them.

So the best that you can do is to block the contact and that way that contact will not be able to see your profile photo and updates.

In order to Block a contact, you can follow the instructions mentioned in this link.
> 0 votes

# Answer
I'm able to chat with other users without them seeing my profile pic. What I did was Account\>Privacy\>Profile Photo\>My contacts. Then save their number and message them. After this simply delete their contact from your phone. This would prevent them from viewing your profile photo as they're not in your contacts. Note this is only viable for a few people unless you're incredibly good at recalling contacts for a lot of people without their names.
> 0 votes

# Answer
My answer is not going to be a technical one and I'll probably get downvoted but I don't care. I think the problem is between the chair and the phone. You need to look at WHY you are trying to accomplish this. It sounds a bit strange that you would want or need to do this and maybe the problem can be solved with a proper discussion, or outright blocking. You can't have your cake and eat it. Decide whether this person has a place in your life. If they do then keep them and be honest with them. If they don't have a place in your life then block them and move on. Playing silly games will never achieve anything.

PS. Deleting a person from your phone contacts doesn't delete your previous conversations with that person. So you can delete a person from your contacts and still be able to message them, as long as you have messaged them previously. Then you just set you privacy settings so only contacts can see your pic.

EDIT: I guess I caved in and went technical, but really, sort your friendships out.
> 0 votes

# Answer
The valid way is root your Android phone, use a file explorer with root access, and in the whatsapp folder (only accessible when rooting) select the photo of the chosen contact, and give this file permissions with "only reading" (and NO writing permissions). This "freezes" the contact user photo avatar.
> -1 votes

---
Tags: 5.0-lollipop, whatsapp-messenger
---


title: Airdots distorted audio while calling

text:
# Question
Title: Airdots distorted audio while calling
I have a **Xiaomi Redmi Note 6 pro** and a pair of **black Xiaomi AirDots** but every time I call and play music together, the music is as distorted as the call itself like the music's coming from the caller.

How can I undistort the audio?

# Answer
> 1 votes
You can't.

Bluetooth has many *profiles*, ie. modes that have different capabilities. When you're just playing music, the phone is using A2DP profile which is optimized for unidirectional high-quality sound. When you're calling someone, the phone switches to HSP profile, which offers bidirectional sound - but allocating some of the bandwidth for microphone reduces bandwidth available for incoming audio, degrading quality. You can't have both because there's not enough bandwidth.

---
Tags: audio
---


# Question
Title: How to remotely log into google account?
I lost my phone and the person who found it, logged out of my google account. Is there a way to make my devive log into google account? (so that i can use "find my phone" to find it.)

# Answer
> 1 votes
I am sorry but if the Google account has been removed from the phone it is now no longer related to you.

That is the reason you should protect your phone at least with a PIN code. Then your Google account can't be removed from the device that easily. Of course a factory reset can still be performed but then the "finder" of your device runs into the Factory reset Protection (FRP).

---
Tags: google, lost-phone
---


title: Are these app permissions normal?

text:
# Question
Title: Are these app permissions normal?
Can it be used to steal personal data or intercept/view online activity?

# Answer
Depends on you. This app well required Storage permission for Download files for your app new levels but if you think if i get permission and your (personal & private)data leak then you can not do to access permission. they well risky for you.
> 0 votes

# Answer
Nope Beware check if you're phone Can manage to shout down and start upp According to you're settings If it won't start then you're not alone
> 0 votes

---
Tags: applications, security, permissions
---


# Question
Title: Websites suddenly inaccessible but Google search works
I'm using a Sony Ericsson Xperia Arc S running Android 2.3.4 as a secondary phone. I used to surf internet until recently without so much hassle (using WiFi, not mobile data). But recently, some strange issue showed up.

I can Google search anything. But when I try to browse certain websites from search results, I get the error "Web page is not available". However, this happens when browsing only some of the websites, including Wikipedia (strangely, when I turn the Extreme mode in the Opera Mini I can browse the website).

I tried force stopping the browsers, cleared their data and cache, even did a reinstall of the two browsers, UC mini and Opera Mini. It is to be noted that I did root the phone sometime ago, but I was able to surf the web with this rooted device before this issue occurred.

The problem persists on other WiFi networks as well so this couldn't be an issue with my network. That said, other devices on the network works fine.

# Answer
At the moment a large number of popular website are dropping support for all SSL/TLS versions below TLS1.2 because of the known vulnerabilities in TLS1.1/TLS1.0 and older.

Your device is very very old and does not support TLS1.2 therefore you can't connect to certain sites like https://wikipedia.org which requires TLS 1.2 according to the test of SSLLabs.

If you use extreme/compressing mode of Opera Mini you connect to a proxy at Opera instead that compresses and re-encrypts the traffic. Therefore using this redirection you can still access those sites as long as Opera not also increases the minimum TLS version on this proxy.

Some Webbrowsers may also include their own TLS implementation with TLS1.2 support. But usually they have dropped support for Android 2.x long time ago.

Conclusion: Your device finally comes to an end. If there is no newer custom ROM available (AFAIR for TLS1.2 Android 4.2/4.4 is required) allow it to rest in peace and get a new phone.
> 11 votes

---
Tags: 2.3-gingerbread, internet
---


# Question
Title: How to avoid or track phone usage overnight
I have an unrooted Samsung Galaxy s10 that I need to find a way of keeping myself from using overnight or at least track what I do.

The problem here is that I sleepwalk on a fairly regular basis, I have ended up at the bus stop a few times, made breakfast, just generally some pretty scary things. My fear is that at some point during the night I will turn on my phone and text someone or something similar (eg. snapchat someone or something) and I would like a way of making that impossible, or at least know if that does happen. My current procedure is pulling up my activity logs from every social media site I'm on and going through my phone log, but this isn't ideal as A) it takes a really long time and b) theres still a chance that I sent a text and then deleted it, therefore making it invisible from my end. Is there anyway that I can set a mandatory shut down time on my phone, like tell it to not let me turn it on until a certain time the next day or something like that? Or even better is there a way of tracking my activity? In my research it didnt seem possible to generate a log of when i power my phone on or off, but maybe theres another way of going about this.

Also worth noting, I have tried puzzle lock type things in the past (like where I have to solve a math problem to unlock my phone) but apperantly my subconscious is just as good as I am at problem solving so that wont work.

# Answer
> 0 votes
Ok so I answered my own question, I found this app: https://play.google.com/store/apps/details?id=com.hash.ar.systemlog that generates a readable log of every event that happens on the phone. This, partnered with the app mentioned in a comment by @Natsu Kage achieves both things that I hoped to achieve

---
Tags: samsung-galaxy-s-10
---


# Question
Title: Unable to load some websites USB tethering
I am sharing internet from my Samsung galaxy S10+ to my HP Pavilion 15-n208tx laptop via USB tethering. On my phone, I am getting browsing speeds of upto 10 mbps but while tethering, I am unable to load many websites. I am using the USB type C cable provided with the phone for tethering.

*Example of strange behavior*:

**Sites loading**:

www.google.com

www.instagram.com

**Sites not loading**:

www.codeforces.com

www.amazon.in

# Answer
I found that my wired ethernet connection is still active and hence some sites are failing. I disconnected the wired ethernet and my usb tether is working properly for all sites.
> 0 votes

---
Tags: samsung-galaxy-s-10
---


# Question
Title: Connecting Phone to PC...USB socket seems to be dirty
It used to work.

I could connect my phone to my PC with a USB cable and then browse the phone, like a mounted USB drive, with Windows explorer. Moving files back and forth was easy.

Then it stopped working. I used a wooden toothpick to dig some lint and dirt out of the phone's USB port. I also hit it with compressed air.

It helped but it is really intermittent...I have to wiggle and jiggle the USB cable to get the drive to mount. And it's not reliable. I tried another cable with the same result.

**So...what is the best way to clean a phone's USB port?**

# Answer
First, I powered off the phone.

Then, I took some **contact cleaner** (the kind used to clean old TV tuners and potentiometers) and sprayed it into the female USB port. I plugged and unplugged the male USB plug several times. I blew out the port with compressed air and powered the phone back on.

Success!

(thanks for the suggestions and comments)
> 0 votes

---
Tags: usb
---


# Question
Title: Google Play Services Keeps Stopping, I've tried everything
I can't get any of my apps to work. I've tried

clearing the data & restarting - works for 10 min then back to square one

force stopping - won't let me

uninstalling updates - it tells me it's unsuccessful

Disabling google play, reenabling, then restarting - still nothing

What else can I do? This is so frustrating.

# Answer
I had the same problem today (just after updating my phone) and eventually found a way to uninstall Google Play Services updates, thanks to the thread in Google Play Help Forum:

> I was able to fix the issue today, by uninstalling the Google Play Services updates. Could only do that after making sure 'Find My Phone' was no longer a device administrator. Steps I followed:
>
> 1. Go to Settings -\> Lock screen and security -\> Other security settings -\> Device Administrators
> 2. Uncheck 'Find My Device'
> 3. Go to Settings -\> Apps -\> Google Play Services
> 4. Tap the vertical ellipsis (3 vertical dots) at the top right -\> Uninstall updates
> 5. Go to Settings -\> Apps -\> Google Play
> 6. Tap the vertical ellipsis (3 vertical dots) at the top right -\> Uninstall updates
> 7. Restart phone. At this point the message "Google Play services keeps stopping" was gone.
> 8. Open one of the Google apps (in my case Google Maps)
> 9. It complains that "Google Play services" is outdated, click the popup to update it again. Problem solved. Really happy to have my phone back ;)

It worked for me (no more error messages, and now I can use again apps such as Google Play Store, Google Maps, etc)
> 2 votes

# Answer
Thank you! I, too, had tried all the other fixes, and I couldn't get this one to work either for a while, until I found the right place to disable "Find my Phone." For me, it was here: Settings --\> Biometrics and Security --\> Other Security Settings --\> Device Admin Apps
> 0 votes

---
Tags: google-play-store
---


title: Kerberos authentication

text:
# Question
Title: Kerberos authentication
Does the android web browser support kerberos authentication? If not, is there an open source web browser for android that works well, which can be extended to support kerberos?

# Answer
No, it does not. Unfortunately all the major Android browsers that I know of -- Firefox, Opera, Dolphin, Skyfire -- don't appear to support it either. Firefox does support NTLM, and I'd expect it to support kerberos sooner or later.
> 2 votes

# Answer
Yes, Chrome M46 and later versions support Kerberos on Android, and I think its the only web browser that supports SPNEGO/GSSAPI/Kerberos on Android.

Lately, the Google repo at Github published a stand-alone client app for Kerberos. It's provided as a reference implementation; yet, I think it can be used in production with some caution. Below are some resources I have found that you might find helpful:
> 1 votes

# Answer
Firefox supports kerberos authentication I believe. You need to change the settings in `About -> config`
> 0 votes

---
Tags: browser, browser-add-ons
---


# Question
Title: Alarm as full charged battery notification
**Xiaomi MIUI10Global8.12.20/Redmi Note4**

While trying to find a way to set an alarm as a full charge notification,this search result popped up***(manually set the alarm)***.

Since this a frequently required feature, is there an app or something to automatically achieve this?

# Answer
I developed an app called Battery Alarm (free, no ads).

The app notifies the user when the battery level reaches a certain threshold.

By setting the "Max Alarm" to 100%, the app will notify the user if the battery is fully charged.
> 2 votes

# Answer
Bing gives the worst search results!

After a google search the following results popped up

Full Battery & Theft Alarm is a popular app to achieve the result.
> 0 votes

---
Tags: notifications, xiaomi
---


# Question
Title: SHELL Command works fine as a standalone command, but fails when put into a shell script?
Android 8.1 PIXEL 2 with root access.

I have seen this asked here once before but the only solution didn't help me at all. I am going to try and make this as simple as I can for the example.

If I run the following command in terminal emulator or adb shell:

```
am force-stop com.myapp.frustrated

```

It will quit the app just fine. But when I run it in this shell script:

```
#!/bin/sh
am force-stop com.myapp.frustrated

```

Nothing happens. It is odd to me that I can do many other commands just fine in a script, but a handful of them do not work.

Any suggestions you have are much appreciated.

# Answer
> -1 votes
Removing `#!/bin/sh` fixed my issue. Thanks

---
Tags: adb, shell, scripts, bash
---


title: Bypass FRP on RCA Tablet

text:
# Question
Title: Bypass FRP on RCA Tablet
My friend recently purchased a second-hand RCA tablet running Android 6.0 Marshmallow. He came to me to root the device as I have helped him before. Although I have made a mistake this time. I factory reset the device with a Google account **still** on the device. My friend can no longer get in contact with the original owner.

I've looked everywhere and other FRP bypass guides don't work because they have all been patched.

* I managed to bypass setup and open settings, but when pressing on build number **many** times, nothing happened
* I installed an app that would pull up developer options, but it just says that it's not available for this user
* I've factory reset via settings, no luck
* I've force-killed the setup application, home button reappears but doesn't do anything when pressed
* I disabled Google in an attempt to prevent it from asking for an account to be set up, still no luck

I've now run out of ideas, and I'm wondering if anyone can help me.

# Answer
> 1 votes
I figured it out!

Step 1:

1. First, boot up normally
2. Sign in to a network
3. Allow it to check the connection
4. Then when it asks you to verify your account, press the back button until you get back to networking
5. Choose a different network, type a bunch of random letters/numbers then press show password select it, press assist.
6. Then Google will open
7. Search for Settings
8. From Settings, go to Backup/reset
9. Reset the device
10. Boot normally once again

Step 2:

1. You will be asked to verify again. Turn your device off
2. Reboot into safe mode
3. Then re-bypass into Settings
4. Head to Device info
5. Enable developer mode (press build number 7 times)
6. You can't enable dev mode unless you are in safe mode as there is protection for it
7. Once you have dev mode enabled, you need to turn on USB debugging and OEM unlock

**Whatever you do, don't press the home button. If it works, all of the settings will be unapplied and setup will restart**

Step 3:

1. Now, reboot to recovery (power off, then hold the volume up button while turning the device back on)
2. Next, we need to scroll to `<Reboot to Bootloader>`
3. Press the power button to select it. You will boot into fastboot

Now you will need a PC

1. First, let's check if OEM unlocking is enabled. Run `fastboot flashing get_unlock_ability` from CMD/terminal (you have to have ADB/fastboot installed).

You will get `(bootloader) unlock_ability = 0` if it isn't enabled. But if it is, you will get `(bootloader) unlock_ability = 1XXXXXXX`
2. If it's enabled, we have to unlock the bootloader (**this will void your warranty**). We have to do this as OEM unlock isn't really enabled. What we've done is made it so the system sees that it's both enabled **and** disabled. This means the only command that will work is `fastboot oem unlock`
3. We're going to run this command. When you do, spam the volume up button to select yes.
4. Now we're almost done. We have to unlock it from flashing too and unlock system critical (in the security update from 2016, the FRP partition was marked as critical and unless we unlock critical partitions, the FRP lock won't ever go away)
5. First, flashing unlock. Run `fastboot flashing unlock`
6. Spam the volume up again
7. Then run `fastboot flashing unlock_critical`
8. Spam volume up again
9. Now close ADB/fastboot on your PC
10. And unplug your device
11. Since security is still enabled, `fastboot reboot` doesn't work. So we have to wait for the device to drain completely.
12. Then charge it a bit and turn it back on. It will wipe the FRP partition alone with all the other ones, except for the `/boot` partition.

FRP is disabled now.

This will work on any Android device with fastboot. Did this from an RCA tablet, so it does.

---
Tags: 6.0-marshmallow, frp, rca-voyager
---


# Question
Title: How to find Google Assistant in Settings=>Apps in order to clear its storage/cache?
Since How to stop Google Assistant from freezing Xiaomi Mi Box S 4K's remote control? received no replies, I'd like to ask a more general question - how to clear Google Assistant's settings?

Or to put it more simply, how do I find Google Assistant in my list of apps in order to reset it there?

It's supposed to be *play.google.com/store/apps/details?id=**com.google.android.apps.googleassistant***, but - in the Settings=\>Apps of at least 2 different devices (a phone and a TV - both have Google Assistant in the general settings) - I find neither the aforementioned app ID nor **Assistant** nor **Google Assistant**, not even when system apps are included in my view.

# Answer
> 0 votes
Google assistant is not a separate app it's bundled with the Google App. So to clear the data for the Google Assistant you need to do it with the Google App

---
Tags: settings, google-assistant
---


title: Log ADB Commands?

text:
# Question
Title: Log ADB Commands?
I have an application that uses the ADB interface as communication with my Android phone. When I run the application and press the button, the application somehow sends commands to my android, to activate special features that exist on the android application.

My question is, can I save what action the application does? especially commands related to ADB? How does it work? What are the references and commands?

For Example, there is an app called "Gamesir World" installed on Android device, this app should be activated special feature called "remapper", with pc help, the name of pc app is "xiaoji-vtouch.exe". Between this platform, I see on '%temp%' windows folder, that xiaoji app have a folder that contains ADB, then I assumed this app called some of ADB shell to activate the "Gamesir World, Remapper Special feature". I want to know what the xiaoji do with the ADB, because there another options to activate this feature using there device product called A3 remapper, but I want to pass this, perhaps I can activate this feature without another device.

Link of Applications Android, https://www.xiaoji.com/gsw/index\_en.html Windows, https://www.xiaoji.com/download/vtouch/xiaoji-vtouch-1.2.0.zip Documentations, https://www.xiaoji.com/help/gw/2274.html

# Answer
> 3 votes
There are several solutions:

## 1. Replace `adb` binary (see comments by Curious Mind)

Replace the adb executable on the PC with one that calls the original adb executable and print all commands. This variant is pretty limited as it only works if the program calls every command in the staly `adb shell commandxyz`. If it opens a shell and sends multiple commands in the shell stream you will not be able to trace them.

## 2. Use an adb binary with trace activated

ADB has some trace capabilities in it's source code. by default it is not active, but using a self-compiled version of adb and a patch that activates this capabilities you would be able t see all commands. See this question for details: https://stackoverflow.com/questions/5791722/how-do-i-enable-adb-tracing

## 3. Use ADB over IP and capture the data via Wireshark:

Connect to your device via IP: `adb tcpip 5555` and the use the IP instead of the USB connection. The IP connection can the be captured by Wireshark (set the capture filter to `tcp port 5555`).

The main problem is that adb does not transit commands but individual characters. Therefore reconstructing the command is pretty complicated, even when decoding the TCP traffic to port 5555 as ADB protocol (while running select "Decode As" in the context menu).

Then you can filter the traffic for outgoing adb commands: `ip.src==<your PC IP> && adb.data`

The main problem is that usually every character is sent as individual `ADB DATA` packet with it's data as 4 bytes length + 4 bytes character (ASCII character decoded as integer).

The following sample screenshot shows the capture of the command `hello world 12345` typed in on open adb shell (see the last column and in it the last character of each data packet):

---
Tags: adb
---


title: Viber notification doesn't disappear

text:
# Question
Title: Viber notification doesn't disappear
I use Viber on Android and when it is in the background, it shows a notification in the notification bar when I get a message. However, sometimes when I click that message and it opens Viber, the notification stays there no matter that *I'm actually reading it*.

If I go to the message list, it shows unread messages, no matter I just read it. If I dismiss the message, it'll get back in a few minutes as it detects it is not yet read.

You can see here the notification is there and the message is already read:

What should I set to make it show the notifications properly?

# Answer
This happened to me in my VIBER FOR DESKTOP (Windows). (In my case the problem was caused by an unread CALL on viber; but I couldn't find it!!!) This is how I located and solved the problem: 1. I clicked on the conversations tab. 2. Then clicked on the small triangle that appears in the corner 3. I chose from the options: "Unread messages on top" 4. Voila!!! The conversation came at the top, I clicked on it and the 'unread message' disappeared!
> 1 votes

---
Tags: notifications, viber-messenger
---


# Question
Title: When no sound comes out of wired headphones connected to "USB to headphone adapter", how do you get the sound to work?
background:

* I have a new phone, Google Pixel 2, that does not have a 3.5 mm headphone jack
* about 4 times out of 5 times when I try to use wired headphones --\> the sound does not come out of the headphones but instead is emitted from the phone's speakers

things i've tried:

* I have tried unplugging and plugging in the "USB-C to 3.5 mm headphone adapter" (or just "USB to headphone adapter" for short) and sometimes this gets the audio to come out of the headphones.
* But many times no matter how many times (10+ times) I try unplugging/plugging the "USB to headphone adapter" into the phone... the audio does not come out of the headphones.

**When no sound comes out of wired headphones connected to "USB to headphone adapter", how do you get the sound to work?**

# Answer
> 1 votes
**The only workaround I have found to work reliably is:**

* **restart the phone right before you need to use the wired headphones with the "USB to headphone adapter"**
* **after the restart, the sound *always* works on my wired headphones connected to the "USB to headphone adapter"**

(

Side note:

* The fact that I have to restart the phone and this causes the sound to always work... IMO indicates a software issue.
* Some sort of Android service that detects the adapter being plugged in is not working properly and the restart ensures that the service is working properly.
* Most likely if someone with better expert knowledge knew exactly what service needed to be restarted... restarting that service would be a better solution (probably faster to restart one service instead of the whole phone... and doesn't interrupt what you are doing on the phone like a restart).

)

# Answer
> 1 votes
I have an HTC U11. My headphones quite mysteriously stopped working. None of the tips online (audio output apps, restart, etc) helped. I finally chanced across the culprit: power-saving mode. The audio jack adapter toolkit needs background data access. Power saving mode restricts background data access. My solution: Go into settings, apps, select show system apps from menu, find the audio jack adapter toolkit, open data usage, and give the app unrestricted data access. Voila, sound over my headphones. Hope it works for others out there too.

# Answer
> 1 votes
***FIXED!!!*** I found the fix for this issue (atleast fixed it for my pixel 2 xl)

Goto Settings -\> developer options -\> Disable automatic routing to USB audio peripherals , and disable this option if it's enabled.

Try it out and let me know how it goes .

---
Tags: audio, headphones
---


title: Change wallpaper via ADB/terminal

text:
# Question
Title: Change wallpaper via ADB/terminal
Is there any terminal (ADB) command for Android to change the launcher wallpaper?

# Answer
> 2 votes
I know this thread is old and dead, but it came up when I was searching the same topic. So I'm posting a response anyway for posterity.

This works for me on Android 5.1

```
am start -d file:////data/local/tmp/black_white.png -a android.service.wallpaper.CROP_AND_SET_WALLPAPER -f 0x1 com.android.launcher3/.WallpaperCropActivity

```

# Answer
> 1 votes
---

```
file=/Users/Mantis/Desktop/yoshi.jpg
dest=/sdcard/Download/"${file##*/}"
adb push "$file" "$dest"
adb shell am start \
    -a android.intent.action.ATTACH_DATA \
    -c android.intent.category.DEFAULT \
    -d file://"$dest" \
    -t 'image/*' \
    -e mimeType 'image/*'

```

This was the method I used, file= declares the variable for bash, use the file path of the image you want from your computer here.

dest= declares the destination variable, or the location you want it on your device, I just did the sdcard \> downloads.

Then the commands to initiate the push and update the wallpaper. Some devices may ask what you want to use to complete this action, "Wallpaper" should show up, at least it did for my devices and then you click on that to complete the task. My assumption is on certain devices it will default that action depending on your devices apps.

---
Tags: 4.4-kitkat, images, terminal
---


# Question
Title: System Application was uninstalled and could not be recovered in android
I have rooted my device. I have installed crDroid-7.1.2-20171202-j5nlte-v3.8.3 and android 7.1.2

I am using j5nlte model of samsung. I have accidentally uninstalled contact and contact storage applications since my device was already rooted. After the uninstall process, I have installed `simple contacts` application from `f-Droid` When I am willing to create a new contact I could not create the contact and the system says

```
No app from this device

```

As I think, the problem was "contact storage application was uninstalled". I have downloaded below application to install the contact storage application. I could not installed and the error was

```
The package conflicts with an existing package by the same name

```

I can restore the device to get my system apps but I can't restore since I have some other issues.

Is there any way to get my system apps back. Do I have any method to save contacts without contact storage apk?

# Answer
Afraid you need to re-install your ROM. Until you can do that, you can e.g. use OpenContacts from F-Droid. This is an addressbook/dialer that comes with its own contacts storage no other app has access to (privacy-focused), so it should work in your current situation.
> 0 votes

---
Tags: root-access, contacts, system-apps, 7.1-nougat, f-droid
---


title: Guide to editing /etc/hosts

text:
# Question
Title: Guide to editing /etc/hosts
It was noted in another thread that it should be possible to build up a white list for an android device using the /etc/hosts file. I would like to experiment with this idea. Does anyone have any guidance to offer as to how to go about it?

It has been many years since I played with that area of networking, but from what I remember the host file allows you to specify an IP for an URL which overrides the published DNS settings. With that it is fairly easy to build a list of content that I want to have accessible, or explicitly blocked, but I am not sure how that helps prevent access to other content. I am not aware of, and so far google has not showed me, any way to tell the host file to intercept all other requests. Does android support some form of wild card in the hosts file? Or is there some way to disable DNS regardless of the active network connection?

Should note that the devices I am worried about at the moment are wi-fi only tables running android 2.3.3. I am willing to root them if necessary.

# Answer
> 5 votes
/etc/hosts doesn't allow wildcards (see here: https://serverfault.com/questions/118378/in-my-etc-hosts-file-on-linux-osx-how-do-i-do-a-wildcard-subdomain).

Two more links about /etc/hosts:

# Answer
> 4 votes
`/etc/hosts` is in this context is really only good for blacklisting.

For whitelisting, you'd be best off using a proxy server and then setting your device to use it in your device's network settings.

You can subscribe to an existing proxy server service, or set up your own at home. That should be enough info to get you googling to the answers you need. I've added a little more detail to this answer on your original thread.

FYI, using a proxy server does not require rooting.

# Answer
> 3 votes
The hosts file acts sort of like a local DNS, it will check the hosts file for the domain and see if there is an assigned IP address in it. If there is, that is the IP address used for the domain. You can't set a white list, but you could do more of a black list. The file looks something like this:

> somebaddomain.com 127.0.0.1
> someotherdomain.com 127.0.0.1

this would make any request to either of those domains resolve to localhost. If the domain is not in the file, it will then hit the external DNS to attempt to get the IP address.

There is a catch to this, you will need root to modify the hosts file.

# Answer
> 0 votes
For my home network's WiFi connected hosts (I have 4 of them, 3 Windows 10, 1 Ubuntu Linux 19.10), I always set their preferred DNS server address to the IP address of my Cable Modem / WiFi router (192.168.0.1). I have set the WiFi router's internal DNS severs setting to the fastest DNS servers I can find, which are usually OpenDNS:

208 67 220 123

```
 - and -

```

208 67 222 123

I've always gotten blazing fast results doing it this way, regardless of the make / model number and configuration of my Cable Modem / WiFi router.

---
Tags: wi-fi, settings
---


title: '|' types '\' instead

text:
# Question
Title: '|' types '\' instead
I recently got a Logitech K380 (Turkish Q layout). When I type '|' (Alt Gr + \<) it types '\\' instead.

I've already checked for:

* Mismatched layouts: but all other keys (including '\\', which is bound to AltGr + \*) type properly.
* Defective Keyboard: but keyboard works fine on a Windows PC.

I've tested it on two different devices, one with KitKat and another with Lineage 16. Both have the problem.

A possibly useful thing I found was that if I were on the UK layout, the keys I pressed would print '\\'.

How can I fix this?

# Answer
> 0 votes
Minutes after asking this question, I started trying random combinations in order to see if anything else was out of place.

Turns out, Android decided that AltGr + - was a better shortcut for '|'.

---
Tags: external-keyboard
---


# Question
Title: Gmail autocomplete -- how to clear contact suggestions when composing a new message?
When I compose a new message in Gmail on my Android phone I'm offered several suggestions for the recipient (i.e. for the email's To: field) via an autocomplete function. These are often very old/unknown contacts which I'd like to no longer see as autocomplete suggestions, but I can't yet work out how to clear this list.

The contacts suggested appear to have come from an old list of "Other" contacts, i.e. people that I've contacted infrequently and who were not actual contacts I've added to my contact list. These only show up when I compose a new message in Gmail on my phone, and the autocomplete works as expected when on a non-Android device (laptop).

My assumption is that the Gmail autocomplete function is reading these outdated contacts from a list stored somewhere in a file on my phone which is impervious to the contact sync process or somehow not being cleared as expected otherwise -- I've tried all manner of syncing phone contacts, deleting old/other contacts outside of Android, etc. but no joy so far.

An idea I have is to somehow search Android's filesystem for a file that contains the unwanted contacts and if found then wipe that file clean. Is this reasonable, and if so can anyone suggest guidance that'll make this less of a wild goose chase?

My phone details:

```
Model: Nexus 5X
Android version: 7.1.2
Baseband version: M8994F-2.6.37.2.21
Kernel version: 3.10.73-ge570678
Build version: N2G47F

```

Thanks in advance for any help or insight.

# Answer
> 0 votes
In your case, you could try clearing gmail's local data.

Go to

> Settings -\> Apps -\> 3-dot Menu -\> Show System

Then Scroll down and Select *Gmail*. Tap on Storage -\> Clear Data.

This should remove anything stored by Gmail locally.

Your Emails and other data will be synced back when you reopen Gmail.

# Answer
> 0 votes
I think it should be possible to wipe the autocompletion of unwanted entries by deleting the associated contacts. For that, you should go to https://contacts.google.com/ and search the unwanted contacts. I am not sure if hiding the contact is sufficient or if you have to delete them, but I suppose you can find that out yourself as I want to keep my contacts.

Best regards

# Answer
> 0 votes
I have exactly the same issue as the poster above. My contacts have been cleaned out of the old address, the Gmail on the computer does not suggest them but the Gmail app on Android insists to keep showing old email address of someone who changed jobs four times in the last year or so and I communicate with a lot. And I only have his current email address in contacts yet Gmail for Android insists on preferring the older emails, a real pain. Yes all the standard suggestions if cleaning contacts etc are not what this and other posters look for.. but for Google to fix this automatically.

However I did manage to clean it with doing this: Phone \> settings \> apps \> Gmail \- force stopped Gmail \- storage: cleaned both cache and data \- restarted Gmail which first looked as if I was a first time user, but it still know my email address so I could just click next and they all came back. The new is cleaned up

# Answer
> 0 votes
Although I'm not very familiar with this issue. But give a try on accounts.google.com-how we collect data. I will personally look into it since I had many expired contacts but never had Gmail recommended me those. Also reset the contacts data from Google's server. That might do it. You are proposing that it may be due to some external sources. Regarding this I can only say that in your phone/devices there might be some VCS files from where these contacts are suggested. That's my guess only though.

# Answer
> 0 votes
Went to 'Other Contacts' in My Contacts and deleted the culprit that kept showing when I composed. Did the trick - using Gmail.

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


title: How to remove added ringtone

text:
# Question
Title: How to remove added ringtone
I have added a new ringtone to the ringtones list in Settings-\>Sounds-\>Phone ringtone\>Add ringtone. After that I can see the same ringtone file in Ringtones folder of Internal storage. I need to remove this ringtone? For that I have deleted that file from folder. But, the ringtone is still running there. How to remove it.

Device: Moto X4 Oreo 8.0 (non rooted)

# Answer
Don't clear data of Media Storage (System App) as mattm suggested, you'll lose all ringtones and sound effects.

Instead, do a search for the ringtone or sound effect you added using the Files app (comes with Android), then erase it. It'll be removed from the ringtone selection menu without erasing all the other sound files.
> 9 votes

# Answer
I can help you because I also hate the this problem. You need clear data of **Media Storage**(System App)

1 - Go to "Settings \> Apps"

2 - You need enable "Show system apps"

3 - Search and open "Media Storage"

4 - Click in "Storage \> Clear data"

5 - Reboot your phone for enable default config.
> 1 votes

# Answer
This is tried on an Asus Zenfone Max Pro M1 running Android 9. Inspired by Joao's answer I didn't use the `Files` app, but connected the phone to a PC using USB cable in file transfer mode, and then used Windows Explorer search to find the file.

Found the folder containing the file: `\Notifications`. If you delete from this folder, your file will be gone from the list of ringtones.
> 1 votes

# Answer
Open your file browser, find music (and its file path) which you like to remove from ringtone selection screen. Beware of duplicate file.

After you find it, please rename the song; add a symbol or character at the beginning or the end of the file name(s).

Now, open ringtone selection screen. The system will not found file(s) and remove them from selection list.

After those files are removed from the selection list; reopen the file browser, rename back to the original name.
> 0 votes

# Answer
You might want to check a path in Main Storage called `Ringtones`. It might include added ringtones, so removing them from this path could remove them from options.
> 0 votes

---
Tags: ringtone, 8.0-oreo, moto-x4
---


# Question
Title: Telegram still knows my location after using a VPN
I connected to a VPN and turned off location but telegram still show my country in registration form. How this is possible?

# Answer
there are different methods to get the user's current location in android. If you have turned off your location it checks your last known location from your phone

Try changing your current location in maps by using/downloading FAKE GPS from play store.

Hope this helps.

Thank you
> 1 votes

# Answer
If you are using a Smartphone with SIM card inserted and unlocked, Telegram can simply query the network operator info (which includes the country) of your SIM card.
> 0 votes

# Answer
I used a VPN(Hola) to route through Switzerland and then I changed the location using Fake GPS Location - Hola to the same area the VPN was routed to (according to Telegram's check based on my IP). I also turned off my mobile data. I assume Telegram is keeping track of *when* the account was used *where* and then they just show the last location available in their database if the sudden change in location doesn't make sense.

Here you can see they got my location wrong:

Also when sending my location in a chat they show the fake location I set. Unfortunately, when searching for friends or groups nearby this is not the case.
> 0 votes

---
Tags: vpn, telegram
---


# Question
Title: Oneplus 6 gets stuck on Fastboot Mode when booting to TWRP after system update
After upgrading my Oneplus 6 to Android 10 from Android Pie using the System Updater, I tried to reinstall TWRP using the both the most up to date image from https://dl.twrp.me/enchilada/. I tried both the most up to date image and the one I had used previously to install TWRP.

When I run `fastboot boot twrp.img` in the bootloader, it gets stuck on "Fastboot Mode". If I hold the power button, the phone turns off and I can boot it again normally. How do I boot to TWRP properly?

# Answer
I fixed the problem by using the TWRP link from this website which I got to from this xda page. It got past fastboot mode and into TWRP.
> 2 votes

---
Tags: twrp, oneplus-6
---


# Question
Title: How to unhide a contact address in Google Maps?
I accidentally hid a contact on Google Maps, thereby removing his/her address on the map. How do I undo this action?

# Answer
According to solutions given Google Maps Help forum, you can try **deleting** the contact and then **re-adding** it.

> It is presumed that these settings are stored in the Contacts App on your phone, not the Maps app.

Thus perfoming the above mentioned workaround will then override the "hide" option.

Additionally you may need to resync the information to Google servers.
> 2 votes

# Answer
My solution just recently when I hide contact by accident

Settings-Apps-Google Maps-Force shutdown- Clear memory + cache Start maps again and the contacts should be back.
> 0 votes

# Answer
Open location sharing (from the menu in the top left corner of the Google maps app). You should see a list of everyone who has shared their location with you, including the one you accidentally hid from the map. Select that person, and an option should appear for you to "show on map". Select that, and they will again appear on your map.
> 0 votes

# Answer
on the maps app, click on your profile picture located at the right side of the search bar, then "location sharing", then click on the 3 dots in the top right corner and "hidden from map (1)" where 1 is the number of hidden contacts. Then, click on the 3 dots of the contact that you want to unhide, and click on "show on map". Now your contact's location will be shown on the map again.
> 0 votes

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


# Question
Title: is it possible to activate usb debugging using adb command line?
i have xiaomi phone and forget mi account. so i try to restore it using factory reset. i try to enabling USB debuging then. but it says "developer option is not avaiable for this user". adb is active. my question is "is it possibe to activate usb debugging using adb command, and how?" thanks

# Answer
If the usb debugging is off. Your device won't appear in `adb devices` list. So you cannot turn it on any other way than opening the developer options and manually enabling it.
> 1 votes

# Answer
YES you can switch on USB debugging through ADB provided you bootlaoder is unlocked. Just have to pull few files ---\> edit them ---\> Push them back. It is explained on Github: https://gist.github.com/pantasio/3d0eb4bb03a1e696aae8696f60730859#file-enable-usb-debug-adb
> 0 votes

---
Tags: adb, usb-debugging, command-line
---


# Question
Title: Unable to Log into Samsung Account on Samsung S5 Neo
Entered correct email and password. Next step.

Entered correct 2-step Verification code. On pressing next, refreshes page and asks for code again. Never actually logs in.

Restart Phone ... NO FIX

Reset Password ... NO FIX

# Answer
Went on my desktop and logged into samsung accounts from there, 2-step verification worked on their wekapp login portal. Then went into security settings (webapp), disabled 2-step verification, restarted the phone.

Then was able to log into Samsung Account successfully (phone).
> 0 votes

---
Tags: hardware
---


# Question
Title: Does Android send Wi-Fi probe requests to saved hidden networks?
Let's put this scenario:
I manually add an existing Wi-Fi network that does not broadcast SSID. For some reason the encryption passphrase doesn't match, so authentication is impossible. Previously hidden SSID is now shown in Wi-Fi networks list.

Click on hidden SSID that is now shown and forget its settings. Click on the same hidden SSID now presented on the list and set a correct passphrase. Authentication is done successfully.

My question is if the network is still considered a hidden network on `wpa_supplicant.conf`?

In the future if Android client does not send a direct probe request for a specific hidden SSID and instead sends a broadcast probe, will it be unable to detect the network?

# Answer
A hidden or non-broadcast WiFi Access Point remains always hidden i.e. it always sets SSID to `null` in beacon frames it sends. However once you manually add its SSID to a supplicant, it depends on the latter whether it explicitly scans the former in future or not. Android's WiFi client is `wpa_supplicant`, the same is most commonly used on other Linux-based OSes. From `wpa_supplicnat` configuration manpage:

> ***scan\_ssid****<br>SSID scan technique; 0 (default) or 1. Technique 0 scans for the SSID using a broadcast Probe Request frame while 1 uses a directed Probe Request frame. Access points that cloak themselves by not broadcasting their SSID require technique 1*

So `scan_ssid=1` is usually the default behavior on most OSes. Also Windows built-in supplicant can *"connect even if the network is not broadcasting"*.

> In the future if Android client does not send a direct probe request for a specific hidden SSID and instead sends a broadcast probe, will it be unable to detect the network?

Yes definitely. But scanning hidden networks is default setting up to Android 8. In Android 9 a new configuration was added to allow explicitly setting the behavior:

> My question is if the network is still considered a hidden network on `wpa_supplicant.conf`

In Android whole configuration is not added to `wpa_supplicant.conf` file but retained by Android framework. Since Android 8 it's stored in `WifiConfigStore.xml` files located under `/data/misc*` directories. According to user selection, `scan_ssid=[0|1]` \- along with other configurations - is passed to `wpa_supplicant` process over HIDL - an Android specific IPC - or possibly over global `ctrl_interface`.

To summarize, yes Android (by default or optionally) sends direct probe requests to saved non-broadcast WiFi networks.
> 3 votes

---
Tags: wi-fi, wpa-supplicant
---


# Question
Title: there is an internal problem with your device
When I install my custom kernel i got this message after reboot. The phone working normal no kernel panic or etc.

system/build.prop

vendor/build.prop

# Answer
https://github.com/LineageOS/android\_vendor\_lineage/commit/27180809c594cf6beeaeb206cced6fa42c086517 apparently that commit fixes it I have the same issue on a phone I made a kernel for, which I don't own. Will know sometime tomorrow if it works.
> 0 votes

---
Tags: kernel
---


# Question
Title: I want to use my bluetooth headset (Sennheiser MB660 UC MS) with an app that doesn't support bluetooth
I work as a freelance consultant using a platform that aggregates my clients who buy hours from me in blocks. Billing is done per minute when a client makes a voice/video call. Voice clarity and noise cancellation is of the utmost importance. Clients are able to leave reviews after a call.

The problem is that the platform (two versions exist: Android and iOS) was built by a small startup who haven't invested in Bluetooth support (yet). As a result, headsets have to be plugged in to the the headphone jack of the device.

I invested in the rather expensive Sennheiser MB 660 since I was looking for the ultimate purpose built headset for knowledge workers. The trouble: I had assumed that all of its built-in noise cancelling microphones will continue to work even if I had a wired connection, and could live with that until the app added Bluetooth support.

HOWEVER, I belatedly discovered the MB 660's are designed such that Bluetooth AND the noise cancelling mics are switched off as soon as a wire is plugged in (some German engineering choices I find perplexing), and the only active microphone is then the one on the audio cable itself (not noise cancelling). Which beats the purpose of having such a sophisticated headset in possession.

Now that I have this headset anyway, and love it otherwise, I want to find a way to indirectly connect it to my Android device in a way that I am able to use it without connecting the wire. The only way to do that seems to be to plug something (henceforth, SOMETHING) in to my Android device's 3.5mm headphone jack. That SOMETHING will be a two-way Bluetooth contraption of some sort that can send and receive audio and able to pair with my headset too.

Does this SOMETHING already exist in the market, or will I have to make one? If I must make one, what components do I need and how to do I put them together?

Thank you so much!

# Answer
The MB 660 can be used in 3 different ways

Bluetooth: Here we are powered by ourself and handle NC using 3 microphones build in to the right earcup USB: Here we offer the same performance as Bluetooth and could be used as an alternative for the customer smartphone Analogue: Here we force OFF the Bluetooth and only drive the ANC circuitry for the speakers. Only the in-line omni dir microphone on the cable can be used for communications
> 0 votes

---
Tags: applications, bluetooth, calls, headset
---


title: How to launch a pdf from a terminal?

text:
# Question
Title: How to launch a pdf from a terminal?
I gain precious time by launching pdf from the terminal in Linux

```
evince ~/mypdf.pdf

```

What is the exact command that allows me to do that on android?

This post gives the following template:

```
am start -a android.intent.action.MAIN -n my.domain.myApp/my.domain.myApp.myClass

```

\*How to modify this command to launch a pdf\**

# Answer
I am not sure if you can starting an intent with a relative file name. Better use the absolute file name and use `am start` to view the file:

```
am start -a android.intent.action.VIEW -d file:///storage/emulated/0/mypdf.pdf -t application/pdf

```
> 2 votes

---
Tags: applications, terminal, command-line
---


title: Schedule power off/on in 8.1.10 Oreo

text:
# Question
Title: Schedule power off/on in 8.1.10 Oreo
I just got a new 'phone running Android 8.10 Oreo, and I can't find the schedule power off/on anywhere.

Has the feature been removed? If not, where can I find it; I realize that this might vary by device, but there can only be afew places to look ... ?

# Answer
> 3 votes
This hasn't been a stock Android feature. Some sources including this Missing "Scheduled Power On/Off" option in Android 5.0.2 on Swipe Elite Plus phone talk of it being on Lollipop but I jumped that version so can't comment

For sure, it's not a stock feature from 6.0 to 8.1. You can use some app to schedule power off not power on

# Answer
> 1 votes
I found it on my Nokia 3 TA-1020 with Android 8.0.0 through the Search feature in Settings: "Scheduled power on & off" which leads to "Scheduled power on & off". I have found no other way of getting to that item.

Update (21-Dec-2018): After updating to Android 8.1.0, that search doesn't work anymore. It seems that feature has now been removed. Pity.

# Answer
> 1 votes
I have just upgraded to Android 8.1 some days ago, and the "Scheduled power on and off" feature has been moved under "System" in the settings (as the whole settings menu has been reordered). Note, that the search also finds it for me. (type "scheduled").

So the feature is in place but does not work anymore, or at least my phone stopped to switch on since upgraded the Android version. Only the switch-off is actually working for me. If you find the feature, I am curious whether both the power on and off will work for you.

# Answer
> 0 votes
you will find schedule power on off mode in settings right under Developer option. if your developer option is not activated then you can activate it by tapping on Build noumber 6/7 times.

---
Tags: battery-life, 8.1-oreo, power-on
---


title: Unable to root Motorola g7 Power

text:
# Question
Title: Unable to root Motorola g7 Power
I have unlocked the bootloader and enabled USB debugging. I can launch TWRP over fastboot and use the interface.

To root the phone, I tried the following:

* Push the TWRP zip onto the device `adb push ~/Downloads/SuperSU-v2.82-201705271822.zip /tmp`
* In the TWRP interface do: Install -\> Add Zip -\> `/tmp/SuperSU-v2.82-201705271822.zip` \> Swipe to continue
* Process finishes and Phone reboots
* Open Root Checker Basic

> "Sorry! Root access in not properly installed on this device. "

My goal is to be able to run `su` in `adb shell`.

What have I done wrong here?

# Answer
> 1 votes
SuperSU is discontinued and shouldn't work as expected on new versions of Android. You should consider using Magisk.

Flash the zip the same way you did for SuperSU. Then remember to launch magisk app and do the necessary additional installation steps.

---
Tags: rooting, twrp, fastboot
---


title: Can not edit build.prop

text:
# Question
Title: Can not edit build.prop
I am trying to edit the lcd density in build.prop in /system but every time after reboot my changes are lost..

I tried to adb pull + edit + adb push in normal and recovery mode.. also i tried fileexpert and super manager but nothing worked.

I heard many people saying about root explorer but its not free.. I want to be sure if my problem will be solved with root explorer then i will buy it..

Please help me out guys..

I am using android 2.3.3 on HTC HD2. My Rom is custom one (HyperDroidGBX-v12)

# Answer
> 4 votes
Answering my own question as found the solution. We can edit build.prop from mobile. I downloaded ES file explorer which is free. then from optin set "root explorer" and set "mount system as read/write" Now edit build.prop and save it using ES file explorer's editor then uncheck "root explorer" and "mount system as read/write" for safety..

hope it wil help someone :)

# Answer
> 0 votes
Root Explorer won't solve your problem any more than adb, although it's a great app.

First, I'd try making sure you remount `/system` as read-only after you push the modified file. If that doesn't work I would assume your bootloader is checking the file and replacing it when it doesn't match what it should be. To help you further, I think we need to know what phone you have; please add that to the question. Your version of Android, name of your ROM if it's custom, etc. will also be useful.

# Answer
> 0 votes
You could also use TWRP

Reboot to recovery (TWRP)

Click Mount

Deselect mount system partition as read-only

Done

---
Tags: editing
---


# Question
Title: Flash boot.img without using fastboot USB
So I've recently rooted my phone and tried a ROM or two. I find it really handy that you can use TWRP recovery to install another ROM from the SD card, you don't need to have it connected to a PC.

However, on my device (HTC One S) I need to flash a different boot.img file for every ROM as well, so I still need to hook my phone up to my PC to switch ROMs. If I don't do this, it just gets stuck on the loading screen. Then I must use the command

```
fastboot flash boot boot.img

```

from the folder where boot.img is located.

Is it possible to flash this boot image with TWRP or any other way without using fastboot over USB?

# Answer
What needs to be done is to bundle the boot.img and construct a new zip file suitable for flashing via ClockworkMod or TWRP.

**Pre-requisites**:

* a Linux environment that has the usual development packages, such as Java installed. (*It can also **apply** to other platforms, just be careful that the instructions here indicating the path used below, uses a forward slash `/`, so flip that around to be a back slash `\` for Windows environment especially!*)
* adb command line tool installed.
* \`testsign.jar' tool, for signing the zip file so that the recovery can authenticate and verify it is a valid archive otherwise recovery will report *corrupt archive* or similar.
* `update-binary` command line application, that is internal for usage with the flashable script. (This can be found with **any** flashable zip, the important thing is to extract that binary and deposited in the structure of the directory as shown)
* zip command line tool.

Assuming your directory is called **workdir**, for discussion, lets call this the working directory, copy the `boot.img` into that directory, and create the following directory structure - `META-INF/com/google/android`, this is important! And within the `META-INF/com/google/android`, copy the binary application called `update-binary` into that directory. So the directory structure should be like this:

```
+ workdir/
     +
     |
     +--+ boot.img
     |
     |
     +--+ META-INF/
              +
              |
              +--+ com/
                    +
                    |
                    +--+ google/
                           +
                           |
                           +--+ android/
                                   +
                                   |
                                   +--> update-binary
                                   |
                                   +--> updater-script

```

As for the `updater-script`, copy the contents of the following below:

```
ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "boot"),
       delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");

```

***Remember:*** Do not get confused here, the updater-script as shown, should be left alone and as-is, so do not try flip the forward-slash to a back slash if doing this under Windows environment.

Go back to the parent of the directory structure, i.e. outside of **workdir** and do the following, we're going to create a zip file from this:

`zip -r my_custom_flashable_boot_unsigned.zip workdir/` which is a recursive function, this will zip up everything into the file called **my\_custom\_flashable\_boot\_unsigned.zip**.

Finally, to sign the zip file, issue this:

```
java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip

```

Then its a matter of pushing that across the SDCard as in `adb push my_custom_flashable_boot_signed.zip /sdcard/` and manually go into recovery and specify that zip archive (i.e. **my\_custom\_flashable\_boot\_signed.zip**) in which it will perform the flashing for you.
> 10 votes

# Answer
If you have the `flash_image` binary, then you can do it on device via terminal emulator (flash boot, then the rest using recovery).

Syntax: `flash_image boot /sdcard/boot.img`

Self Promotion Time

I have an app that provides a GUI for the binary. Find it here.

If you don't have that binary, it can be installed (Google it - you have to download it then copy it to the `/system/bin` folder.

This doesn't work on all devices, however it's the only way that springs to mind.
> 2 votes

# Answer
> Is it possible to flash this boot image with TWRP \[...\]?

rename the file **boot.emmc.win** and place it in `TWRP/BACKUPS/` (create new folder). restore the backup from usual TWRP menu
> 0 votes

---
Tags: rom-flashing, recovery-mode, boot, fastboot
---


# Question
Title: Meaning of two low battery screens on Acer Iconia tablet?
According to https://community.acer.com/en/t5/Android-Tablets/Iconia-tab-10-A3-A20-won-t-charge/m-p/513098/highlight/true,

> Hello, my tablet was working fine for a year and suddenly won't charge up.
>
> When plugged in while turned off, the screen will power up, showing the empty battery icon then another icon with a low battery and a power plug.
>
> Then the screen will turn off and start over alternating both icons and so on.

I am going to upload the two screens the OP was talking about:

> "Empty battery icon" // "Icon with a low battery and a power plug"

Do the two screens have different meanings? If yes, then what do they mean? Are they "charging" and "connect to power"?

# Answer
Singhnsk says:

> I'd go with your conclusion. Similar, although not identical happens on my Nokia 7.2. If it is fully empty and I try to turn it on, I get that icon (second one2 with wire and plug). And when I connect power in such a state, it shows the first icon1 for some time before it gets some charge and then moves me to the charging screen as defined in the device's ROM or firmware. Somebody told me earlier that this is a CPU's screen which is used when the battery is extremely low.

* 1 "Empty battery icon" (with lightning bolt)
* 2 "Icon with a low battery and a power plug"

---

In this view, the answer is:

1. "Charging, please wait till the battery gets at least 1%."
2. "Battery is dead; connect to power."
> 0 votes

---
Tags: battery, charging
---


# Question
Title: Use AVD Manager without Starting Android Studio
I would like to use the Android Emulator to work on some APKs. In order to start the Android Emulator, based on the instructions here: https://developer.android.com/studio/run/managing-avds.html

So, I need to start the AVD Manager from Android Studio, then create a device and start the emulator.

Now, the issue is, when I open Android Studio, it asks me to create a new Project or open an existing one before continuing. This takes a long time. Isn't there a way to just start the AVD Manager without opening the Android Studio GUI?

Probably, there is a way to start AVD Manager from command line?

Thanks.

# Answer
You can navigate to the directory where you have installed SDK and launch "AVD Manager.exe"
> 1 votes

# Answer
In Ubuntu 19.10!

With the environment variables already configured ($ANDROID\_HOME), you should be able to list the AVDs, but if you are unable to start the AVD, do the following:

\# Check the AVD target name

> emulator -list-avds

\# But to start do:

> $ANDROID\_HOME/emulator/emulator @avd\_name

or

> /home/$USER/Android/Sdk/emulator/emulator @avd\_name
> 1 votes

---
Tags: android-emulator
---


# Question
Title: Automatically notify people when I leave/reach a location
Does anyone know of a way to automatically send a notification when I arrive or leave a location?

For example, I'd like to send a notification to my wife whenever I leave the office.

Does anyone know of a service that would do this? I'd prefer something stock/Google over some home-brew app, but I'm interested in hearing what's out there. I'm not really interested in a foursquare type of thing where I earn badges, it's more for communicating my location with one or two people.

# Answer
Tasker can have approaching/leaving a location as a trigger, and sending a text message as an action. I've read before of people setting it up to do exactly what you're asking for.
> 8 votes

# Answer
Install IFTTT app into your phone. Create a IFTTT recipe (www.ifttt.com) that runs IF "Android Location" (you enter/leave an area on map) THEN "Android SMS" to a phone number. Theoretically it sounds easy. I am just about to test it how it works in practice :-)

Here is a ready IFTTT recipe as an example. Message your partner when you leave work https://ifttt.com/recipes/158448-message-your-partner-when-you-leave-work
> 2 votes

# Answer
It looks like there are several apps that purport to do this. Two that I found are:
> 1 votes

# Answer
Life360 will notify you when anyone leaves or arrives from locations you set. You can create two locations for free.
> 0 votes

# Answer
You can try the GPS share app. It is simple to use and does exactly what its name says.
> 0 votes

# Answer
You can try IFTTT (IF This Then That)
> 0 votes

# Answer
I know the question is old, but Google now let's you share your location directly from Google Maps.

In Google Maps go to Account -\> Location Sharing. You can share the location for a set amount of time or until you revoke the permission.

For the notifications you can use IFTTT recipes (you don't need to have the app on the phone).
> 0 votes

---
Tags: gps, geolocation
---