# Question
Title: How to allow auto-update of apps in Play Store only when plugged in?
I would like apps to be updated automatically when my phone is plugged in (charging) and on wifi. I can easily allow auto-update only when wifi is on with the appropriate option in the Play Store settings, but not prevent auto-updates from occuring if the phone is running on battery.

This is causing an unecessary battery drain when I am using my phone on wifi at home. Given that auto-updating apps is more a daemon job than a time critical task, I cannot believe it is not a standard power saving strategy.

Do you know any apps or system workaround (including if the device is rooted) to achieve this?

# Answer
**Note**:

Following solution:

* is tested on Android 4.2.1, COS12 (Android 5.0.2) and CM12.1 (Android 5.1.1) - all of them running Play Store v6.0.51
* requires a rooted Android
* here is a short demo of the solution

---

While browsing the manifest of Play Store, I took an educated guess that only the following service is likely the initiator of auto-update of apps over Wi-Fi.

```
com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate

```

I played with that service under few conditions on different devices and found it useful for the goal in question. It goes without saying that the auto-update setting of apps should be set to "Auto-update apps over Wi-Fi only" in Play Store.

Here is what you can do: Install an app which can execute series of actions when power source and Wi-Fi are connected and later on, disconnected. I used Tasker (trial version; userguide) as the automation app.

We would be needing two tasks: an entry task and an exit task. See my answer here for related help.

* **Enter task**: (Actions):

1. Code → Run Shell

    + Command:

        ```
        pm enable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager\$CheckWifiAndAutoUpdate;
        am force-stop com.android.vending;
        am startservice com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager\$CheckWifiAndAutoUpdate

        ```
        + tick Use Root
    2. You may optionally add one or more actions to notify yourself that the update procedure has begun. I used Alert → Flash to notify myself via a toast.
* **Exit task**: (Actions):

This task **requires** Busybox's applets installed. See How do I install missing command line tools onto an Android device? for related help.

1. Net → Test Net

    + Type: Mobile Data Enabled
        + Store Result In: `%Mdata`
    2. Code → Run Shell

    + Command:

        ```
        svc data disable;
        svc wifi disable;
        am force-stop com.android.vending;
        am force-stop com.android.providers.downloads;
        down_path=$(content query --uri content://downloads/my_downloads --projection _data --where "notificationpackage='com.android.vending'");
        [[ "$down_path" != "No result found." ]] && echo $down_path | sed 's/.*=//g' | xargs rm -f || echo continue;
        content delete --uri content://downloads/my_downloads --where "notificationpackage='com.android.vending'"
        pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager\$CheckWifiAndAutoUpdate;
        svc wifi enable;
        [[ "%Mdata" == "yes" ]] && svc data enable || echo doing nothing;

        ```
        + tick Use Root
    3. Again, to notify yourself, use any action of your choice.

# What does those tasks do?

When the conditions for both the contexts are met, the enter task is run. The commands in that task does these things in sequential order:

* enable the aforesaid Play Store's service
* force-stop Play Store
* start the said Play Store's service

And that's all for the auto-update to begin.

After remaining activated, whenever the profile deactivates (simply because a condition for a context doesn't meet anymore) the exit task would run. That exit task executes following steps in sequential order:

* store the state (enabled/disabled) of mobile data in a variable Mdata
* the job of those commands is to:

+ disable mobile data
    + disable Wi-Fi
    + force-stop Play Store
    + force-stop Download Manager

I noticed that if an update (download in progress) for an app is interrupted due to unavailability of Wi-Fi, the progress bar (notification) is dismissed, the status of the progress gets stored in a row in the table *downloads* of database *downloads.db*. (That database is located under the data directory of Download Manager.) That row also contains the location of the partially downloaded file.

In order to make sure that auto-update doesn't occur on the next successful connection to Wi-Fi and making sure that it never does so when the profile is not running the enter task, following is what rest of the commands do:

+ extract the location of the partially downloaded file from the value in the column `_data` corresponding to a row identified by com.android.vending as notificationpackage. We aim to delete that file. This is a small sacrifice to make.
    + if there is indeed a file path under *\_data*, then use it to delete the file pointed by it.
    + delete that row, otherwise, it will be read by Download Manager when network connectivity changes (reconnected to a Wi-Fi) and auto-update would begin again.
    + disable the aforesaid Play Store service so that auto-update never begins on it own
    + enable Wi-Fi
    + enable mobile data, if it were enabled prior to running this task.

---

1At the time of creating the first revision of this answer the current Play Store version is definitely not 6.0.5 but above. However, none of my devices have received any further Play Store update so far.
> 4 votes

# Answer
The closest I've come is combining two settings. I do this on two devices, one running Android 4.4.4 (KitKat) and another running Android 5.0.2 (Lollipop).

* System Settings → Wi-Fi → Advanced → Keep Wi-Fi on during sleep → Only when plugged in
* Play Store → Settings → Auto-update apps → Auto-update apps over Wi-Fi only

It seems to pick up updates at least a little more often when it's plugged in. It's not perfect, but it's not a bad half-solution, and it doesn't require Tasker or rooting.
> 2 votes

# Answer
This can be achieved using Tasker (Paid App). In Tasker, the Profile can defined having the following conditions. It have little learning curve, but this App can replace almost many apps.

Below is the sample profile,

When **Battery \> X%** And **Wifi is ON** and **Charging is enabled**

Enable Auto Sync On

This is just the sample one, you can specify the condition based on your requirement. Since this is a seperate topic, i would encourage you to google tasker in xda forums.
> 0 votes

# Answer
There is a ticket open now on Google Code, so hopefully this feature will be added in a future release.

https://code.google.com/archive/p/android-developer-preview/issues/1511
> 0 votes

---
Tags: google-play-store, 4.1-jelly-bean, battery, application-autoupdate
---


# Question
Title: tasker to turn on do not disturb when plugged into charger
I'm trying to use Tasker to turn on the do not disturb mode in android 6.0 marshmallow. I used to use tasker to make my phone go silent when I plugged in my charger cord every night, and turn off silent when I unplugged the cord in the morning. Tasker broke I think with Lollipop when we lost our silent mode. Now with Marshmallow we have do not disturb, but tasker can't seem to trigger it and/or has no access to "do not disturb." I set up a profile (state/power/any) and a "task" (audio/do not disturb/all) but it does nothing when I plug in my power cord. Can anyone solve this problem?

# Answer
It doesn't work because you designed the action not to do anything but let Android disturb you, as usual. Here's what each entry corresponds to under Audio → Do Not Disturb:

* None: silences all sounds, including alarms - Total Silence
* Priority: silences sounds except for certain calls or notifications - Priority Only
* All: this *effectively ends Do Not Disturb mode*
* Alarms: silences all ringtones & vibrations except alarms - Alarms Only

<sub>(Content partially derived from the article: Silence your device with "Do not disturb" \- by Elena)</sub>
> 4 votes

---
Tags: tasker, silent-mode
---


title: Persistent restart

text:
# Question
Title: Persistent restart
Can anyone here help please?

my galaxy tab 2 with jelly Bean 4+ keeps restarting itself. Here is what happens:

1- while it is rebooting itself constantly, i hold the power button. it boots.but stays on only for one minute and starts its rebooting cycle again.

2-i put it on safe mode.the little " safe mode " shows up at a corner.but there is no real change.it doesn't really go into safe mode. All apps remain there and it falls into it's rebooting cycle again after one or tow minutes.

3-i press and hold the right buttons for recovery. The recovery mode comes up. I select factory reset.and then say yes.it brings up some 4-5 new lines up and says I can boot now, which I do. It turns on but again no changes.no reset happens at all.and soon it sinks into its restarting cycle.. So to put it in a nutshell it neither factory-resets nor does it go in safe mode.

All I can do now is what I explained in number 1 above. I turn it on and during that one minute window, before it restarts itself, I bring up boot menu and turn it off.

Now, What can I do?, Without using a computer.I don't have one. But if connecting my tablet to a computer is the only way, then how could I do it using a computer? And I am not a geek.

Thank you very much

# Answer
> 0 votes
1)Boot into recovery mode and clear cache.

* Power Down the tablet
* Hold Volume Up button and power button at same time, wait until it starts and release Volume Up button only after you see the menu,
* In this menu only volume key and power key works, so, navigate to , wipe cache partition and press power key, that will select that option and proceed. -In new menu , agree to proceed, by selecting OK , using volume key and power key.

2)Boot into recovery mode and Factory Reset.

* Follow same steps as above
* In this menu only volume key and power key works, so, navigate to , Wipe data/ factory reset and press power key, that will select that option and proceed. -In new menu , agree to proceed, by selecting OK , using volume key and power key.

---
Tags: recovery-mode
---


# Question
Title: Selecting multiple photos on the HTC One X (AT&T)
I just received the HTC One X from AT&T. How can I select multiple photos in the Gallery?

# Answer
> 2 votes
My experience of the One X in order to be able to select multiple items in the gallery you need to first give it a task to do.

For example,

* Open Gallery
* Hit 'Share' in the bottom left, you'll need a service which takes multiple uploads, such as Facebook
* Then you'll see the 'multi-select' grid with tick boxes next to each image which you can then select.

As far as I can see from playing on my device for 10 minutes, there isn't a general 'multi-select' feature. You might try a different gallery app though. I would recommend QuickPic

# Answer
> 0 votes
Try any Third party Gallery apps like QuickPic Gallery.

# Answer
> -1 votes
I think multiple selection is (Programmatically) supported in KitKat and newer versions of Android as given in this link.

---
Tags: gallery, htc-one-x
---


# Question
Title: Cannot add google account (It is not in the list of available account)
I bought the tablets from China, and if I want to add Google account (from Settings.Account.AddAccount) ther is no google account in the list.. There is only

Corporate IMAP POP3

tablet: x-302 of Dragon

h701

Android 4.4.2

kernel 3 April 67

Build ALPS.KK1.MP1.V2.11

and on tablet are no applications from Google (NO "Gmail", "Account Manager Google" and "Google Services Framework") It looks as if not installed (or forbidden) Google applications from the producer.

# Answer
> 2 votes
Manufacturers must certify their devices with Google in order to have the Google Apps pre-installed1. Obviously that wasn't done for your device. So you have to either install GApps manually (follow the previous link for details) – or use the chance a "Google free" device gives you and install an open source alternative like miroG.

---

**1:** See e.g. here; the term for this agreement is MADA (Mobile Application Distribution Agreement)

# Answer
> 1 votes
Izzy has already answered this, but adding this piece of information, so that you could authoritatively quote to your company

PDF at this link List of all devices supported by Google Play can be quoted after verifying if you can query with additional information on your device . Search based on details provided by you shows, it isn't registered

---
Tags: google-play-store, 4.4-kitkat, google-account, google-apps
---


title: What is the Stock ROM?

text:
# Question
Title: What is the Stock ROM?
I bought my brand new phone with the Android Version of Lollipop 5.1 out of the box, does that mean Lollipop 5.1 is the phone's stock ROM?

# Answer
Stock Rom is basically the software which is provided by the vendor or You may can say that the software which was installed by the manufacturer of the phone is Stock Rom. the other type of the Rom is Custom Rom which advance users installed after flashing it as per they desire.

And Yup in your scenario you have Stock Rom of "Lollipop 5.1". You may install any custom Rom as per your own risk. if you know well how to flash custom Rom.
> 1 votes

---
Tags: stock-rom
---


# Question
Title: What is the meaning of 1,000,000-5,000,000 installs in google play?
I used to see a number in Google Play Store app on my tablet showing the number of installs for an app. However, when opening google play in PC browser, e.g. for the DI app (shown in figure) under "ADDITIONAL INFORMATION" section of the app page, it reads Installs: 1,000,000-5,000,000. What does this number show? If this is a range, how can it signify number of app installs?

# Answer
> 3 votes
As you said, it is a *range*. That being so, it cannot signify the number of installs.

* Those getting *revenue* out of it- *developer and Google* need to know the exact number. Exact figures would be available with them.Thanks to Lucky for confirming
* From a user perspective, I am not sure how exact number helps unless that metric is used to evaluate merit of the product! Which is not the use case for most

There is a source, which claims to provide you a view of the downloads and revenue figures, Sensor Tower (I have no idea how reliable it is- you could cross check with a developer). Website says:

> Sensor Tower is the leading app analytics platform focused on helping companies with mobile apps understand and improve their organic user acquisition, analyze their app’s performance, keep up to date with competitors and manage reviews. Over 90,000 mobile companies and developers use Sensor Tower to improve their downloads on iOS (iPhone, iPad and iPod) and Android

App mentioned has this statistic using the above source

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


# Question
Title: How will I know the signal strength of my smartphone's 3g?
How will I determine the signal strength of my smartphone's 3G whether strong or weak?

# Answer
> 0 votes
To see the **signal strength**:

* Go to Settings → About phone → Status.
* For dual sim phones: go to Settings → About phone → Status → SIM status.

---
Tags: 3g, network-signal
---


# Question
Title: Is it possible to backup Whatsapp Contact Photos?
As the title says, is it possible to backup my Whatsapp contacts pictures?

I'm not talking about pictures and photos shared between us, I'm referring to the contacts' profile pictures.

All the solutions that I have found are focused on backing up chat histories, shared pictures and so on, but nothing that can perform this task.

# Answer
There is no direct button to do this work. But, you can find all those profile pictures that you see in full clear view. These pictures are downloaded in folder **WhatsApp/Profile Pictures**.

From there you can copy and paste where you want. Generally, these will not show in Gallery, because these pictures kept hidden by *.nomedia* file.
> 2 votes

---
Tags: contacts, backup, whatsapp-messenger, contact-photo
---


# Question
Title: How to deal with "short GSM IDs" in Tasker
My "cell near" in Tasker looks like this:

```
GSM:4321.99011048 / 0
GSM:4321.99011052 / 0
GSM:4321 / 0

```

What is that short ID? If I take it out, my profile sometimes triggers as "leaving" even when I stay in the same place, but if I include it, my profiles "enter" task triggers even when I'm miles from the location

# Answer
I never used Tasker, so I can only guess, but mobile cells are usually identified with four numbers: mobile country code, mobile network code, local area code and cell ID. Given that these are the numbers that are available for mobile cells, Tasker has to somehow derive these numbers from the ones I mentioned. I have no idea how, because I don't know the cells around you (and around here most of the cell IDs and local area codes have 5 digits. You can check yours too, with some other app, I use OpenSignal, which can give me the LAC/CellID).

As far as I know that 4321 can't be the mobile country code (it would be 3 digits, 432 is Iran) or the mobile network code (3 digits at most, only 2 digits in most countries), so my guess it that it's your local area code. And the other number after the period your cell ID, maybe. If my assumption is true, then it could mean something like that the line with only your LAC makes the app detect the local area with the mobile cells visible from the given area. It would mean that if you include the line then the app would think that you are in that local area even if you don't see any of the cells that you usually do when you're at the location, but you see cells from the same local area. That could mean being miles away. The maximum range of a GSM cell can be as much as 35 km. And if removed it could mean that the app would detect that you are not in the local area in the moment it can't detect the nearby cells temporarily for some reason. (Which can often happen.)

But this is just a guess.

Another guess is that 4321 is indicating byte order for some identification number (maybe one of them mentioned above). But then I have no idea why would the app behave like it was described.
> 0 votes

---
Tags: tasker, geolocation, location-services, gsm
---


# Question
Title: After downloading APK Games weird things happening
I downloaded APK Games and one thing I know when I woke up my built-in apps were being replaced by "pornclub", "sexyhot", etc. I did Factory data reset but it deleted my built-in apps. I was going to flash it, but I can't enable developer mode by repeatedly tapping the device model (it doesn't work). Also my installer, messenger, and everything are gone. What can I do?

# Answer
You phone is most certainly infected. The most guaranteed way to get rid of the infection and bring back all the built-in apps you mention is to flash a clean stock ROM. Since you didn't disclose your device information I can't recommend anything further than this.
> 0 votes

---
Tags: applications, usb-debugging, antivirus
---


# Question
Title: Taking the initiative and updating to Marshmallow without rooting. Can I do it?
I have an Alcatel One Touch Idol 3 running through Cricket as a carrier in the United States. It is currently on an Alcatel version of Lollipop that is reversible. My OS also frequently crashes hard and reboots.

I'm coming from using Motorola devices that were close to stock Android, and I want to go back to pure android and get the latest. Can I put Marshmallow on my phone without rooting? I'm technically able, and I could root my phone if I wanted to. I've done it many times before. I just want to put the latest Android on my phone.

Can I do it? If not, why not?

# Answer
> -1 votes
Without root,you can update to Marshmallow if the update is provided by your mobile manufacturer. Without root you cannot switch to custom roms.You can downgrade in few cases if that is available and provided by manufacturer.

---
Tags: updates, 6.0-marshmallow
---


# Question
Title: Install CA without having to activate screen lock
I have a Nexus 7 (Android 4.1.1) and I want to add a CA (Certificate Authority) to my device to use it for the ssl-connection to my mail server. The CA is self-signed. The Certificate does only contain the public key of the CA (of course!).

I also want to keep my screenlock disabled because on a tablet not leaving my house it does not make sense to have a screen lock.

Now the problem arises: Whenever I want to import the CA, Android wants me to change my screenlock to digits/password which I want to avoid.

Can this behaviour somehow be prevented? There is nothing security critical at a public key of a CA.

I know that when the phone is rooted one can add a CA, but I want to avoid rooting my phone.

# Answer
I've written an article on creating & installing CAcert certificates as Android System Certificates (Android \>=4.2), thus allowing you to use your device without lockscreen:

http://wiki.pcprobleemloos.nl/android/cacert

Main part of my article:

```
cat root.crt > 5ed36f99.0
openssl x509 -inform PEM -text -in root.crt -out /dev/null >> 5ed36f99.0
cat class3.crt > e5662767.0
openssl x509 -inform PEM -text -in class3.crt -out /dev/null >> e5662767.0

```

Copy the files `5ed36f99.0` and `e5662767.0` to `/system/etc/security/cacerts/` (and `chmod 644` them), `reboot` and it should work. Check Settings -\> Security -\> Certificates, it should list both "CAcert Inc." and "Root CA". Note that some browsers might use their own certificate store instead of the Android one.

The Android security model explicitly forces you to have a lockscreen whenever a non-system (user) certificate is installed. There is no configuration option around this.

You can either replace your stock Android version with one which has removed this requirement (I do not think that any exist, but you could theoretically create your own).

The other option is using (temporary) root access for installing this certificate, and then 'unrooting' it, although that sounds a bit silly.
> 2 votes

# Answer
Sorry, root access is require AFAIK. For everybody who has root access and Android 4+, here a detailed description how to add it to Android's system certificate folder:

Assuming your certificate file - let's call it `root.cer` \- looks like this:

```
-----BEGIN CERTIFICATE-----
MIIDgzCCAmugAw[...]
[...]
-----END CERTIFICATE-----

```

Obtain the name Android needs for it (".0" is appended) and store in variable `$name`:

```
name=$(openssl x509 -inform PEM -subject_hash_old -in root.cer | head -1).0

```

Sample output for: `echo $name`

```
00673baa.0

```

Create the certificate file for Android:

```
cat root.cer > $name
openssl x509 -inform PEM -text -in root.cer -out /dev/null >> $name

```

Copy certificate file to SD card:

```
adb push $name /sdcard

```

Open Android shell:

```
adb shell

```

Become root and copy certificate to Android's system certificate folder:

```
su
mount -o remount,rw /system
cp /sdcard/00673baa.0 /system/etc/security/cacerts/

```

**Note: For the last command you need to replace the certificate file name!**

Now reboot. Make sure that the certificate was correctly installed: Goto `Settings` -\> `Security` -\> `Show trusted certificates`. Here in the system list you should find the name of the issuer of your self-signed certificate (which is equal to the subject). You can print it using:

```
openssl x509 -inform PEM -issuer -in root.cer -out /dev/null

```

Now you can delete all certificates (system certificates are not touched) and remove the lock screen.
> 1 votes

# Answer
There is no way I know of which will achieve this. I've been looking for a way of doing the same thing for a while now, as my work requires me to use a CA, but have found nothing after a lot of looking. If you were rooted then it might be possible, but without root I'm afraid you're going to have to just deal with it.

Sorry!
> 0 votes

# Answer
In case you decide to root the phone (you can only root it temporarily to install the certificates, it doesn't need to remain rooted), you can upload the certificates into a directory and the next reboot they will be validated:

```
adb shell mount -o remount,rw /system
adb push 1dbdda5d.0 /system/etc/security/cacerts/

```

where `1dbdda5d.0` is your certificate to be trusted.
> 0 votes

# Answer
I found a way to solve the problem, but it requires root and may only work with root, self-signed, or intermediate CAs.

If you have a certificate that is not trusted by Android, when you add it, it goes in the personal cert store. When you add a cert in this personal cert store, the system requires a higher security level to unlock the device. But if you manage to add your cert to the system store then you don't have this requirement. Obviously, root is required to add a certificate to the system store, but it is quiet easy.

Here is how to do it :

1 - Add your cert normally. For example, my cert was called `some.crt`. It will be stored in your personal store and android will ask you a pin/password... Proceed.

2 - With a file manager with root capabilities, browse files in `/data/misc/keychain/cacerts-added` or `/data/misc/keystore`. You should see a file here called `1000_USRCERT_some` it's the certificate you have added in step 1.

3 - Move this file to `system/etc/security/cacerts` **(you will need to mount the system partition r/w)**

4 - Reboot the phone

5 - You are now able to clear the pin/password you have set to unlock the device.

Worked for me with a self-signed cert on Android 4.4.2. Hope it helps!
> -1 votes

# Answer
There is a way. Just install your certificate the usual way and set "Patterns" as lock screen to do so. Lock the screen. Fail on the patterns 5 times, then click on "forgot pattern" in the lower right corner, login with your Google account and voilà ... the lock screen is reset to "none" and certificates are still there.

Just tested it on Galaxy Note N7000 with 4.1.2
> -2 votes

---
Tags: lock-screens, 4.1-jelly-bean, certificates
---


# Question
Title: want amazon prime video on android tablet
I HAVE a Toshiba wt10-a tablet and want to access my amazon prime video account to download and watch movies. I am not a techie, . All other devices are iPhones and kindles and want the Toshiba to connect to them if possible. Thank you!

# Answer
> 0 votes
To get Amazon video on a "regular" Android tablet, you need to install the Amazon App Store, then install Amazon Video. This should walk you through the process and is Amazon's official way of supporting Amazon Video on non-Kindle Android tablets.

---
Tags: sync
---


# Question
Title: Transfer contacts from a phone with non-functioning screen
I have a HTC 510 Desire.An I try to tranfer my contacts but the touch screen does not work. How can I get my contacts?

# Answer
> 0 votes
**PC companion software**

The only way to do it is if you use HTC's pc companion software to sync the device with the pc and then use the software to the pc and then to your new device.

The software can be downloaded from HTC's site here

---
Tags: contacts
---


title: TTS speech from console

text:
# Question
Title: TTS speech from console
Can I synthesize arbitrary text strings with TTS from the Android's console?

To give the idea, on Debian I would do:

```
festival --tts <(echo Buongiorno signore)

```

The TTS engine needs to be always available and run offline, thus Google TTS is not an option. The phone is a "*Samsung Galaxy Fame gt-s6810p*" with Android 4.1.2; it comes with an offline Samsung TTS engine installed.

# Answer
> 1 votes
I normally run android tts from android terminal, just the way on linux.

I achieve this with sl4a & Python4Android (github.com/kuri65536/python-for-android/releases). Here is the wrapper script that I use for python environment in terminal.

Just Create a python program using sl4a tts api, like this ::

```
`#!/system/bin/py  # Change the Path to wrapper script

 import android
 import sys

 droid = android.Android()

 print 'Speaking ::' + sys.argv[1]
 droid.ttsSpeak(sys.argv[1])

```

\`

Save as tts. Run it in terminal with your text as argument.

```
tts 'Hello, It's me TTS , running from console.'

```

---
Tags: command-line, voice-command, text-to-speech
---


# Question
Title: To configure tethering as two step login in CM13?
I have given my password of wifi stations to group of people. However, I want to allow only specific people to login at specific time.

## Attempt

I could not enable a basic MAC filtering for devices. Without it, I think this is not possible without a third-party application or without a change in the default options of settings. I could not find anything that is designed for the purpose. I did not find an option in the settings which could enable such a feature. You can

* see which devices are connected to your network in the settings, and
* to signout all devices from your network at once

but you cannot determine

* which devices are allowed to be in your network at specific times.

---

How can you manually decide which device can connect to my network? I am running Cyanogenmod 13 (Android 6.0), unrooted.

# Answer
> 1 votes
> How can you manually decide which device can connect to my network?

*hostapd*, a deamon that manages access point in Android (supports Linux and FreeBSD) is controlled by the configuration file `hostapd.conf` located under `/data/misc/wifi`. At least in my device, the configuration file *inter alia* notes:

```
# **Station MAC address -based authentication**
# Please note that this kind of access control requires a driver that uses
# hostapd to take care of management frame processing and as such, **this can be
# used with driver=hostap or driver=nl80211, but not with driver=madwifi.**
# **0 = accept unless in deny list**
# **1 = deny unless in accept list**
# 2 = use external RADIUS server (accept/deny lists are searched first)
**macaddr_acl=0**

# Accept/deny lists are read from separate files (containing list of
# MAC addresses, one per line). Use absolute path name to make sure that the
# files can be read on SIGHUP configuration reloads.
**accept_mac_file=/data/misc/wifi/hostapd.accept
deny_mac_file=/data/misc/wifi/hostapd.deny**

```

The configuration defaults to

```
0 = accept unless in deny list

```

while you need

```
1 = deny unless in accept list

```

To do just that, change the value from 0 to 1 in `macaddr_acl`, mention the MAC address of the target(s) which should be allowed to authenticate with your hotspot in the file *hostapd.accept*, start or restart the hotspot and see the magic.

Example of *hostapd.accept*:

```
# List of MAC addresses that are allowed to authenticate (IEEE 802.11)
# with the AP. Optional VLAN ID can be assigned for clients based on the
# MAC address if dynamic VLANs (hostapd.conf dynamic_vlan option) are used.
60:XX:YY:ZZ:AA:BB
8c:BB:AA:ZZ:YY:XX

```

In above example file, only the machines with those MAC addresses are allowed to authenticate with my hotspot. Any machine with MAC address other than those two would repeatedly failed to authenticate.

Unfortunately, you may not be able to make any good use of this solution without root access.

**Note:** this solution is tested on an unofficial build of CM13.

---
Tags: cyanogenmod, security, tethering
---


title: iPhone Jan 1, 1970 bug on Android?

text:
# Question
Title: iPhone Jan 1, 1970 bug on Android?
I was just wondering if this bug is on Android as well. I really want to try it but if it is, I don't want to ruin my phone. I mainly just want to know if I need to protect my phone's time and date from idiots at my school.

# Answer
Possibly, the error is known as Unix Epoch and since both iPhone and Android use parts of the UNIX code (iPhone from Darwin which is based off BSD, based off UNIX and Android based off Linux, based off Unix). Android does not let you go further down than January 2, 1970 from my experience, so possibly.
> -2 votes

---
Tags: 6.0-marshmallow, date-and-time, nexus-6
---


# Question
Title: unable to free up space on samsung s3 mini
I've got a Samsung S3 mini. It keeps telling me that I have insufficient space. I have just deleted loads of photos and videos, I only have a few apps. Instagram, pinterest, watsapp and picsart. I deleted two of the apps but it's still saying insufficiant space. I have no idea what i'm doing wrong? I have restarted the phone to see if that helps but NOTHING.

When I've gone into storage it says that I have 810mb in the downloads...so i clicked on it and cleared the two things that I had in there, it's cleared them but is still saying 810mb..

HELP

# Answer
> 1 votes
It might help to get a better look at your internal usage.

An app like Disk Map has a function to view disk usage. You may be able to use this to identify large files and delete them.

In this particular app, select 'Internal storage' and press the 'Disk map' button to see something like this:

And you can even long press items in this map to see options to delete them:

# Answer
> 0 votes
Download clean master from Google Play and try to clean your device using this app. Also go into your phone storage section, select miscellaneous and remove all data...

Hope this helps!!

---
Tags: insufficient-memory, samsung-galaxy-s-3-mini
---


# Question
Title: How do I remotely unlock Google Device Manager remote lock when I know the password?
Is there an option to remotely unlock the online Android Device Manager's lock feature if I have the password?

## I have read "How to unlock Google Device Manager remote lock?" but I do not have my phone, it was stolen. Also, I have the Google Device Manager password I used to lock my Samsung Active S5 after it was stolen.

If anyone wants to help me find it I would be very grateful. I installed the GDM before it was stolen and did not know about all it's features. I locked it because of the data overages. I wish I had not done because it was being tracked by the google maps Location History feature and was tracking every movement until I locked it and shut off the data via my provider. I turned back on the data but the provider said that the phone would have to be manually restarted for the data to start working. So I am hoping that if I unlock it they will start using it again and I can alert the police or get it myself.

I am trying to track the phone before I goto the police. I read the police very rarely recover a phone and this has my life on it and was not backed up properly I just got it and I traded in my old phone. I am a screwed idiot big time...

# Answer
> 0 votes
There is no method for unlocking in google device manager, but, you could try setting the password to password, and setting the text as, 'the password is password'.

However, if you can't contact the phone, it is probable that they have wiped it an set up their own google account.

There isn't much you can do, except, tell the police your IMEI number, they probably have a database of lost and stolen phones.

# Answer
> -1 votes
Go to Settings \> Lock Screen \> Security. Make sure everything is clear and then there are other security settings, it will allow you there to deactivate.

---
Tags: lock-screens, locked-out, android-device-manager
---


# Question
Title: How to Backup and Restore Android OS without Rooting
I want to find a way to restore my phone in case the process of rooting my phone or dual booting a custom rom breaks it. However, most of the ones I've looked at require the phone to be rooted before installing. I know I can create a nandroid backup through system settings, but I don't know how to recover that without rooting my device, or if there are better options. I'm not terribly concerned for any personal data on my phone (I can backup my pictures pretty easily), but I mostly just want to be able reinstall Android OS or reset to factory default in case my device breaks. Thanks!
Edit: I am going to ask a new question (one different enough to justify not simply modifying this one) with the new info I learned from the possible duplicate.

# Answer
> I know I can create a nandroid backup through system settings

No, you can't. Read the tag wiki of nandroid to clear your concept about nandroid backup, including how it is made.

> I mostly just want to be able reinstall Android OS or reset to factory default in case my device breaks.

A factory reset wouldn't help since it only clears data, internal SD card and cache partitions while rooting mainly affects system partition. System partition is what contains the files needed for Android to run.

You can use the answers available to Full Backup of non-rooted devices. On a non-rooted device, those answers are more or less limited to the extent of the magic can perform. In essence, they would, when possible, copy an app's apk and its data. Some of them covers both system and user-installed apps.

**Tip**: If an app doesn't want to be backed up (such as Chrome), none of the answers there would be able to backup that app's private data - sad reality of our times.

As for re-installation and possible nandroid backup, the situation differs for device to device. Following are few generic things I can tell:

* Your device is popular enough in developer community that at least one person has created and publicly hosted a custom recovery for your device and also hosted the stock ROM somewhere, either by themselves or by making a copy of what OEM probably provided . If there exists a way to flash the ROM without booting into a custom recovery mode, then you can take the moderate risk of rooting.

Make sure you meet all the requisites to flash the ROM before you begin rooting.
* Your device's OEM provides stock ROMs image which can be flashed from stock recovery or through fastboot (or equivalent) mode.

Fulfill the requisites of ROM flashing and you can take the moderate risk of rooting.
* You own a device with chipset from Mediatek and that chipset is supported by Smart Phone (SP) Flash Tool. If yes, then make the scatter file and use it in SP Flash Tool to make image of your device's partitions. You can call it the true nandroid backup. That backup can be used to restore the Android OS.

**Note:** If you've a custom recovery for your device, then you can use SP Flash Tool to flash the recovery without bothering to root the device at first. Once the custom recovery is installed and device is booted into, rooting would be a piece of cake.

Make sure you meet all the requisites before you begin rooting.
* If there is no OEM or developer support for your device, then I suggest you **don't take the risk of rooting.** The ending *might take away your peace of mind*.
> 1 votes

# Answer
Helium might be something you're interested in. It backs up mainly apps, but since you said you already have solutions for photos, this could work the way you need.

> Helium is the missing app sync and backup solution for Android.
>
> Helium does NOT require root. All Android users can use Helium to backup and sync Android applications.
>
> Helium lets you backup your apps and data to your SD card or cloud storage. With Helium, you can sync app data from your other Android devices-- even if they are not on the same network. Set up backup schedules with Helium, and never lose data again.

That being offered, if you're looking for a way to back up the entire system, an ADB nandroid backup might be better, and can be restored without root. This has been outlined in another answer here.
> 0 votes

---
Tags: rooting, backup, custom-roms, restore, unrooting
---


# Question
Title: ADB does not detect my device while in Recovery Mode
I have a Moto G (Falcon-xt 1033).

Recently I successfully flashed cm 13 nighly on my device, everything worked fine, used the phone a little while, then flashed supersu and device went into a boot loop.

I had removed rom zip files from device storage, so I am trying to push rom zip into my device via adb. But the adb does not detect my device(nor does my laptop- running ubuntu 14.04). I tried a bunch of things from from trying all ports to updating adb version to creating 51-android.rules file under etc/udev/rules.d/ The recovery my device used is cwm.

I want to access the storage drive of my device either by adb or by any alternative to push the rom .zip and other files. How exactly can I go about solving this problem.

PLEASE HELP!

# Answer
> 1 votes
Considering you're using CWM (which isn't developed in a fast pace), you could switch to using TWRP, boot into recovery, enable MTP, and simply mount your internal storage or external sd card.

Copy whatever files you want onto whichever location of your choice. Unmount and flash. As I mentioned earlier, I will recommend you *wipe-wipe-totally-clean-everything* before re-installing. You don't want any traces of anything lingering around to hunt you!

Considering the above step worked for you, this point might not be helpful in your case, but to someone. If after everything above, supersu continues to give problems, perhaps its unstable with your phone/CM yet, and you might want to either get an updated version, or find a similar app that's stable with your ROM.

---
Tags: adb, recovery-mode, clockworkmod-recovery, motorola-moto-g
---


# Question
Title: Is it possible to open Hotspot while we are using wifi?
I have tried but you can only use one at a time either WiFi or Hotspot but it'll be great if we can use hotspot while we are using WiFi.

# Answer
> 1 votes
**No.** Its not possible.

Creating a WiFi Hotspot **requires** using the WiFi interface. And the interface, at the moment, supports using it for one thing at a time, either connecting to a Router with it, OR, creating a hotspot (router) for others to connect to.

As a side note, it would have even been nice to have your phone to connect two WiFis for faster browser. But that's also not possible either, *at the moment*.

---
Tags: wi-fi, wifi-hotspot
---


# Question
Title: App detects it has been previously installed
How does an app detect that it has been previously installed on a phone even though it was hard reset and completely wiped (even the system partition and sd card and everything)? I think it is due to IMEI number. Are there any methods to bypass this? In case of multiple such methods, what is the best method and what is the most popular? And how can each be bypassed?

# Answer
If you did the hard reset, but app still know, I think it check your IMEI, MAC address, google ID, or else stored in app owner server or google.
> 0 votes

# Answer
I can think of two things involved here:

* **Not clean wipe**: An app might keep that record of being installed somewhere on the device, that even uninstalling the app, doesn't get deleted. Thus, upon being re-installed, goes to check that whatever it stored to learn if its been on that particular device before. Therefore, if you say you wiped clean, then it wasn't an 'entirely' clean wipe, as the app stored the file somewhere out of reach of a 'normal' wipe. With that said, *wipe-wipe-totally-clean-everything*, in other words, **hard wipe**
* **A remote account involved**: Does the app request to login before using the app? If so, then probably, the app stored a combination of unique information about your phone somewhere remotely (online), then upon re-login, it simply checks to verify.
> 0 votes

---
Tags: applications, imei
---


# Question
Title: Google Play app won't open on Cyanogenmod
I am using a Samsung Galaxy S5 and I have just installed a Cyanogenmod 13 Nightly. I have TWRP and I have already installed the gaaps package. I have google play installed but it won't open when I press it, it would just pop back to the home screen. And I couldn't install any apps online right now because I am the default browser doesn't allow me to download anything. So when I tried download an apk, or anything, the browser simply closes and says "Unfortunately, Browser has stopped." Please help!

# Answer
You could try to download .apk to your computer and then use `adb install your_package.apk` command to install it to your device. Android SDK is required to do this.

UPD: Also, as Firelord mentioned in comment - do not use nightly builds. They are unstable. It could be a reason. Try some stable build.
> 0 votes

---
Tags: cyanogenmod
---


# Question
Title: Browser that doesn't reload tabs all the time
Is there a browser for Android that won't constantly reload tabs when switching between them? I'm using Chrome on a Nexus 5 (lollipop). And even when there are no other apps running it will reload any tab that I switch to. Even if I only have two open.

Or, I'm browsing a page. Open a link in a new tab and continue reading the current page. I can see that the new page has loaded, but when I switch to that tab it gets reloaded. And then switching back to the original one it reloads that one too.

This makes reading on the tube impossible as I can only pre-load one tab :/

I should note that I've factory reset my phone a couple of days ago and this is still happening every single time.

# Answer
Turns out the problem is (it seems) a memory leak in Android lollipop. The OS was using well over 1GB of RAM, which caused all the tabs to constantly reload. I got suspicious when I noticed that apps also got reloaded immediately.

After restarting the phone, the problem is no longer there. It seems it's a known bug, but I don't know when it's going to be fixed.
> 2 votes

# Answer
Turns out the OPs issue only occurred in the Chrome browser, and when using Chrome Beta it worked (sort of).

---

**Old Answer:**

Try going to `chrome://flags`

Look for "Auto Reload" tags, turn them off:

```
chrome://flags/#enable-offline-auto-reload
chrome://flags/#enable-offline-auto-reload-visible-only

```

Relaunch Chrome (using the button at the bottom after you have toggled the flags)

If the problem persists, it is not because the page is reloading, it is because it is being redrawn, i.e. it is already downloaded, just not displayed to the user yet. This is due to the fact that, for performance reasons, Chrome doesn't draw all tabs simultaneously.
> 6 votes

# Answer
From what I have seen, Firefox, Dolphin and UC Browser allows switching the tabs without reloading/re-rendering them. Whereas Chrome and Opera seem to reload them after 3 or 4 active tabs.

I think it has something to do with caching in RAM memory vs Disk memory, I could be wrong.
> 1 votes

# Answer
Dolphin Browser for Android does not reload pages when you switch tabs
> 0 votes

# Answer
Try going to `chrome://flags`

Look for **Enable tab discarding** or **Auto Reload** tags, turn them off:

`chrome://flags/#enable-tab-discarding`

`chrome://flags/#enable-offline-auto-reload-visible-only`

Relaunch Chrome (using the button at the bottom after you have toggled the flags)
> 0 votes

---
Tags: browser, 5.0-lollipop, chrome-for-android
---


# Question
Title: How to fix "Invalid IMEI " after Factory reset?
The question is simple "How to fix "Invalid IMEI " after Factory reset?"
After factory reset my phone starts showing "Invalid IMEI" on both SIM slots and I can't call or to being called.

The phone is A738 with **Android 2.2.1** and **CPU chip** is Media Tek MTK6516 416MH

Hope that information is enough.

\** UPDATE \**

This is the phone

# Answer
> 4 votes
I found a good solution:

**DO IT AT YOUR OWN RISK**

1. Need to root the phone - I use z4root
2. Install Root.Explorer (in the archive)
3. Using Root Explorer you must replace (maybe you will need to press "Mount R/W" on top right corner of the program screen) **.modem.img** from the archive to this location of the phone **/etc/firmware/.modem.img** (do not delete the old file !!! replace it!)
4. Set permissions for the **.modem.img** file to **rw-r--r--**
5. Restart the phone and maybe will be OK, but if it is not go to next step
6. IMEI information is stored in **/data/nvram/md/NVRAM/NVD\_IMEI/MP0B\_001**. Maybe changing of your original IMEI is not good idea because it is against the law but if you don't have copy of that file BEFORE the factory reset you can use temporary IMEI file located in the arhive.

The archive with files needed

# Answer
> 7 votes
1. Install the Mobile MTK Engineering Mode app. This will only work on devices with a Mediatek chipset.

> This Application allow you to run Advanced Setup from Engineering Mode Menu of MTK phones, also called SERVICE MODE

Other apps which can show the MTK Engineering Mode Menu will probably work too.
2. If you can't find or don't know your phone's IMEI, then install the Bb IMEI Generator app to generate one for you. If your phone has dual SIM support, you'll need two IMEIs. Note the generated IMEIs by Bb IMEI Generator.
3. In the Mobile MTK Engineering Mode app go to \> MTK Settings \> Connectivity \> CDS Information \> Radio Information \> Phone 1.
4. At the AT+ line:

Enter `AT +EGMR=1,7,"ENTER-IMEI-HERE"`, then tap on 'Send AT Command'. If you have a dual SIM phone, enter `AT +EGMR=1,10,"ENTER-IMEI-HERE"` then tap on 'Send AT Command' again. Note: The quotes are included. There should be a space after `AT`.
5. You should get a notification that the AT Command(s) were successfully sent. Restart your device. You now shouldn't get the 'Invalid IMEI' notification.

# Answer
> 3 votes
Before proceeding, check your country's law regarding tampering IMEI. It might be illegal. However, the answer is meant to restore the IMEI back to original. The answer can work on Mediatek devices mt65{89,75,77,92,82}. Simply, its applicable on many Mediatek devices.

In my situation, `T1000's` answer didn't work for my device Micromax A110q Canvas 2 Plus. I used this video (backup) on YouTube which first format and then flashes your device.

> If you have a an MTK-Phone that has an invalid IMEI after performing a factory reset from nandroid, your NV-RAM is corrupted and you CAN NOT fix this with any of the MANY IMEI repair tools on the web. YOU NEED TO FORMAT YOUR NV-RAM and flash a stock image! DON'T WASTE YOUR TIME WITH IMEI TOOLS!
>
> After that you can just restore your original NANDROID backup and be on your way again! (Source)

**Remember to take a backup of everything you think is important for you.**

---

### Method #1

**Procedure**:

> 1. Download a scatter-based ROM (Stock ROM preferred) for your device. Google for such with details like device model name, chipset, etc. You can also look at this collection listed at Androidxda.
> 2. Download ADB drivers for your device, install them and verify that your device is getting detected. You can Google for them like Step 1.
> 3. Extract files from downloaded ROM and look for Scatter File.
> 4. Download latest SP-Flash Tool and follow the usage guide either from the aforementioned video (using old version of the tool) or from here.
> 5. Extract this tool, look for **Flash\_tool.exe** and execute it by `Right-click -> Run as Administrator`.
> 6. Once the interface comes up, click `Scatter-Loading` button and locate the Scatter file there.
> 7. If you have custom recovery installed and don't want to replace it, then uncheck it and check the rest of the listed options (partitions). It is better to uncheck the recovery in case, the tool doesn't succeed.
> 8. Click the `Format` option. Under `Auto Format Flash` check `Format whole flash except bootloader` and uncheck rest (0:57/1:57). Make sure `Validation` is checked.
> 9. Hit `Format/OK` and then connect your phone through USB cable into PC, remove and plug the battery but don't turn it on manually. You may have to press `Vol. Up` or `Vol. Down` button to let the PC detect your phone.
> 10. The tool will format the partitions and will show a green ring as success.
> 11. Press the `Download` button and re-insert the battery again.
> 12. A green ring will be shown if its flashed well.
> 13. Close the tool, unplug the phone, start and boot into the Android. Check the IMEI now.
>
> (Source YouTube video and Androidxda guide.)

---

### Method #2

It could be possible that you might not be able to see IMEI still, but we've come far away from Invalid IMEI issue. If the issue persist, a different issue with IMEI I assume, then consider the solution on YouTube here (backup). You can also look at this (backup) solution which is published by the same uploader.

This solution requires Maui Meta 3G, Scatter based Stock ROM, CDC Drivers. Google them to download the latest version. You may look the this and this video, or this guide for the procedure. Unfortunately, I couldn't find a synopsis for Maui Meta 3G.

**Procedure**:

> 1. First enable USB Debugging in your phone. To do this go to `Settings -> Developer` options and enable USB Debugging in it. In case you don’t find developer options in your settings just go to `Settings -> About phone`. There you can see build number. Tap it 7-8 times and you can get Developer options now.
> 2. Now install Maui META 3G tool then open it after installation.
> 3. Click `Options -> Connect` smart phone into META mode.
> 4. Then click `Reconnect`.
> 5. Now turn off the device and connect it to pc using USB data cable.
> 6. The device will boot up and stay in boot logo (META mode) and won’t go past it (don’t panic it is normal).
> 7. As soon as PC detects the mobile it will start searching for drivers.
> 8. If it fails to install any driver, mainly CDC driver you have to manually install it (this driver is mandatory and without it Maui tool will not detect your device). Hop down to the next point to know how to install CDC drivers. For Windows 7 and above make sure you have disabled **Digital signature Verification**. You can Google out how to disable digital signature verification.
> 9. Go to `Control panel -> Device manager`, locate CDC… (The CDC… option will be displayed until the device is connected in META mode, it will disappear after you disconnect it). Locate CDC in device manger list and right click on it. Now choose `update driver software -> Browse my computer driver software -> then browse Android_Gadget_CDC_driver.inf through browse option -> Click next to install driver -> Choose install it anyway -> done`.
> 10. After successfully installing the drivers the Maui tool will detect your device.
> 11. Close the pop-up info window then choose IMEI download from the drop down menu right below the menu bar of the Maui Tool.
> 12. Main app.
> 13. After clicking IMEI download it will popup a window like below.
> 14. vlcsnap-2014-11-21-00h20m20s28.
> 15. Click Change NVRAM database file and load your device stock ROM database file. (This file will be available in your device SP Tool flashable stock ROM. Don’t use any other device database file and use only your device file).
> 16. After loading NVRAM database file successfully now enter your IMEI(SIM\_1) and hit `Download` to flash. Repeat the same process for SIM\_2.
> 17. Now you have flashed the IMEI successfully on your phone and you can close the tool.
> 18. Unplug the device from PC, remove the battery and insert it back again.
> 19. Now turn on the device and DONE…!! Now you will have your lost IMEI back permanently. \[More Info : Here (backup) on YouTube\]
>
> (Source)

---

### About SP Flash Tool

> Smart Phone Flash Tool (SP Flash Tool) allows you to Flash any Stock Rom or any Custom on the Android Smartphone.

---

**Note**: I've provided backup for every YouTube video if the original cannot be reached somehow. Method 1 is tested by me. Method 2 is tested from the video only. Procedure for Method #2 is mentioned for the purpose of quoting and answering.

---
Tags: factory-reset
---


# Question
Title: To Connect Audio Generator to Phone Call?
I know that you cannot play music to your phone call without hacking the code as discussed here but I would like to connect an audio generator to a phone call. This approach should be simpler because I have the synthesizer code myself. Assume the code can be run in real-time with only a little tau time-lag so fits very well in such an application. I am not sure how you can reach an real-time access from your keyboard to your phone call.

Cases where the feature is needed

* Sometimes, I am in a library where I cannot talk and I cannot move without disturbing my work. However, I could easily type to the caller such that the text would be converted to speech in real-time.
* Person with a disability that he cannot speak but only type. People are calling him, but currently, he cannot provide discussions because of restrictions and little understanding about the tech.

I am using Samsung Galaxy S4 GT-i9506 with CyanogenMod 13 (Android 6.0). So I want

1. Type with your Laptop or Bluetooth keyboard connected to your phone.
2. Synthesize the typed text in real time to the phone conversation.

How can you connect audio generator to your phone call?

# Answer
As you've already said you don't mind typing on your laptop to achieve this, it's perfectly possible. Just use any text-to-speech system on your laptop (Windows has one built-in, and you can buy/download extra voices for it), and make it output to your laptop's headphone jack. Then you need an adapter cable to connect the headphone output of the laptop to the handsfree kit of your phone. Alternatively, you can use your PC as a Bluetooth headset for your phone instead of using a tangible cable.

Note that this technique isn't specific to Android at all: it would work just the same with an iPhone or even a 'dumbphone'.

---

Doing it on the device might not be possible, even with a custom ROM. My answer here about recording calls explains why not all phones can do this: often, the phone call audio goes directly from the Bluetooth interface or speaker/mic to the mobile baseband, so the application processor has no way to send other audio to it (or to intercept the received audio).
> 1 votes

---
Tags: 6.0-marshmallow, usability
---


# Question
Title: How to Allow Caller Who Can Call You During "Alarms Only"?
I am using Android 6.0. I would like to allow my mother call me also when the mode "Alarms only" is active. I have her in Starred contacts i.e. priority list. She calls me to double verify that I wake up in some mornings.

I would like the caller can vibrate your phone even in the Alarms only mode.

How can you setup a caller who can call and disturb you by vibration during the mode *Alarms only*?

# Answer
> 1 votes
You can use Tasker in this case. Although I tried so, I still couldn't come up with a non-root method.

Follow these instructions:

* Profile: Event → Phone → Phone Ringing:

+ Caller: A single Contact → choose your contact
    + Priority: Highest

You can add multiple contacts there. It is not relevant here whether your contact is a starred contact or is allowed in Priority mode's list.
* Task: (Actions):

+ Code → Run Shell:

    - Command: `settings get global zen_mode`
        - tick Use Root
        - Store Output In: `%ZenMode`
    + Task → If → Condition:

    - `%ZenMod` `eq` `2`
        - `Or`
        - `%ZenMode` `eq` `3`
    + Alert → Vibrate → Time: 1000
    + Task → Wait → Seconds: 2
    + Task → Goto:

    - Type: Action Number
        - Number: 3

The first action stores the status of *Do Not Disturb* mode. The second action checks whether the device is currently in *Alarms only* or *Total Silence* mode. (Remove `%ZenMod` `eq` `2` if you don't want to be disturbed during *Total Silence* mode). If yes, then when the call from that particular contact comes in, the device will vibrate. You can customize the settings for Vibrate and Wait action. Their job is to vibrate the device then wait for few seconds. The use of Goto causes the task to follow the same vibrate and wait cycle for infinite times.
* Profile: You need to setup two contexts. See How to create a profile with multiple context in Tasker? for related help.

+ Event → Phone → Phone Idle → Priority: Highest
    + State → Tasker → Task Running → Name: select the task you assigned to first profile - the same task meant to vibrate the device
* Task: (Actions): Task → Stop → Task: select the task meant to vibrate the device

This profile would make sure that the vibration stops only when either the incoming call is dismissed by yourself or ends up as a missed call simply because the caller dismissed the call from their end or you didn't pick up the call resulting in timeout.

* Profile:

+ Event → Phone → Phone Offhook → Priority: Highest
    + State → Tasker → Task Running → Name: select the task you assigned to first profile - the same task meant to vibrate the device
* Task: (Actions): Task → Stop → Task: select the task meant to vibrate the device

This profile makes sure that the vibration stops once the call is picked up by you.

Try it. It worked on my unofficial CM13.

---
Tags: 6.0-marshmallow, alarm
---


# Question
Title: Is there any way to re-render a photosphere?
I took a photosphere earlier today, and went to the gallery to wait for it to render. While it was rendering, I switched from landscape to portrait and the gallery app crashed. I'm now left with the pre-rendered, non-stitched images.

Is there any way to force the gallery to re-render the photosphere? Or do I just have to re-take it?

# Answer
> 7 votes
Not a full answer (came here looking for an answer myself), but here are a couple of *partial* solutions I figured out so far, perhaps someone else can improve upon these.

1. First of all, temporary files for the last few photosphere sessions can be found under `/sdcard/Android/data/com.google.android.gallery3d/files/panorama_sessions/`. You can extract these out and use an external program such as hugin to stich them. I tried this on a couple of photospheres and though they didn't come out great, I have at least something instead of nothing. I kept the files around and looking around for a good guide on using Hugin.
2. I was able to trick photo app to reprocess them, but it didn't produce desirable result. This is what I did:
    * I connected the phone to my laptop and went into the directory where the session files are (via adb shell).
    * I identified the directory for my previous session
    * While the camera is still connected to the laptop, I started taking a new photosphere, took a couple of snaps
    * Identified the directory for the new session
    * Copied all files from old session directory to the new session directory
    * Ended the photosphere to trigger a processing.

The photo app did process the old images, but it doesn't reread the `session.meta` and `orientations.txt` and instead uses the data from the new session (must be cached in memory). The result is that you don't get a full photosphere, unless you complete the photosphere in the new session also, which I don't mind doing in the interest of saving the photosphere, except that I realized I had to capture the new photosphere in exactly the same sequence as before or the resultant image will all be out of place as it would be stiched in the wrong order.

Ideally, if there is a hidden task in the photo app to invoke the rendering, we should be able to trigger it on the old sessions folder, but I don't know where to begin.

# Answer
> 7 votes
To recover from a crash during a panorama stitch I did this:

Use a file explorer on Android to copy the folder containing the unstitched files from the cache: `/storage/emulated/0/Android/data/com.google.android.GoogleCamera/cache/panorama_sessions/` to the pictures folder and back them up with Google photos. I recieved a notification the next day that photos had stitched my panorama.

# Answer
> 0 votes
No, there is no way to rerender a photosphere. It loses the original data after rendering. Even after crashes.

---
Tags: camera, gallery
---


# Question
Title: What does the "Aggressive Wi-Fi to Cellular handover" option in Developer Settings do?
In Android Lollipop 5.0, I noticed that "Developer Options" features a checkbox for "Aggressive Wi-Fi to Cellular handover" that is unchecked by default. Does anybody know what this setting does and why it's disabled by default and hidden under developer options?

# Answer
> 26 votes
The code for `shouldSwitchNetwork()` best explains what it does. It just artificially reduces the WiFi RSSI (received signal strength indication) to encourage the WiFi state machine to decide to switch the connection from WiFi to cellular network. Around line 3559 of WifiStateMachine.java (line 4262 for Android 6.0.1\_r10):

```
int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
        + (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);

```

The variable `mAggressiveHandover` is an `int` that is set to 0 or 1 by the Developer Settings:

```
private void writeWifiAggressiveHandoverOptions() {
    mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}

```

The `rssi` variable goes on to influence how the connection is classified: `isBadRSSI`, `isLowRSSI`, or `isHighRSSI`.

As to why it's hidden under the developer options, I'd say that is because it seems a little hackish, with a seemingly arbitrary scalar (6) that some dev came up with to nudge the behavior in the desired direction. Google is probably uncertain about the consequences of this setting and the optimal way to adjust `rssi`. If I'm wrong and this is somehow meaningful, I'm happy to admit it and explain here why.

Turning this setting off **does NOT turn off cellular handover altogether**. The WiFi connection still gets a score and is disabled if the score is too low. But hey, the initial score is set arbitrarily too.

# Answer
> 5 votes
Wifi to Cellular Handover is a feature in phones that automatically switches to cellular data when you do not have a strong WiFi connection. You would want to enable this for a few reasons:

* It will save battery - If your phone doesn't switch to cellular data when it can't connect to a Wifi connection, your phone will continue to search for WiFi, thus using battery.
* You won't have to turn off WiFi when you leave your house or when you don't have a connection in order to use data.

# Answer
> -2 votes
No it does NOT turn off the feature completely, nor will it turn it ON by enabling it, it can ONLY be turned ON/OFF in settings → Wi-Fi → Wi-Fi Advanced menu (The three dot icon in the upper right hand corner) and then checking the box next to "Smart switch" (Verizon Samsung Galaxy Note 4 Android 5.1.1), otherwise the *only* thing that you're honestly doing via the developers menu is simply forcing this same exact option to work if/when your phone is experiencing *any* type of *network "hiccup"*, and it in a *way* forgets to change the network type. I suppose you *could* think of it as a blunt or abrupt reminder to the system to change its internet connection from Wi-Fi to cellular data, and/or vice-versa.

---
Tags: wi-fi, 5.0-lollipop, mobile-network
---


title: device not showing in fastboot

text:
# Question
Title: device not showing in fastboot
I have a Samsung Galaxy Tab 3 (GT-P5210GNYXAR) currently with **NO** OS (I completely wiped the tablet in TWRP.)

However, I did root the device, so now it has the TWRP thing. I tried installing the superSU OS I used to root android OS, no luck. I have not tried reinstalling the factory OS because the download time takes 2 hours.

I'm trying to install Ubuntu onto this tablet with a windows computer (that's for a different question) but `fastboot devices` doesn't show the tablet. `adb devices` does, however it says it is "unauthorized" and I don't know how to authorize it without an OS.

Is there some TWRP-specific program or something?

**UPDATE**

I tried downloading the stock rom from a website however the download was too slow (because I'm not paying for premium) and the download failed. However, I will retry tomorrow and use Odin or Heimdall.

# Answer
> 2 votes
SuperSU is not an OS, it's a binary (and associated app). As RMarkwald indicates only adb can interact with Recovery (whether TWRP or otherwise), fastboot is for interacting with the fastboot mode. You will need to boot into fastboot mode to flash a ROM via fastboot.

# Answer
> 0 votes
If its a Samsung, you might consider looking into Heimdall:

> Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices.

I've personally had success with it

---
Tags: adb, root-access, linux, fastboot, twrp
---


# Question
Title: How to get hardware specs of Android device?
How can I find information on the hardware of my Android device like processor architecture, RAM, etc?

# Answer
> 17 votes
1. Run "Menu → DevTools → Terminal Emulator".
2. Enter the folowing commands:

```
cat /proc/cpuinfo
cat /proc/meminfo
free
cat /proc/version

```

# Answer
> 7 votes
My favorite is the AIDA64 app.

I've been purchasing Android boxes (\>10 makes/models in last 6 months) and testing/vetting them for friends. Heard the expression, "Mutton dressed like lamb"? It describes many of what's crossed my bench. The screenshot is of an AIDA64 scan done on an "M8S" box advertised as featuring an Amlogic S812 CPU. This app was one of only 2 describing the CPU/SoC to that degree of detail ("AMLogic Meson8 8726-M8" - the quote is QED).

# Answer
> 6 votes
`Settings -> About Phone` should tell you most of what you want to know. Failing that, it will at least tell you a model name which you can then search google for more info.

My 'About Phone' lists Model, CPU info (i.e. what CPU) and Memory info among other things. But I am running CM7 with Gingerbread.

# Answer
> 2 votes
Check the manufacturer's website or hit up a gadget database like GDGT.

# Answer
> 2 votes
CPU-Z is available for Android in Google Play Store. You can see your hardware information in it.

# Answer
> 2 votes
I got free 'Droid Hardware Info'. Under 'System' tab, it tells the Processor info, utilization of each cores and more.

# Answer
> 1 votes
Go for http://www.gsmarena.com/. It contains specs of almost everyphone

# Answer
> 1 votes
Install Droid Examiner from F-Droid. Gives lots of details, though not pretty. FOSS is good.

---
Tags: hardware, terminal, processor
---


title: Complicated Wi-Fi Question

text:
# Question
Title: Complicated Wi-Fi Question
So every time that I enable and re-enable the wifi connection on my tablet, the MAC address is randomized (like the last 3-4 digits). I don't know what might be causing this, and the root account can't seem to disable the internet connection since it's constantly restarted by whatever daemon is running the wifi service. However, when the daemon restarts the service, the MAC address is not randomized. I have tested the following via the busybox program and it hasn't worked:

https://wiki.archlinux.org/index.php/MAC\_address\_spoofing

I need to do this since my campus wifi only allows through devices with consistent information since we have to pay to use the wifi here each semester.

# Answer
easy route download an app for that there are apps that will do this for you

or

you should be able to add static macaddress in the following directory if rooted , use a root explorer of your choice , and goto

/efs/wifi

theres two files .mac.cob and .mac.info

if you edit both of them files , input the macaddress you need to have and save files , now they should presist across reboots.

worst case senario add init.d support and make a script to run at boot

example: file in /etc/init.d file = 0Amacaddress.sh

\#

#!/system/bin/sh

echo 00:00:00:00:00:00 \> /efs/.mac.cob

echo 00:00:00:00:00:00 \> /efs/.mac.info

\#

00:00:00:00:00:00 is an example , use the macaddress you need to have

and your script if you go that route , will need proper permissions to execute at boot
> 0 votes

---
Tags: wi-fi, root-access, busybox
---


# Question
Title: Which music players support search by "Album Artist"?
All the music players I've tried have search by artist/album/genre but I really want search by "Album Artist". Do any of the market players do this?

# Answer
> 3 votes
Music PlayerPro has that feature.

But it's a Paid app. I tried many free ones, (powerAmp, winamp, cube, double twist, mixzing...) none have that feature!

Note 1: Meridian (free) can search using composers (it calls it writers).

Note 2: There is an issue-ticket related to this open in the android issue tracker. So this may be fixed in stock players in future.

# Answer
> 2 votes
I know this is an old thread, but GoneMad works. PowerAmp and PlayerPro do not.

# Answer
> 1 votes
powerAmp isn't free, I guess you should give shazam a try, it's paid but it's one of the best, it even listens to music if there is any around you and try to recognize giving you the track name, artist,.... etc, also it searches by album artist.

# Answer
> 1 votes
I recommend Rocket Music Player The free version's feature set is fairly comprehensive and to top that off, it respects its users by showing no advertisement.

When you install it, click the three dots icon at the bottom-right corner (or possibly bottom-left if you have a right-to-left language), and select Settings. From there, you can go to the "Tabs" menu and enable the "Album Artists" tab. You can also go to the "My Library" menu and select the conditions for album grouping (applied globally, but most notably you'll want this for the "Albums" tab). Obviously, you'll want to tick "Same album artist".

---
Tags: music-player
---


title: Strange battery graph

text:
# Question
Title: Strange battery graph
A friend's Motorola Moto G (titan) on Android 5.0.2 (Stock) shows this really weird battery graph. Does anyone know what's going on here or how to fix it?

# Answer
Since he is stock, unrooted, and non-swappable battery, he may have a faulty battery!

Every battery has a built-in circuit that reports its charge, temperature, and stability. That's why every smartphone battery has 3 or 4 prongs (contact points), rather than just the 2 for positive and negative. **Best case scenario** his percentage is just reporting incorrectly, **worst case** he may have an unstable cell that could combust. I would recommend looking up disassembly videos for the phone, and replacing the internal battery if it is accessible.
> 2 votes

---
Tags: battery, battery-life
---


# Question
Title: Android wireless debugging on multiple devices
By following Google ADB Documentation i am able to connect to device wireless . But i want to connect more than one device.

For adb wireless to work i have to restart adb in tcpip mode

Once i did that i can connect to a device but to connect to another device i will have to restart adb in usb mode again which will disconnect the first device.

Simple solution would be to connect both device with usb and then restart adb in tcpip. But i don't have any extra set of usb cable right now.

So is there any other way to connect more than one device except for the method i mentioned above.

# Answer
> 13 votes
`adb tcpip <port>` doesn't restart the adb daemon in your PC but in Android and binds it to listen to that specific port. You can always connect multiple devices in wireless mode.

Follow these steps:

1. Plug first device and restart adbd in tcpip mode using `adb tcpip <port>`.
2. Connect to first device using `adb connect <host>:<port>`.
3. Unplug first device, plug second device and restart adbd in tcpip mode using `adb -s <serial> tcpip <port>`.
4. Connect to second device using `adb connect <host>:<port>`.

You may now unplug the second device. If you execute `adb devices` you would see both the devices connected in wireless mode. Whenever you intend to do any operation on any of the device, supply identifier using `-s`.

Example:

---
Tags: wi-fi
---


# Question
Title: How to transfer and install an older version of Whatsapp from one phone onto a another phone?
My whatsapp auto-updated to the new version yesterday which has the blue ticks. Since I am not a big fan of this version, I was wondering if I can install an older version of this app on my S4. One of my old phones(S3) has the previous version of whatsapp. Is there a way I can transfer this version to my S4?

Thanks for your help.

# Answer
Two ways-\>

1) If you are rooted-\> Go to data/app and there you can find whatsapp apk file. Just transfer it normally using bluetooth or whatever.

2) If you are unrooted-\> Create a new folder `Apps` inside your internal sdcard .Download terminal emulator. Open it and enter the command `cp /data/app/*.apk /sdcard/Apps`. This will transfer all the installed packages in APK form including whatsapp apk. It may take sometime depending on number of apps you have installed. You could also just minimize terminal and wait.

3) As others suggested, you can also download from third party site on web.

A note though, as far as I can remember, whatsapp will persuade you to install new versions and wont let you use older versions. But again, I could be wrong so feel free to give it a try.

Hope this helps :)
> 1 votes

# Answer
Open WhatsApp and go to `Settings` \> `Account` \> `Privacy` \> Un-tick Read receipts.
> 1 votes

# Answer
You can make use of apps like Software data cable to get this work done.

https://play.google.com/store/apps/details?id=com.damiapp.softdatacable&hl=en

Using this app you would be able to transfer everything from your S3.

Cheers
> 0 votes

# Answer
You could also use an app like link2SD that will allow you to directly shear the app with another device via Bluetooth or upload the .apk to a service like Google Drive or DropBox:

https://play.google.com/store/apps/details?id=com.buak.Link2SD
> 0 votes

# Answer
You can download the apk from third party websites easily, though they may not be trustworthy. Also someday you have to install the latest version back again as older whatsapp versions expire out after a certain period of time.
> 0 votes

---
Tags: whatsapp-messenger, apk
---


# Question
Title: Unable to view SD card files on my computer
I'm using a Moto G(2014) model. I recently upgraded my android to 6.0 and I noticed my computer doesnt display my files when I connect via USB. I changed the USB notification option to MTP and now I can view my internal storage files but my SD card is still showing an empty folder. How do I fix this?

**Edit**: I tried to copy files onto my SD card and they transferred without any problem but I can't view the existing files on my SD card.

# Answer
Check if you have enabled USB debugging and also the usb options that show up on your notification bar asking you to use your device as ptp or mtp.
> -1 votes

---
Tags: usb, sd-card, 6.0-marshmallow
---


# Question
Title: Clock Work Mod Recovery isn't picking up External SD Card
I have Clockwork Mod Recovery installed on my phone and I'm trying to install a custom ROM on it. But when I go to 'install zip from external SD card' it gives the effect as if it's going into the SD card but nothing is displayed (none of the files, folders etc that's on the card). And when I try and go back it doesn't want to either...

Some details:

* Samsung Galaxy Note II (GT N7100)
* Clockworkmod 6
* Trying to install Paranoid Android 3.99

Thanks in advance for some advice!

# Answer
> 3 votes
Check the size and format of your SD Card. The current ClockworkMod recovery version (6.0.3.x) doesn't support exFAT partitions. If you have a newer card that is over 32GB, chances are it's formatted using exFAT file system, due to limitations of FAT32 on Windows. The solution is to either use a smaller card formatted as FAT32, or use a different recovery that supports exFAT, such as TWRP, for example.

# Answer
> -1 votes
Maybe you can use Philz Recovery instead. I used it with *CyanogenMod 12.1* on my *Galaxy Grand 2* (G7102). It worked perfectly and has SD Card support. You can try TWRP recovery too.

---
Tags: external-sd, sd-card, clockworkmod-recovery
---


# Question
Title: galaxy s5 says battery temperature too high too low!
help me please. my galaxy s5 won't charge it says the battery temperature is too high or too low. i used to change my battery but when the new battery runs out of life and when i try to charge it, the same problem exist. what can I do? any helps or suggestion please. thank you.

# Answer
> 0 votes
I have an S5 also, I haven't had this problem. I have extra batteries along with an external wall charger.

I use the wall charger to avoid charging my phone. It was $15 on ebay, and it may be a viable workaround and/or solution outside of replacing the motherboard.

These wall chargers will charge your battery no matter what, you can confirm this by looking at the pins on the image below. **If the third pin not present**, the charger does not check battery stats before charging.

(I consider this a solution, because we'll be taking advantage of the removable battery feature, and the chargers come in packs of three batteries so you'll never be stuck to an outlet again. I recommend labeling each battery with lines around the curved edges.)

Anyway, hope this helps.

---
Tags: battery
---


# Question
Title: Charging paused. Battery temperature too high or too low
I have a Samsung Galaxy player that has been giving me the message "Charging paused. Battery temperature too high or too low". I left it unplugged and powered down all night, and it still gave me the message as soon as I turned it on. The battery should be at room temperature. I've turned it off and on several times. I've tried removing the battery and putting it back. I have no idea what's wrong. It's been working fine for the past 9 months. Can anyone help?

# Answer
AFAIK the temperature sensor that measures the battery is built-in (in the battery). In your case either the battery is defective, because it get's to hot immediately when charging *or* the sensor is defective. Either way, I think you have to replace the battery with a new one.

Before you replace the battery you should rule out a software error by doing a factory reset to see if the problem persists.
> 7 votes

# Answer
I know this is an old post but, I just had this problem and found a good solution so thought I'd post the answer here in case someone else is looking for the same help.

Power down the phone. Take the battery out for 20+ seconds. Plug in the charger. Put the battery back in. Turn the phone back on.
> 2 votes

# Answer
I left my phone in the car on a cold night, and it said it couldn't charge because the temperature was too high or too low. All I did was let it warm up in my house for 15 minutes. Then, I plugged it in, and everything was fine.
> 1 votes

# Answer
**For those who have tried multiple batteries,**

I have multiple Samsung phones, **I use the wall charger to avoid charging my phone. It was $15** on ebay, and it may be a viable workaround and/or solution outside of replacing the motherboard.

These wall chargers will charge your battery no matter what, you can confirm this by looking at the pins on the image below. **If the third pin not present**, the charger does not check battery stats before charging.

(I consider this a solution, because it takes advantage of the removable battery feature, and the chargers come in packs of three batteries so you'll never be stuck to an outlet again.)

Hope this helps.
> 0 votes

---
Tags: battery, charging
---


# Question
Title: How to display contacts' pictures in a square instead of in a circle?
Starting with Android Lollipop, contacts' pictures in the Contacts are shown as circles and not squared. (Which IMHO makes no sense, breaks the UX and wastes screen estate, but it's not the point of the question so let's not spend time on it.)

There is clearly no way to change that in the system settings, but is there any 3rd-party contacts app that shows pictures as squared?

# Answer
> 0 votes
> Which IMHO makes no sense, breaks the UX and wastes screen estate

You're the first I'm hearing that from, as in the circles wastes screen estate compared to the square ones.

Well, if you could get the apk for this contacts app on Techno C8, it might be able to give you something closer to your heart desire.

---
Tags: contacts
---


# Question
Title: Gmail displaying "me" instead of actual sender's name
When viewing my inbox, I would like to display the sender's name according to the email's header. Meaning, if I send an email to myself from my gmail address, but give the from name as Freddie Flintoff, I want Freddie Flintoff to appear instead of "me".

# Answer
There is special handling for "me" and you cannot override this.

Edit: This is handled by `MessageHeaderView.getRecipientSummaryText(…)` where `myName` is `"me"` (in English).
> -1 votes

---
Tags: gmail
---


# Question
Title: Application stuck in "Installing..." stage in Market
I'm having the problem mentioned in the title on my Samsung Galaxy S. I updated the app Dock Simulator and for some reason it got stuck while installing. Now it shows the scrolling green bar in the downloads section of the market but the program itself works fine. How can I get rid of the constant "Installing..." status?

Oh yeah, reboot and uninstall didn't fix anything.

# Answer
> 7 votes
I just had this problem, and somehow I got this solved.

What I did:

* Entered Settings -\> Applications -\> Manage Applications.
* Selected the Market app, and "uninstall updates".

After that, I entered the Market app again, and I was able to reinstall the app who got stucked.

PS: I'm not sure if this was just a coincidence, or this procedure works always, but it worked for me. PS2: My Android version is actually in portuguese language, so I'm not sure the option names I referred to above are correct in english.

# Answer
> 7 votes
Try to do the following:

* Close the Play store.
* Go to settings
* Select the apps option
* Find the Google Play store, and select it
* Tap "Storage"
* Select "clear data"

Then, try to download your app again.

# Answer
> 3 votes
In the " downloads" screen of the market, long click on the app that's stuck installing and you'll get the option to Delete or Cancel (I can't remember which option you'll see but it'll be obvious).

# Answer
> 3 votes
Worked for me: `Setting > Apps > All > Google play services > Uninstall update and clear cache`

# Answer
> 1 votes
I keep getting this, and it seems tied to my "Application storage is low" message.

I uninstalled several large, un-used apps, rebooted\*, and the downloads downloaded.

\*Maybe I didn't reboot. Check the download after uninstall and see if it's continuing....

Since my file-browser says I'm using less than 40% of available phone storage, this is a little irritating.

# Answer
> 1 votes
What helped me was to uninstall the updates for Play Store **and Google Play Services**, and delete the data for these apps. I got lots and lots of error messages immediately after, rebooted, got lots more error messages, but eventually the (old) Play Store opened and downloaded an update for "Google", and voila, everything was back to normal.

Uninstalling the updates to Google Play Services must have been the crucial step, because I fiddled with Play Store and various other apps for quite a while before trying this one.

# Answer
> 0 votes
My is working when i close the app when the downloading app is at 100% or it didnt start at all i open the app again and its started installing and my app is installed. It isnt a very effective way but its something. :)

# Answer
> -1 votes
install latest version of play store and play services and then reboot your phone . Play store version 5.3.6 Play services version 7.9.90

# Answer
> -1 votes
1. Clear cache
2. Clear data
3. Uninstall updates of google play store Then the problem is solved.

---
Tags: applications, google-play-store, samsung-galaxy-s
---


# Question
Title: How to remove a "Private Protection Password" on an ANDROID MT6592, please?
I guess one of my kids activated this kind of password that suddently appeared on my YHAPPY UP620.

The USB mode is not available, so that my PC does not see my phone, and I can not flash it...

How can I solve this problem, please?

# Answer
Oh! Its very simple. Try to press volume- & power key at a time the will display a factory reset settings and click on rest and your mobile will be unlocked.
> 0 votes

---
Tags: password-protection
---


title: SD card partitioning confusion

text:
# Question
Title: SD card partitioning confusion
I don't get this statement:

Choose "File System: ext2" if you plan to use App2SD for app storage, or choose "File System: swap" if you plan to use a swap file to extend your Android's RAM using the card

What If I want to have both storage and swap... is which one should I choose?

# Answer
> 1 votes
From what I understand, if you want both storage and swap, you need only partition your SD card with both. After wiping your SD card, you would make a FAT partition (or FAT32 if the SD card is 4GB+). Then you create the ext2 partition. If you want to use a swap partition as well, just remember to leave some of the card for it. Then create a third "swap" partition. ex. for a 32GB SD card, one might make an 8GB FAT32 partition, then a 16GB ext2 partition and finally an 8GB "swap" partition.

Check this link for more/better explanation. http://forum.xda-developers.com/wiki/SD\_card\_partitioning

---
Tags: partitions
---


# Question
Title: How many apps can be installed on an Android device?
How many apps can be installed on an Android device? Is there any limit in number? Or whether it depends on RAM/Storage ?

# Answer
In the source code of Android M that you can find here, is this statement:

```
/**
 * @hide Range of uids allocated for a user.
 */
 public static final int PER_USER_RANGE = 100000;

```

In this line of code, it states that a user can have **one hundred thousand** UIDs.

However there is a conflicting information. You know that root UID is 0 and system UIDs start from 1000. Normal *user apps* start from 10000. This interval defined for user apps' UID numbers is also stated here as:

> * `FIRST_APPLICATION_UID` has the constant value of `10000 (0x00002710)`
> * `LAST_APPLICATION_UID` has the constant value of `19999 (0x00004e1f)`

Therefore, first UID that will be given to a user app will be 10000, and last one will be 19999. Therefore, it states that a user can have **ten thousand** apps.

So, which one is correct? I think this might explain. Before 4.1.1 `LAST_APPLICATION_UID` was 99999, allowing **ninety thousand** user apps as the limit. However, this is for *user apps* while `PER_USER_RANGE` doesn't specifically say so and therefore probably includes all UIDs from 0 to 99999. After 4.1.1 `LAST_APPLICATION_UID` was reduced to 19999 but `PER_USER_RANGE` was left untouched.

So for pre-4.1.1 versions, the limit is ninety thousand user apps and for 4.1.1 and after it is ten thousand user apps.

That is of course the limit that *Android accepts*. But in most cases, your storage will be full before you can reach such numbers.
> 14 votes

# Answer
Theoretically you can install as may apps that fits on internal storage. In reality it's significantly lower due to an Android bug/OS limitation which may cause other apps, and the system itself to crash if the list of app "information" is larger that 2MB:
> -1 votes

# Answer
***Citation needed***

You can install as many apps as you want to the device but...

If your like me and use a good Chunk of your internal storage just for apps and you have a 8GB phone or tablet as the Android Operating system will take a chunk as well and leave you with about 3-5GB of **available** **storage** you are limited to the devices storage capabilities but a good rule of thumb is to have 128Mb per GB of storage for device usability without getting random crashes from stable apps and not usable situations for apps that are not so much stable. It is also a good idea if you have a Micro SD card slot in the device(s) you have the apps on and send them to the SD card by going in settings and tapping on

* Apps
* Tap or scroll to **On SD Card**
* Select the app in question and tap **Move** *"Move" will possibly cut up the app (depending on device and or app requirements) and send all data including app data(again depending on device and or app requirements) to the SD card or not be available at all to move. If you have a device that has no SD card but supports OTG(On The Go storage* ***it will not be possible to have the apps sent to the OTG and be usable whenever you want due to the Mount protocol as it is not the correct mountable hardware*** *be aware that not all data can be sent to SD*
* assuming that you can make it this far with the device, wait till the grayed out **Move** is pressable again then repeat till complete ***Please note that some apps that can move to SD may work better on the devices internal storage***

***Also be aware that the more apps you have the more possible resources (RAM)(Random Access Memory) can be used in the device in question as let's say you have 12 apps that request a refresh in the background (like Facebook, Gmail, Twitter to name a few) the less RAM can be found for other operations and causing ANR(App Not Responding) messages and drain the battery faster than expected***
> -3 votes

---
Tags: applications, internal-storage, ram, redmi-1s
---


# Question
Title: Unable to enable hotspot option in android 4.4
The device of mine is Lenovo A5500 and I used to see tethering and hotspot option in setting but I am now unable to locate that. Actually it is I here but I don't see any option to configure and enable it. Screens are included for more information.

# Answer
> 0 votes
The option for WiFi hotspot should be restored after rebooting the android handset, at least it was the case for me.

---
Tags: wifi-hotspot
---


# Question
Title: Speaker and Mic stoped working on MotoG (1st Gen) after upgrade
**Problem:**

One day my mobile was dead because of empty battery. I recharged the battery and turned on the mobile. Mobile showed a message "Android is upgrading" while turning on. After that Speaker and Mic are not working. There is no any type of sound coming out of mobile and I cant input my voice through mic. Sometimes Phone app acts very slow.

**Configurations:**

* MotoG 1st Generation
* Android 5.0.2 (Lollipop)
* Build No. LXB22.46-28
* Dual Sim
* Internal Memory 16 GB

**What I have tried:**

* Restarted my mobile many times *(No Result)*
* Restarted my mobile with Safe Mode *(No Result)*
* Factory Reset *(No Result)*
* Clear Cache Partition *(No Result)*
* Once I restarted with QCom option from power options ***(Speaker and Mic started working . I restarted again with normal mode and still speaker and mic was working but after some minutes speaker and mic were dead again)***

Any suggestions?

# Answer
> 2 votes
Surprisingly I was able to fix this issue in my phone by changing following wi-fi settings:

Go to advanced wi-fi setting. You will find a toggle option "Scanning always available". Disable this option.

Worked for me.

# Answer
> 0 votes
I was facing similar problem in my moto g 1st generation with **Mic only**.

I have also tried some option as you said. See my efforts at

Moto G Microphone is not working

After update also it was not working. But after cleaning MIC hole in my mobile now its working fine.

---
Tags: 5.0-lollipop, audio, motorola-moto-g, microphone, speaker
---


# Question
Title: How to run some admin (Owner) root apps in background for all Users?
I'm using CyanogenMod 12.1 (Rooted)

I want to set up a multi User system with me as the admin. I want all or some of my root apps to run in the background. I don't want the root apps to be shown to the normal user if posssible.

Note: I need to run some apps in the background for datalogging and security, and scanning purposes. For Example I want to run a Linux Distro and some other apps that run Python Scripts. I figured this feature might be available cos it is in Windows PC and Linux. These apps autostart without user inetraction in the admin account. They have a GUI however.

If this is not possible then please suggest me alternate ways like locking or hiding the apps.

Is this possible at all or does the User isolation system make it hard or impossible.

Any workarounds will be OK too.

Thanks.

# Answer
I don't know what you mean by "for all users", but what you're describing is just how apps work on a multi-user system. Say you have two users A and B on a tablet. A unlocks the lock screen and starts an app, which has a service which runs in the background to do something. Now A locks the screen again: his app is still running in the background. Now B comes along and unlocks the lock screen into his home screen. A's app can keep running in the background, completely separated from whatever B is doing on the screen.

The only interaction between A's background app and what B is doing is if B uses enough system resources to cause Android to start shutting down background processes to. This acts much the same way as a background app on a single-user system: if the system needs to reclaim resources, it'll stop those background services and reclaim their processes first.

So it doesn't matter if you're the owner user, or if the app in question has root privileges: your app can run in the background just the same, regardless of whether you're using the screen or somebody else is.
> 2 votes

---
Tags: cyanogenmod, root-access, multi-user, background-process
---


# Question
Title: How to delete hidden files consuming internal memory in Android?
I have 16gb internal memory in my Android phone (Asus Zenfone 5). I am using only around 3gb of memory and rest is being consumed by some hidden files. I am facing problem of memory shortage (only around 100mb left). I figured out there are two large files in DCIM folder of around 4.6GB in .thumbnails folder naming .thumbdata3xxxxxxxx . I deleted these files but the memory usage is still not reduced. Are these files not deleted? How and where can I search for the hidden files consuming internal memory?

Thanks

# Answer
> 1 votes
There are lots of guides on the internet that tackle this issue. But be aware that some people refer to the phone's built in storage as "internal storage", but that's not what Android means. There is (at least on my phone which is on 4.2.2 still) a "root" partition that is only 1GB big. This is referred to as internal storage. The rest is called "Phone storage" in Android.

You can have a look at what's eating your internal storage using the tool **DiskUsage** from the play store. Usually it's all the apps. The properly developed ones will give the the option to move data files from the internal storage to the phone storage. This can be done from the app details page:

What I usually do is go to `Settings->Storage`. In the "Internal Storage" section, wait until it calculated the sizes, then click on the `apps (app data & media content)` bar. You'll be taken to a list of apps sorted by size. Now click on each entry starting from the top and select `Move to internal storage` wherever possible.

This should help quite a bit if you haven't done it before.

To make your phone do the right thing for new apps, go back to `Settings->Storage` and tap `Preferred install location`. Set it to `Phone storage`.

---
Tags: internal-storage, thumbnails
---