# Question
Title: How is an "average use" defined in terms of battery life
It is common to see better battery performance being touted as a selling point, when phones are announced and when they but the market. And the claim typically goes like "lasts xx hours on average use" or variations of "average" but conveying the same meaning. Implied, of course, is reduced frequency of battery charging and longer battery life.This is encountered in phone reviews also.

What I am trying to find out from an academic perspective:

a) Is there something defined as "average" use

b) Is there an accepted standard which profiles, say an "average or typical user" or "heavy user"

Both questions are interrelated and what perplexes me, is the freedom of misuse by companies to make claims that in no way can be verified. Logically, there should be standardized way but googling did not yield any result.

Only reference which I could find when researching screen power was Analysis of Power Consumption in a Smartphone. Section 5.4 of the paper talks of user profiles, but it seems to be hypothetical, not being backed by any reference.

"There is no profiling of usage", is also an answer if it is backed by authority or standard.

I am aware that this question may not really belong here (not sure where else to ask), but being a end user concern, trust it will be permitted and more importantly answered

# Answer
> 1 votes
## Findings on the battery-life claims made by manufacturers

*Note that this answer can't cover every manufacturer and/or device. Information about this topic is not well documented and I had luck to find the following links and sites. If you encounter new Information then please edit this answer or leave a comment with the source of your new found information.*

---

After searching for reasonable information it came to my mind that the new **Sony M4 Aqua is advertised** with 2 days of battery life.

To back up their claims they add the following lines at the end of the site:

> \**Battery life has been measured against Sony Mobile Communications AB’s smartphone usage profile, defined in September 2014 to represent the typical smartphone user’s active condition, including but not limited to a range of usage scenarios (calling, texting, web browsing, social networking, game playing, music listening, picture taking, picture browsing, online video watching, video recording and playback).

If you're following a few links you'll find yourself on the **battery information page**. At the bottom of the page you'll find exactly the statements that raised your question.

> Based on multiple battery performance tests conducted between July and September 2014 in a laboratory under active use conditions reflective of the Typical Smartphone User by Sony Mobile Communications AB. Get the full story on our test results page.

So let's look at the mentioned "results page". Here we'll find some more information about the company which measures the battery-life.

Some interesting statements in my opinion are:

* based on results from tests conducted by Strategy Analytics, an independent global company specialising in market analysis
* verified at the time of testing
* we cannot guarantee that all claims are still valid as you read this

***In my opinion*** this sounds like "We hired a professional company to measure our devices battery-life but don't take our words as a warranty." This is speculative though. Atleast we know that Strategy Analytics is testing the battery-life for sony devices. When we head over to their website and search a little bit we can find that they do test other devices aswell.

They've also did a big technical benchmark test and a test on Smartphone Battery Performance.

> where the battery performance of **flagship smartphones from Apple, HTC, Huawei, LG, Google, Nokia/Microsoft, Samsung, and Sony** was benchmarked, SA found that the smartphones with the largest battery capacities did not provide the longest battery life – i.e. bigger did not mean better.

Additionally we can find some testing criterias from review magazines and blogs like CNET or PCMag.

So I'm still trying to answer your question

> a) Is there something defined as "average" use

Probably - but it depends and differs on who is testing the product and what criteria they are setting. I have **not** found a single guideline which focusses on WHICH aspects should be respected when doing a battery test.

> b) Is there an accepted standard which profiles, say an "average or typical user" or "heavy user"

Generally I would say this also depends on the tester and the product they are testing. It came to my mind that different screen sizes are suitable for different usages also. On a big screen it is more enjoyable to watch a video or a movie than on a small screen - you'll probably play more demanding games on a bigger screen and so on. Take the Samsung Galaxy Beam as an example. How would you compare an average use on this device (using the beamer for 2 hours a day) to a Galaxy S6 e.g. (using the display for 2 hours a day). I think you can catch my drift. It's hard to compare because they are built for a different audience with a completly different use case. Sony e.g. says this for their devices:

> Typical Smartphone User usage profile involved using the device for approximately 5 hours in a 24-hour period, for a range of typical usage scenarios (calling, texting, web, social networking, games, camera, music and video).

---

Please note that I'm not affiliated with the company or the websites I've linked to. I am sharing my reasearch on this field from a neutral perspective.

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


title: No service after installing cyanogenmod

text:
# Question
Title: No service after installing cyanogenmod
After I installed CyanogenMod, I noticed I couldn't call anyone, receive calls, or text, and it says I'm roaming. In the status part of settings, it says my phone number is 000-000-xxxx (x's are numbers) but the imei is still the same. I can't find anything online about this problem, please help!

# Answer
> 0 votes
I finally got a solution to "No Service" after installing Cyanogenmod 7 on HTC Incredible 2. The answer is simple and it does not have anything to do with flashing radios, reinstalling ROMs, etc.

Simply turn the phone off and remove the battery to take out your SIM card. Then switch it back on without the SIM in it. After it has finished rebooting, make sure the network bars are appearing even without any signal (in other words, an "x" on the bars) and also airplane mode is off. Now go to "Mobile Network Settings" and choose "CDMA/GSM (auto)" and not the preferred one.

Now turn off the phone and put the SIM back in. Replace the battery, start the phone, and *tadaaa!* Your phone will have the most amazing connection!

---
Tags: cyanogenmod, 4.4-kitkat
---


title: Cyanogenmod no service?

text:
# Question
Title: Cyanogenmod no service?
I had cm-11-20150517-NIGHTLY working, then upgraded to cm-11-20150607-NIGHTLY. Now I get the error "No service" and have basically no GSM functionality whatsoever.

If I attempt to select a network operator, I get the error: "Error while searching for networks."

I installed this using TWRP, there were no issues with the install. Automatic upgrade failed, I believe this is due to an encrypted file system, something which TWRP does not handle.

What I have tried:

Rebooting by itself.

Removing the USB cable and rebooting (apparently this was a known issue before).

Reverting to cm-11-20150517-NIGHTLY, this does nothing, same problem.

Resetting APNs to default.

Device: GT-N7100, CyanogenMod version: 11-20150517-NIGHTLY-n7100, Android version: 4.4.4

# Answer
> 1 votes
Solution was to restore a backup of /efs and write a backup of the modem firmware to /dev/block/mmcblk0p10, this device file may be different on a different deivce though. But on my N7100 it worked.

# Answer
> -2 votes
I finally got a solution to "no service " after installing cyanogenmod 7 on HTC incredible 2. the ans is simple and est and does not have anything to do with flashing radios, reinstalling rom. simply turn the phone of and remove ye battery to take out yr sim card and switch it bak on without the sim. in it. after it has finished rebooting, make sure the network bars are appearing even without any signal. I e, an x sign on the bars and dat. also airplane mode is off. now go to mobile network settings and choose cdma/GSM (auto) and not the preferred one. now of phone and put bak. sim in and tadaaa, yr. phone will have de most amazing. connection!

---
Tags: cyanogenmod, system-error, gsm
---


# Question
Title: No mobile signal after installing CyanogenMod
I have a Samsung Galaxy S 2 (GT-I9100) and baseband version I9100XXMS3. As far as I understand from this page it's a UK modem, which is where I am. When using the latest stock Android I was still able to connect to UK and Swiss mobile networks. After installing CyanogenMod 10.1.3-i9100 (but *not* flashing the modem as far as I know) while in Switzerland I was able to connect to phone networks, but after coming back to the UK I can no longer get a mobile signal anywhere:

1. Go to Settings → Wireless & networks → More... → Mobile networks → Network operators.
2. After some time several network operators are listed. Click "Choose automatically".

At this point, the message "Automatic registration..." displays for about a minute and then it simply says "Can't connect to this network at the moment. Try again later." The mobile signal indicator at the top of the screen stays empty and does *not* display an "R" for roaming.

In the Android Testing Menu (`*#*#4636#*#*` → Phone information) "Set preferred network type" setting is set to "WCDMA preferred" (I have no "Network mode" setting on the "Mobile networks" page). I've tried turning radio off and on again.

I have a Toggle Mobile prepaid card with plenty of credit.

# Answer
Looks like Toggle Mobile just doesn't work well with my setup. I bought a £2 SIM card from Lycamobile a couple months ago, and it's been working flawlessly with no setup changes. Not much of an answer I'm afraid, but I'd rather lose my remaining Toggle credit than use several more days on this.
> 0 votes

# Answer
I finally got a solution to "no service " after installing cyanogenmod 7 on HTC incredible 2. the ans is simple and est and does not have anything to do with flashing radios, reinstalling rom. simply turn the phone of and remove ye battery to take out yr sim card and switch it bak on without the sim. in it. after it has finished rebooting, make sure the network bars are appearing even without any signal. I e, an x sign on the bars and dat. also airplane mode is off. now go to mobile network settings and choose cdma/GSM (auto) and not the preferred one. now of phone and put bak. sim in and tadaaa, yr. phone will have de most amazing. connection!
> -2 votes

---
Tags: cyanogenmod, samsung-galaxy-s-2, mobile-network
---


# Question
Title: /system cannot be remounted as RW, even when rooted (Sony Xperia E3)
I rooted my Sony Xperia E3 (D2203) a while ago using Kingroot, which worked flawlessly. Before rooting my device, `/system` could be accessed, which is how root was installed in the first place.

However after rebooting the phone, I now cannot mount `/system` as `rw`, as the kernel mounts it as `Read-Only` and gives me a `Operation not permitted` error whenever I try to remount it as `rw`. Apparently the kernel on Sony devices detects root and mounts `/system` as `Read-Only`.

I cannot flash a new recovery as the bootloader is permanently locked.

What can I do to mount `/system` at startup as `rw`, or mount `/system` when the device is online?

A non-destructive method would be great.

Here is the command I'm using to try and mount `/system`:

`mount -o remount,rw /system`

Yes, the terminal is in root mode.

# Answer
Using Total Commander to remount the / directory as RW also remounted /system as RW.

Howto:

1. Enable `Root Functions Everywhere` in TC settings.
2. Proceed to add a new button to the toolbar with Function Type `Internal Command`.
3. Press on the `>>` button, and select the `119 Remount` option.
4. Press `OK/Apply`
5. Navigate to root (`/`) directory.
6. Press newly created Remount button and accept any prompts.

Edit: I've found that when I'm using Kingroot to manage root, mounting works correctly. When I migrated over to SuperSU however, I could not remount `/` or `/system` as RW. If the above steps don't work for you, Kingroot might be worth a shot.

Another edit: While I do recommend Kingroot as an option to allow access to your `/system` folder, you should exercise caution with Kingroot, as it is known to gather information about your device. I would save Kingroot to be a last resort, should you cannot find any other method of remounting `/system` as `rw` successfully.
> 1 votes

---
Tags: root-access, file-system, mount, sony-xperia, system
---


title: Adding music to the Play Music queue

text:
# Question
Title: Adding music to the Play Music queue
In "play music" mode must I be using a play list for the 'add to queue' function to work? Can I create an empty playlist with which to start queuing function? Add to queue does not seem to work when playing off the music library. Why?

# Answer
No, you don't need to be using a play list to add stuff to the queue. As soon as you select music to play it adds it to the queue. To add more to the queue, navigate to an artist, album, playlist, or song and there should be an "add to queue" option in the overflow menu.
> 1 votes

---
Tags: google-play-music
---


title: Updated version number not showing

text:
# Question
Title: Updated version number not showing
I just installed an upgrade (to `22.46.12`) on my 2nd gen Moto G LTE, that said it upgraded to Android 5.1. Before the upgrade I was on 5.0.2 and system version `22.41.24`, and now I am on `22.46.12`, but Android version in settings still shows I am on 5.0.2. In addition, when I check for software updates through settings it tells me my phone is up to date Has the update applied, or only in part (in addition to the Android OS update it fixed the StageFright vulnerability), or not at all and the system version number is wrongly updated?

**Edit:** after a while on Motorola's waiting list, I received a message saying:

> We would like to confirm that your phone now supports the latest software version available for it

However checking for software updates still returns the "your devices software is up-to-date" message

Thanks in advance

# Answer
> 1 votes
I had this exact same problem on my Moto G 2nd Gen 4G where after the update my Android version stayed on 5.0.2 and did not change to 5.1 like I expected. I contacted Motorola about the issue and they confirmed that Android 5.0.2 Lollipop is currently the latest version of Android for the Moto G 2nd Gen. They couldn't however explain why I had received a false OTA update and promised to raise the issue. So from what I can tell, the OTA update is most likely to be an error on Motorola's behalf but this should be fixed when Android 6.0 Marshmallow is released for the 2nd Gen Moto G.

Hope this helps answer your question.

---
Tags: 5.1-lollipop, ota-update, android-versions, system-info
---


# Question
Title: How to turn off data after a certain amount
## How to turn off data after a certain amount

**Aim:** To make my data turn off after it reaches a predefined amount of data to use. **For example**, I am using my portable hotspot to my computer with my phone. After the data used on my phone goes over 100 Mbs of used data the phones then turns the data switch off.

**Problems:** Since my phone is android gingerbread (2.3.6) I don't have the built in data counter that is available in the newer versions of android.

Is this possible with tasker or a play store app?

Any help would be appreciated

---

To anyone wanting an a step-by-step Instructions just leave a comment and I will post a link to a word document, pdf and a txt file (I would have to write them up first)

# Answer
**Original Video that I Modified:** Tasker tutorial: Monitor mobile data usage inside Android

I have only used the task that counts data from this video, If you want a notification that counts used data for a month, the above video is a good solution.

---

**Notes:** Due to unknown reasons, I am unable to turn on USB Tethering, If you Know the answer to this Question, It would Help a Lot. And Due to this limitation I Have Used a Variable to shows that tether is on, but you will manually have to activate it depending on your circumstances.

**Notes 2:** Due to how it counts data, if you have already used some data on your phone it will change the Data-used variable to the used amount, thus you cant start from a perfect zero. How to combat this;

**1)** You can restart the phone, thus clearing the files that are read that is were the data count has come from.

**OR**

**2)** If you don't want to restart just add the MB's already used onto the data count limit. E.g. It flashes up that you have used 2 Mbs, and you want the data counter to turn off data after 100 MBs, You would have to Put the limit as 102Mbs to be correct

---

## Easy Way

Import the Project Into Tasker: Download

How to Import Tasks/Profiles/Scenes/Projects into Tasker \[Video\]

---

## Hard Way (Step-by-Step)

Will Add Link to To A word document, pdf and a txt file (I would have to write them up first) If someone comments that they want the step-by-step Instructions.
> 1 votes

# Answer
Try My Data Manager - Data Usage app. It will notify you when you reach your data limit.
> 2 votes

# Answer
You should try "Onavo Count app ", Here are some detailed features check it out :

* Simple setup: Get going in seconds by setting your monthly cap and billing cycle
* You compared with everyone: See how your data use measures up to other people for each app
* Your data life: Understand how you use your data in categories that matter to you like music, maps and videos
* Real-time alerts: Know when you’re approaching your data limit and get an indication of where you stand in your current data cycle with notifications on your phone
* Onavo Extend integration: See how much data you’re saving with Onavo Extend right from the Onavo Count home screen

**Download it from play store:**

https://play.google.com/store/apps/details?id=com.onavo.android.onavoid

Helpful Links :

http://www.ekoob.com/how-to-limit-data-usage-on-android-phonestablets-to-avoid-overages-10911/
> 0 votes

---
Tags: 2.3-gingerbread, tasker, mobile-data, data-monitoring
---


# Question
Title: How to disable airplane mode switch when phone is locked
When I display the quick settings panel, there are shortcuts to enable some functions (wifi, data connection ...)

When my phone is locked (pin code), the location switch disappears, (for security reasons AFAIK).

But the airplane mode switch is ever displayed, so a thiefer could easily enable it, and disable location by the same.

Is there a way to disable the airplane mode switch when my phone is locked ?

Locked :

Unlocked :

# Answer
> 3 votes
**Note:**

* The following solution is tested on COS12 (Android 5.0.2) and Carbon ROM (Android 5.1.1).
* For this answer, you would need ADB setup in your machine, USB debugging enabled in the device and connected to PC. Alternatively, for rooted devices, terminal app like Terminal Emulator for Android can be used.
* Root access is required (see exception at the bottom).

---

The tiles that you can toggle in the Quick Settings are assigned particular names and are stored as a value for the key `sysui_qs_tiles` under the table `secure` (both key and the table may differ for your ROM) of `settings.db` (Settings Storage app).

**Note:**

* When using a terminal emulator app, enter `su` and then follow the commands without the prefix `adb shell`.
* For each stage, two commands are mentioned. *Both are alternatives to each other here.*
* For the usage of `settings` and `content`, enter `adb shell settings` and `adb shell content` respectively

To find out the value stored in the key `sysui_qs_tiles`, enter the command

```
adb shell settings get secure sysui_qs_tiles
adb shell content --query content://settings/secure --where "name='systeui_qs_tiles'"

```

The output would be like:

```
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane

```

`airplane` is for Airplane mode. If you remove it from the value, the quick tile would instantaneously vanish.

Example,

```
adb shell settings put secure sysui_qs_tiles "wifi,bt,cell,rotation,flashlight,hotspot,location"
adb shell content update --url content://settings/secure value:s:"wifi,bt,cell,rotation,flashlight,hotspot,location" --where "name='sysui_qs_tiles'"

```

It **must be noted** that you should not use the aforesaid value but only the one which you got from your query.

As for hiding/removing the Airplane mode on the lock-screen and adding it back when the screen is unlocked you can use an tool, such as Tasker or MacroDroid.

# Instructions for Tasker

1. Create a task named "Screen unlocked".
2. Add an action as **Code → Run Shell**, and add these details:

* **Command**:

    ```
    settings put secure sysui_qs_tiles "wifi,bt,cell,rotation,flashlight,hotspot,location,airplane"
    ```

    Use the key-value relevant for your device. Also, as an alternative, you can use the `content` command, if you would like to. This info remains valid for further instructions as well.
    * Check **Use Root**
3. Create an another task named "Screen locked".
4. **Note**: If you configured lock-screen settings so that the screen doesn't lock right after the device gets to sleep, but after XY seconds (such as, `30` seconds), then create an action as **Task → Wait** and set those XY **Seconds**. Alternatively, `sleep XY` command can also be used.
5. Add an action as **Code → Run Shell**, and add these details:

* **Command**:

    ```
    settings put secure sysui_qs_tiles "wifi,bt,cell,rotation,flashlight,hotspot,location"
    ```
    * Check **Use Root**
6. Create a profile named "S-unlocked" under **Event → Display → Display Unlocked**, choose `Highest` **Priority**, and link the task "Screen unlocked".
7. Create an another profile named "S-locked" under **Event → Display → Display Off**, choose `Highest` **Priority**, and link the task "Screen locked".
8. Have the **Tasker** enabled and behold the desired action by locking/unlocking the screen.

---

Should you decide to use **MacroDroid**, install Secure Settings too because it is needed to run commands in MacroDroid's actions.

### Relevant triggers in MacroDroid:

* Screen On/Off → Screen Off
* Screen Unlocked

### Relevant actions in MacroDroid:

* Secure Settings → Actions → Run Command

+ Use the commands learned in this solution. Follow instructions for Tasker for any guidance
* Wait Before Next Action

---

## Screenshots

Order of images as "All tiles available when screen is unlocked" → "No Airplane tile when screen is locked"

<sub>(Click image to enlarge)</sub>

---

***It is possible to use this solution without root access***. You would need ADB running in wireless and loopback mode for that. It is not very convenient, however, it does work. For any guidance, see my answer for Lollipop hide quick settings on Lock screen.

# Answer
> 1 votes
Install **XposedInstaller** and use **GravityBox** module. It has a setting for disabling the Power button at lockscreen. Hope it helps.

# Answer
> 1 votes
I have not seen any way in which this can be done on stock Android.

If you are willing to root, this can be achieved through a custom ROM like Cataclysm.

---
Tags: 5.0-lollipop, nexus-5
---


title: Is my phone hardware damaged?

text:
# Question
Title: Is my phone hardware damaged?
Ocassionally when I use my phone, it crashes.

# EDIT:

*From analysing the pictures posted, we can conclude that the OP has an Asus Zenfone 2 (probably ZE551ML) running Lollipop 5.0 LRX21V.*

This is very annoying if I play Clash of Clans and stuff. Imagine, in the middle of a war and then crash!

Fortunately I knew a way to get the system log.

I installed Airdrop Detector. It crashes on any phone. When it crashes it gives me an option to report the crash. I wonder if there is another way to get that.

Here are some of the screen shots.

Click images to enlarge

It says fatal signal hardware test.

The store I bought the phone from has a history of problems with the devices I bought from them. The first phone I bought had a Chinese ROM in it. The second phone has these constant ads. They managed to fix that. However, the original problem, namely that apps often crash is still there.

There are some error that complains about OpenGL:

Click images to enlarge

Please help me verify if the phone is hardware damaged or not.

I found a bug and I post the video on youtube

https://www.youtube.com/watch?v=JzAuaIw4RT0

# Answer
> 3 votes
A few things to note:

Answer compiled from comments

1. A SIGABRT signal/error generally indicates that the system forcefully stopped a process from executing, via the syscall `abort()`. Refer this SO question.
2. OpenGL ES libraries not found: It could be that your OEM does not or has not provided the OpenGL ES libraries which this app requires or has provided them in a non-standard location(usually OpenGL ES 3.0 is not provided on some devices (see this Android developer's resource), and library locations can change with kernel versions, an app relying on Kitkat's library location may not work on Lollipop).
3. Crashes can be due to a number of issues, usually due to battery power issues or overheating, although either of these may not be immediately apparent.

You could try the following:

1. A . This should help with any problems that are due to user misconfigurations.
2. You could test (log) the temperature of your device with a suitable app such as CPU-Z or 3C Toolbox until you get a crash. If the device temperature goes above 70 degrees Celsius, overheating could be a cause of this behaviour.
3. Similarly, you could also check the battery output current using CPU-Z, I am not exactly sure but from personal experience I can say that a battery draw voltage of less than 2000 mV at 40% to 60% charge level can lead to power issues and crashes. (Thanks to my old Micromax Canvas Magnus, which had a similar issue which I so diagnosed, and a battery replacement fixed it).
4. As you yourself suggested, checking out customer service and user forums for the product might be a good idea.
5. Also, as @Firelord suggested, you should check if your recovery offers some hardware-testing facilities, which some manufacturers provide.

---
Tags: hardware, crashes, crash-reports
---


title: Sync Issue from Phone to Gmail contacrs

text:
# Question
Title: Sync Issue from Phone to Gmail contacrs
I deleted all my contacts from my android phone But have all of them in my gmail account,

> What will happen if i sync my accounts ?

means

> It will copy all contacts to phone or delete all contacts from gmail ?

# Answer
Your best bet is to remove the account and then reconnect to it. It however, is likely to have already synced and removed these contacts.
> 0 votes

---
Tags: contacts, sync, gmail, google-account
---


# Question
Title: Is there a native way to find all the installed apps that have access to a phone feature?
Is there a native way to filter installed apps by permission (features they have access to)? For example, filter all the apps that have access to the camera.

Looking to delete all the apps that have access to the camera without manually going through each installed app and checking its permissions...

*Android version: KitKat and newer*

# Answer
> 5 votes
In case, you ever decide to go with a command-line way, you can try my approach.

## Dependencies

* Requires to be setup in PC.
* Requires *busybox* binary. If the device is rooted, install Busybox app. Else, download busybox binary from official source, rename the binary to *busybox*, set Linux compatible executable permission on that binary for everyone and move it into device using

```
adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC

```
* Requires *aapt* binary. If you're running a CM or its derivative ROM then ignore this requirement. Otherwise, for Android 4.x, you can consider downloading the binary from here, rename the binary to *aapt*, set Linux compatible executable permission on that binary for everyone and move it into device using

```
adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC .

```

Android 5.x users: ask Google for assistance.

This is my little script:

```
#!/system/bin/sh
# Check if the busybox binary exists under /data/local/tmp/ or /system/xbin. Set the detected binary's path into the variable busybox or exit if file doesn't exist or executable permission is not set
[[ -x /data/local/tmp/busybox ]] && busybox=/data/local/tmp/busybox || { [[ -x /system/xbin/busybox ]] && busybox=/system/xbin/busybox || { date +'busybox binary not found or executable permission is not set. Exiting' && exit; }; }

# Check if the aapt binary exists under /data/local/tmp or /system/bin or /system/xbin. Set the detected binary's path into the variable aapt or exit if file doesn't exist or executable permission is not set
[[ -x /data/local/tmp/aapt ]] && aapt=/data/local/tmp/aapt || { [[ -x /system/bin/aapt ]] && aapt=/system/bin/aapt || { [[ -x /system/xbin/aapt ]] && aapt=/system/xbin/aapt || { date +'aapt binary not found or executable permission is not set. Exiting' && exit; }; }; }

! [[ "$1" == +([0-9a-zA-Z._]) ]] && { $busybox printf 'Permission field should not be empty or contain anything beyond these characters: a-zA-Z0-9._' && exit; } || perm=$1;

# List package name of all the installed apps and save them in the file packages.txt under /sdcard
pm list packages | $busybox sed 's/^package://g' | $busybox sort -o /sdcard/packages.txt
$busybox printf "\nList of apps with permission $perm:\n\n";

# From the output we just saved, take each line (package name) and see whether the package has the said permission. Print the app's label and package name when positive. Before printing everything we're also sorting the lines in A-Za-z order. Sorting is not mandatory.
while read line; do
    [[ `dumpsys package $line | grep "$perm"` ]] && perm=1 || perm=0;
    if [[ $perm == 1 ]]; then
        path=$(pm path $line | $busybox sed 's/^package://g');
        label=$($aapt d badging $path 2>&1 | $busybox sed -ne '/application: label=/p' | $busybox cut -d "'" -f2);
        $busybox printf "$label ($line)\n";
    fi
done < /sdcard/packages.txt | sort

```

Save the script in PC into a file named `perm_script.sh` and move it into /sdcard using

```
adb push LOCAL_FILE /sdcard/   # LOCAL_FILE is the  path where you saved that file into PC

```

Run that file

```
adb shell sh /sdcard/perm_script.sh PERMISSION   # replace PERMISSION with the android permission for which apps are to be shown

```

The greater the apps installed in the system, the greater the time will be for the command to complete execution. In my device, it took around 40 seconds.

Demo output:

```
List of apps with permission android.permission.CAMERA:

AirDroid (com.sand.airdroid)
Android Live Wallpapers (com.android.wallpaper)
Barcode Scanner (com.google.zxing.client.android)
Camera (com.android.camera2)
CellConnectionService (com.mediatek.CellConnService)
Chrome (com.android.chrome)
...
Webkey (com.webkey)
YGPS (com.mediatek.ygps)
YouTube (com.google.android.youtube)

```

---

# One-liner

You can reduce the script to one line:

```
adb shell pm list packages | tr -d '\r'| sed 's/package://g' | while read line; do [[ `adb shell dumpsys package $line | grep 'android.permission.CAMERA'` ]] && echo "$line"; done

```

Drawbacks:

* Nothing much, except that you need a \*nix OS. Cygwin may work for MS-Windows.
* You won't be seeing labels but only the package names.

<sub> (To get app's label using its package name, use GAThrawn's answer \- works if only the app is available in Play Store; use Izzy's answer \- works for any installed app.) </sub>

Profit: execution time reduced to ~50%

---

# Bulk removal

Use this command to remove those apps in bulk

```
adb shell pm list packages | tr -d '\r'| sed 's/package://g' | while read line; do [[ `adb shell dumpsys package $line | grep 'android.permission.CAMERA'` ]] && echo "Removing $line" && adb uninstall $line; done

```

Expect it to report failure for system apps.

---

# Show App info for all

The following command would display the App info page of the apps having the permission `android.permission.CAMERA`

```
adb shell pm list packages | tr -d '\r'| sed 's/package://g' | while read line; do [[ `adb shell dumpsys package $line | grep 'android.permission.CAMERA'` ]] && printf "Launching App info page of $line\n" &&  adb shell am start -d "package:$line" -n com.android.settings/.applications.InstalledAppDetails --activity-multiple-task && sleep 1.5; done

```

The flag `--activity-multiple-task` is important to note. It is because of that every App info page for an app would be shown as a new task for the same activity. In essence, App Info page for every app having the fed Android permission can be accessed under the Recent activities and once you close the App Info page of an app using the Back button, the App Info page for an other app would show up because they were consecutively opened.

In this way, you can review the app having the Camera permission and take the actions on it, be it Uninstall or Disable.

# Answer
> 0 votes
Unfortunately, there is no native way, neither for KitKat nor for Lollipop (didn't try for Marshmallow). No special system app, no secret code, nothing. The only two ways (for an end-user) to access an app's info are either using the command-line, which another answer covered already or by using Settings app.

Since Settings app doesn't do what you want and command-line seems too much here, your best bet is to use a third-party app for that purpose.

Please note that even Google Play Store doesn't list installed apps based on permissions.

---
Tags: applications, permissions, delete
---


title: How to root ZTE prestige

text:
# Question
Title: How to root ZTE prestige
I've looked at XDA and couldn't find anything and nobody will answer my question there. Please let me know if it is possible and if it is, how to do it?

Methods I already tried:

* Framaroot
* Kingoroot
* Towelroot
* Rootmaster
* One Click Root
* root

# Answer
> -1 votes
> Download Cydia Impactor to your desktop – Windows | Mac | Linux 32-bit | Linux 64-bit Extract the package to your desktop
>
> Run the Cydia Impactor tool
>
> On your Android device, enable USB Debugging from Settings \> Developer Options
>
> Connect the device to a USB port on your computer
>
> On Windows, you would need to have the USB drivers for your device installed. If not, you can also use the inbuilt Driver Scan function in the tool to automatically construct and install a driver for your device
>
> Click the Start buton, after making sure that # drop SuperSU su to /system/xbin/su is selected in the dropdown menu
>
> Once done, download and install SuperSU from the Play Store
>
> Enjoy Root access on your Android device

---
Tags: rooting
---


# Question
Title: How can I install odia language in my sony Xperia mdual mobile phone
Kindly give me suggestion,How can I install odia language in my sony Xperia mdual mobile phone.

# Answer
Odia fonts are supported only in Android 5.1.1 and later. However you can read Odia fonts in a web browser by following these steps:

1. Install Firefox browser from Google Play Store.
2. Launch Firefox and go to the Oriya fonts package Add-Ons page and select *Add to Firefox*.
3. Click *Install*.

To add read/write support for Odia language globally in earlier Android versions than 5.1.1, install Odia keyboard app. From Odia keyboard app's Google Play Store webpage:

> ### Features
>
> Type in Odia or Oriyai and other Indian languages using normal keyboard
>
> * Content can be formatted with different styles, colors, sizes and shades.
> * Share as image or text with popular apps
> * SMS or message the text
> * Copy the text and paste anywhere
> * Save as text or image
> * Open or edit the saved work

Odia keyboard app requires Android 2.1 and up.

<sup>(Click image to enlarge)</sup>
> 1 votes

---
Tags: 4.3-jelly-bean, languages
---


# Question
Title: The QR code doesnot work for WhatsApp web. What is the issue?
While I click on the whatsapp web from menu , it opens scanner but can't read the code. Why?

# Answer
> 0 votes
It is Most probably due to the bandwidth of either Computer or Mobile me too have faced the issue when i had a bad bandwidth as the WhatsApp web changes its QR in a very short period of time within which the Android should capture it and process it online I'll prefer you to connect your mobile in wifi and try the same :)

# Answer
> -1 votes
I tried to scan it in portrait rather than landscape mode and it worked.

# Answer
> -1 votes
It could happen if you're using high contrast theme on Windows. If that's the case, then just set the theme to Windows Basic theme and it will work.

I regularly do it because I use black contrast theme.

---
Tags: applications, whatsapp-messenger
---


# Question
Title: uninstall preloaded apps on intex aqua power II
i currently use the intex aqua power 2 smart phone with android 5.0 . There is a bunch of preloaded apps on it and i want to remove them . How to do it?

# Answer
Its just a cake walk I'll prefer to use kingRoot apk which can be downloaded by searching in Google and then root your phone using it which need internet connectivity and then it creates an app named King user in that you can see an Option as uninstall Tool which can be used to uninstall the bloatwares and just restart after uninstall to get rid of completely its Completely trustable as i done it in my Phone Micromax A106 contact me if you need more any clarifications :)
> 0 votes

# Answer
1. Root your phone.
2. Enable USB debugging mode.
3. Download debloatware tool from XDA Develpers.
4. Open up the tools and select the application in the Tools.
5. Tool will backup the application and remove it or hide it.
> 0 votes

---
Tags: stock-android, bloatware
---


# Question
Title: what changes are done, while rooting an android phone?
I've rooted my phone running 4.2.2 jb through computer (I tried all mobile rooting apps but nothing worked for me) I want to know what's the difference rooting program did?has it switched me to root user? To do that something has to be changed. Then what is it?

# Answer
> 2 votes
You have added a binary named `su` to your phone's operating system file. Android is based on Linux OS. Not all users can do everything they want in Linux. For example, an app in your phone, can't access to another app's data. It doesn't have the necessary permissions as a normal user. All apps you install are assigned a UID (User ID) by the system. There is however, another user in Linux OS that can execute all commands and can access everywhere and has all permissions. That is the `root` user (UID 0). When you *root* your phone, you add a binary and an app to manage it. (usually SuperSU) When you grant an app root access, it can execute commands and have permissions it normally can't. **So beware of the apps you grant root access to.**

# Answer
> -1 votes
No Much Changes are Done on rooting the Android Device the User can access even the Android OS files which are responsible for All operations so This helps us to uninstall bloatware and it can also make the system potentially vulnerable i.e. Many Apps can easily Exploit the root access to spy on Your Phone even key logs can be sent over internet when the device is rooted so, if you know what thing you are messing up just go ahead else i'll better say you to stay **On Unrooted mode** and its true You can get the most from Android after rooting your Phone !! ;) \**Root With Caution and if you are really ready to face the consequences \** Some in complete Roots may make your phone cause Boot loop i.e.To stay on boot screen itself To be short this is like the su command in Linux Systems ! :)

**2nd** : You can even Root your Computer without Computer its not that always a Computer is needed to root the phone Except for some Phones :)

---
Tags: rooting
---


# Question
Title: How can I free some disk space without deleting my apps?
I dont have that many apps. But I had to delete old ones to get new ones because my phone keeps saying I have low storage.

**How can I free some disk space without deleting my apps?**

# Answer
> 2 votes
The only way that I am aware of is if you don't want to remove apps from your device, you could remove the app data associated with them. Certain apps take up quite a large amount of space, Google Maps is an example of this if you use it regularly.

To delete the app data go to settings \> Applications \> Manage Applications and click on a app name and then click on the All Tab. You may want to click on Menu \> Sort by size so it will show you what apps are using the most space from the top of the screen.

To clear the app data click on the app name and then click on the clear data button.

Do this for a couple of apps and the low storage space warning should eventually disappear, you may have to go through quite a few apps though. This is what I have to do on quite a regular basis unfortunately.

Another tip, the browser tends to store a lot of data, but if you click on clear data for the browser you will lose everything including bookmarks. Instead from the browser press menu \> more \> settings and then clear things like history and cookies etc.

Hope this helps

# Answer
> 1 votes
If your phone is rooted, you can CacheMate to automatically clear your applications' caches for you on set intervals.

# Answer
> 1 votes
Some apps that I know of like Instagram, Facebook, Maps tends to accumulate a lot of internal space to store their cache, it is not unusual to find cache by Facebook and Instagram reaching up to hundreds of MBs mainly due to video cache and images in my phone, you might want to check them first.

Also if you have apps with very large apk files try to move them to sdcard. In some rare cases I found that dalvik cache also contains some dexes of previously uninstalled apps....you can try to clear dalvik cache too in recovery or manually if you have a rooted phone.

Check some other apps if any that use streaming or internet connectivity especially social media apps, they tend to store a lot of cache.

If your phone is rooted you can try to remove bloatware that came pre-installed in your phone

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


title: PIN longer than 16 digits

text:
# Question
Title: PIN longer than 16 digits
I was wondering if there was any way to use an unlock PIN longer than 16 digits on android lollipop - in the settings it allows you to enter a PIN less than 17 digits. I would like to stay away from 3rd party lock screens if possible. I am running resurrection remix (Lollipop 5.1.1).

Thanks

# Answer
Far as I know, **no.** Now of course wait for more answers but far as I know, if it is set to be 16 characters max it means it is a 128 bit variable. If that is all Android has saved for the PIN, then that is that.
> -1 votes

---
Tags: lock-screens, password
---


# Question
Title: How to backup Swype personal dictionary?
How do I backup my Swype personal dictionary ?

I Googled and found a thread on the Swype forums: Backing up and restoring your user dictionary (ROOT USERS ONLY)

I followed the exact procedure but somehow its not working. I am not able to see old words. Did it work for anyone?

I even used Titanium backup to restore but still of no use.

Can someone tell me how to backup and restore my Swype personal dictionary?

# Answer
> 1 votes
With Version 1.3, this is now an option in Swype. You have to log in with your credentials (I think you probably registered when you downloaded the beta installer). It gives you the option to backup and sync your dictionary across other devices using Swype.

http://www.swype.com/about/specifications/

# Answer
> -1 votes
I have version 2.0.2xxx, and it's a setting that is automatic after it's checked. It used to be annoying in previous vers; after updates the personal dictionary would get lost, but that is cured now.

---
Tags: backup, swype
---


# Question
Title: Need some clarification on Developer Settings
We have a bespoke app that uses a WebView to play some locally stored CSS animations.

I'd like to get full clarification on whether the following Developer options can have any impact on the animations playing in the WebView:

* Animation and transition scales
* Forced GPU Rendering
* Disable Hardware overlays
* Do not keep activities
* Limiting background processes

EDIT - Can I also get an explanation as to what "Disable Hardware overlays" does exactly? Would checking it help in any scenario?

# Answer
> 3 votes
First of all ,those options are meant for development reasons ,mainly for developers to get different debugging outputs for every situation their app may face.

**For the first part of your question :**

> Will those options affect the play of animations in a webView ?

I will go throw the options one by one :

1. **Animation and transition scales** :

This option is for the system-core animation the ones included in `framwork-res.apk` and other system framework or in any android application under `res/anim`

Those animations are used by the system to change between views or par third party applications to change between activities view or for playing animations so if you change the `Animation and transition scales` only those animations will be affected ,since your Application uses the Webview to render and play the animations it will not be affected by those sittings.

2. **Forced GPU Rendering** :

As you may already now in any computer or phone there is two types of rendering `software rendering` and `Hardware rendering` the first one is when the screen is displayed by the CPU it self ,the second is when the GPU is the one rendering it ,in android the system decides when and where use `softrendering` or `hardrendering` if you activate this option the system will always choose the GPU to render the screen ,which may give you a small performance gain because the CPU will remain free for other operations ,the power consumption may increase (corect me if I am wrong) GPU uses more power than the CPU.

3. **Do not keep activities** :

This option will kill any activity as soon as it goes to the background means that as soon as you leave an activity it will be destroyed so when you go back to that activity it will start a new one rather than resume the previews session ,this may not affect your application when you are on it but the second you leave it it will be destroyed ,this option may give you a little bit more performance because all other apps on the phone will not run in the background which may free up some resources (note that the background services will not be killed by this options only activities that are no longer displayed will be killed ) .

4. **Limiting background processes**

For this one I will quote @Dan Hulme in this answer

> Setting this option forces Android to stop each process as soon as it is empty (that is, when no services are started and no activities are on screen for that app).
>
> To be clear: this option won't stop apps that would normally run in the background from doing so. Your mail client will still run periodically to check mail, if it's configured to do that. Apps that use Google Cloud Messaging to receive push messages from Internet servers (such as Gmail and Facebook) will still be able to do so. The option would be better named "Cached background process limit", since it limits apps that would otherwise show up with that label in the apps manager.
>
> Next time each app needs to start, Android has to load the app from storage, from scratch. This uses more power and takes longer than running it again when the process was in memory. This doesn't just mean when you start an activity from that app deliberately; it also means the email client has to be loaded after each time it wants to check email. Over time this can build up to a huge battery drain.
>
> Because this is a development option, it can also trigger rare bugs in certain apps, and those apps' developers may not be keen to fix them. One example is that, on Nexus devices running 4.2.2, when this option is on, the in-built Calendar app will keep restarting itself with this option set, because stopping the cached background process causes the calendar's content provider to be removed, which causes a loop of services restarting each other to check for calendar updates. If this happens, the loop will run down your battery very quickly.

So as you can read this option will not affect your application all side affect of this option are noted in the previous quote.

**For the second part of your question :**

> what "Disable Hardware overlays" does exactly?

To answer this I will define what is `Hardware Overlays` :

In computing, hardware overlay, a type of video overlay, provides a method of rendering an image to a display screen with a dedicated memory buffer inside computer video hardware. The technique aims to improve the display of a fast-moving video image — such as a computer game, a DVD, or the signal from a TV card. Most video cards manufactured since about 1998 and most media players support hardware overlay ,The overlay is a dedicated buffer into which one app can render (typically video), without incurring the significant performance cost of checking for clipping and overlapping rendering by other apps. The framebuffer has hardware support for importing and rendering the buffer contents without going through the GPU or CPU.

Now to get back to your question will it affect your scenario ,if you disable this feature android system will not allow hardware overlays which may cause a reduced performance , in other words Without a hardware overlay every application that is displaying things on the screen will share video memory and will have to constantly check for collision and clipping to render a proper image, this can cost a lot of processing power. With a hardware overlay each application gets its own portion of video memory, getting rid of the need to check for collision and clipping .Basically, using hardware overlays can reduce CPU usage by quite a bit, so I would leave it enabled in your case.

like I said earlier those options are meant for developers to get different debugging outputs for different scenarios their apps may face.

**References** Hardware Overlays Wikipedia / Hardware Overlays on ComputerHope.com

---
Tags: settings, webview
---


title: Can't see 'My Maps' in Google maps app

text:
# Question
Title: Can't see 'My Maps' in Google maps app
According to this, I should be able to see 'My Maps' from the main google maps app in android.

1. Open the Google Maps app maps.
2. Touch the menu \>Your places.
3. Scroll down to see your maps.
4. Touch one to show it on the map.

However, when I scroll down (3), there are non of 'My Maps' shown.

Does anyone know why that might be? Do I need to enable something?

# Answer
Download My Maps and then check Google Maps again.
> 0 votes

---
Tags: google-maps
---


# Question
Title: How can I access the folders where Firefox mobile stores its application data
I know the information is supposed to be at data/data/org.mozilla.firefox/ but I cannot seem to view/access them.

My device is rooted, and I've checked device storage as well as external storage, using multiple file browsers.

Specifically I'm trying to find where it stores the information that it saves for the top sites tab.

# Answer
Apps on Android store their data in `/data/data/[package_name]`, so Firefox should be keeping its data in `/data/data/org.mozilla.firefox`.

**NOTE:** To access this directory you need root access.

Use `file:///data/data/org.mozilla.firefox/` from inside Firefox to access the folder (without root). This work because Firefox owns the folder (see the comments)
> 3 votes

---
Tags: firefox-for-android
---


title: Verify Cyanogenmod update - checksum?

text:
# Question
Title: Verify Cyanogenmod update - checksum?
I am running Cyanogenmod 11. The OS made an automatic check for updates, and there are new nightly builds available. I downloaded one of them, but have not yet installed it.

Can anyone advise what security features are built into this automatic update process?

* Where is the update downloaded from?
* Is it possible to see the checksum of the update in question?
* Are updates signed?

# Answer
You dont have to worry about corruption of update. If its corrupt, the zip file will not be parsed and recovery wont flash it, no damage done.

Still, if you want checksums, you can go to http://download.cyanogenmod.com/, find your device and check the checksum of latest build for your device.

If you are still not comfortable installing update, **backup first using recovery**. You can always restore if it doesn't work out.

> Are updates signed?

I dont get what you meant by that. CM updates are signed with Android's default debugging keys (test-keys). Ofcourse feel free to research about this on your own at Cyanogenmod Wiki.
> 0 votes

---
Tags: cyanogenmod, updates
---


# Question
Title: Samsung asks for software update with weird random version
Today, I suddenly received this update for my Samsung Galaxy Prime Kit Kat 4.1 and it tells me to update to a weird random version which I searched on Google and received NO results (even when typing the 6th letter of the version). I hope this is not a glitch or someone trying to hack my phone.

> **Update details**
>
> Size : 124.17 MB
> Version G360GDXU1BOJ3/G360GOLB1BOJ1/G360GDVU1BOJ3

# Answer
> 2 votes
This appears to be a fine update to me. If you check this page on sammobile, it has firmwares named similar to yours. The final base number is pretty same (`UIBOJ3`).

Besides that, android phones cannot be hacked that way unless you install some real (real) bad app, even then you should be able to recognize such a thing. So I would say just go ahead, this update is fine from security point of view :)

---
Tags: samsung, ota-update
---


# Question
Title: I need unbrick my samsung galaxy tab 10.1
I tied to root my samsung galaxy tab 10.1 wifi + IR PT-5133 I used this method https://www.youtube.com/watch?v=8-gOZh7OxWM After I completed the root prosses, my device was in a boot loop! I tried rooting one more time, but the tablet continued in a boot loop but now IS IMPOSSIBLE start in a DOWNLOAD MODE any suggestions

# Answer
Connect your tablet to your computer and run

> adb devices

If your tablet is detected then execute

> adb reboot bootloader

Your tablet will then be in the download mode.
> 0 votes

---
Tags: rooting, boot-loop, samsung-galaxy-tab-2-10.1
---


title: Why my pc usb discharge my smartphone?

text:
# Question
Title: Why my pc usb discharge my smartphone?
When i'm using regular cable to my smartphone connecting to the electric in my house it's charging the smartphone fine. My smartphone is lg g3.

But when i'm connecting my smartphone to my pc usb and i tried two cables i see the percentages on my smartphone getting down. I see the charging sign on my smartphone like it's charging but instead the percentages getting down until my smartphone is shut down. Then i need to go to my other room and charge it from the wall again.

What could be the reason on the pc it's not only that it's not chraging but also discharing ? Strange. It's not the cable tried two already, I guess it's something with my pc usb but what could it be ?

My pc: intel i7 2.67ghz and 6gb ram windows 8.1 pro 64bit

# Answer
Depending on the your PCs USB host controller, you computer might only be able to output 250mA of current. Another possibility is outdated usb drivers. If if is charging with the wall adapter, it is likely you have a USB host controller that can't output 2A of current like your wall adapter does. Your best bet is to try all of your USB ports, and try to update your computers drivers.
> 1 votes

---
Tags: usb, lg
---


# Question
Title: Android studio emulator start without response
So I am new to android developer, the AS start first for the default 6.0sdk, emilator runs well but after I download the 4.0.3sdk and the exact emulator, the emulator crashed while starting, the emulator screen keep black without response. what is the problem?thank you

# Answer
I have solved this problem,for I delete

* C:\Users\chcc.android

and redownload the sdk and Emulator,it runs!
> 0 votes

---
Tags: android-emulator, android-device-manager
---


# Question
Title: I am always seen as online on Google Chat/Hangout
How can I make myself offline so that noone can see that I am available. I am unable to find this option after GTalk -\> Hangout upgrade.

# Answer
> 3 votes
the availability option has been deprecated in hangout. To make yourself invisible or so, either you have to downgrade to gtalk or the easiest way you can do this by going to your gmail account from your pc. There you should find this availability option.

# Answer
> 2 votes
Open hangouts app -\> Preference -\> Account -\> Logout.

# Answer
> 1 votes
There's no way to do this, other than to disable the hangout application itself. (Go to Applications - Hangount - click disable)

# Answer
> 1 votes
I think i have an option which help to be invisible in normal gmail logged in mode.

1. Log in through hangout.
2. Click on the down arrow near "New conversation". It will let us do some settings on our profile.
3. Uncheck the first 3 option. i.e. Show when i was last seen online, Show which device you're on and Show when you are in a video or phone call on your device.
4. After uncheking the all 3 options click sign out from hangout.
5. Check in the gmail... If u r still in available mode. Then change the status into invisible in gmail.

I think u guys will smile after that.......:)

# Answer
> 0 votes
The sign off status will not take effect immediately (well at least for me it's like that). Give or take half an hour, I can see my ID completely logged off.

And it's of course not as long as 30 days for sure.

---
Tags: offline, google-hangouts
---


# Question
Title: Is there any Android distribution statistic for single countries?
I'm looking for statistics for android distributions for individual countries but the main source of information, Google themselves, only have information for the entire world. There was also this stack exchange question but it hadn't really received a satisfying answer (it points to a blogpost with statistics for specific apps which is not terribly useful).

If I'm making an app for a single country I need information about what distributions are being used in that country. Google doesn't seem to be releasing such information, even if we were willing to pay for it (which we might if pricing was reasonable).

# Answer
> 3 votes
Here you can find statistics of mobile operative systems reach by country, based on the web traffic generated by mobile devices. The web interface gives the possibility to filter the data, choose the country, differentiate by distribution of OS. The data are collected by the domain registry Afilias, which manages domain names like `.org`, `.mobi` and `.info`. Of course the statistics cannot be precise, as they are bounded to accesses on the particular domain names owned by Afilias, but I think they can serve well for an overview.

---
Tags: android-versions
---


# Question
Title: How can phone companies detect tethering (incl. Wifi hotspot)
Mobile network operators (also: telephone companies, telcos, providers) sometimes offer low cost data packages that are usable only on the phone. Or so, they say.

*How can they distinguish between a user browsing the web with a browser on his Android phone and a user using a browser on a laptop tethered to an Android phone?*

In early 2012 I was in Paris and I was using an Orange mobile data package with a Nokia E51 (Symbian S60). Indeed, I could only access the Internet using the phone's browser, not from my laptop tethered to the phone. Now, I a have an Android 2.3 phone, and I am thinking about subscribing to a similar data package in Spain (operator Más Móvil).

# Answer
> 30 votes
How they detect that someone is tethering a device isn't something that network providers often want to talk about, for the obvious reason that the more consumers know about how this is being detected, the easier it is for them to find ways to hide the fact that they're doing it, and avoid the associated extra charges *(1)*. However there are certain known techniques that will give away the fact that you're currently tethering, if your Service Provider happens to be running the right tool to check for these indicators:

## Your Phone asks your network if tethering is allowed

The first and easiest method is that some phones will query the network to check whether the current contract allows tethering, and then totally disable the tethering options on the device in software if not. This generally only happens if you are running an OS version that has been customized by your Provider, example 1 example 2.

## Your phone tells your network that you are tethering

It's also rumoured that some phones have a second set of APN details saved in them by the phone network, when you enable tethering they switch over to using this second APN for all tethered traffic, while using the normal APN for traffic originating on the phone. However I haven't found any concrete evidence of this, other than people finding odd APNs and wondering what they're for (bear in mind that an unlocked phone bought off-contract may have hundreds or thousands of APNs stored on it, ready for use on whichever network in whichever country the eventual owner decides to use it).

## Inspecting the network packets for their TTL (time to live)

Every network packet travelling across a TCP/IP network, like the internet, has a built-in time-to-live (TTL) set on it, so that in case there is a problem with that packet reaching its destination this will stop it travelling around the network forever clogging everything up.

The way this works is that the packet starts with a TTL number (say 128) set on it when it leaves the sending device (your phone, or laptop), and then every time that packet travels through a router of any kind (like your home broadband router, or a router at your ISP or phone company) that router subtracts one from the TTL (which would decrement the TTL to 127 in this example), the next router it travels through will in turn decrement the TTL again, and so on, if the TTL ever reaches zero then the router it's at discards the packet and doesn't transmit it again.

When your phone is tethering it acts like a router so, as the packet passes from your tethered laptop through your phone and onto the phone network, your phone will subtract "1" from the TTL to show that the packet has passed through its first router. The phone networks know what the expected TTLs from common devices are (for instance packets from an iPhone always start at a TTL of 64), and so they can spot when they're one less (or totally different) than they're expecting.

## MAC address inspection

Devices on a TCP/IP network, like the internet, all have a unique MAC ID set on their network interfaces. This is made up of two halves, one half identifying the manufacturer of the interface, and the other half being a unique identifier assigned by the manufacturer (like a serial number). Every network packet that is sent out will have been "stamped" with the MAC address of the originating device's network port. The MAC address of your laptop's wifi card will have a very different manufacturer and serial code than the MAC address of your phone's 3G interface.

## TCP/IP Stack Fingerprinting

Different computer Operating Systems (eg Android, iOS, Windows, Mac OSX, Linux, etc) set up their TCP/IP stacks with different default values and settings (eg the Initial Packet Size, Initial TTL, Window Size...). The combination of these values can give a "fingerprint" that can be used to identify what operating system is running on the originating device. A side-effect of this may mean that if you're using an uncommon OS, or an OS that's similar to your phone's on your other device, your tethering may not be spotted.

## Looking at the Destination IP/URL

You can learn a lot by what a device regularly communicates with.

For instance, many OSs these days do Captive Portal Detection when they first connect to a wifi network (such as your wifi tether connection), they do this by trying to connect to a known web server across the internet, and checking to see if they get the response that they're expecting. If the expected response is not received, then it's likely that the wifi connection you're on is a "captive portal" and may need you to log in, or pay, to connect to it. As Microsoft OSs (like Windows Vista and Windows 7 check with a Microsoft server by default and other OSs like Android, MacOS and so on all connect to their parent company's servers to do these checks, it can be used as a good indication of the operating system just after the initial connection is made.

Additionally, if a device regularly contacts the Windows Update servers, then it's very likely that device is a Windows PC or laptop, whereas if it regularly checks with Google's Android update servers, then it's probably a phone. Or if they can see that you're connecting to the Apple App Store, but the IMEI of the device that your SIM card is in indicates that it's not an Apple device, maybe you're tethering an iPad to an Android phone?

More sophisticated systems can look at a whole range of data seeing who you're communicating with (eg are you connecting to the Facebook app's API servers which is more likely from a phone, or to Facebook's web servers which is more likely from a PC) and add a whole load of these indicators together to create a fingerprint that indicates what sort of device you're likely to be using. Some of these fingerprints can be caught out when new device types and services come out, for instance there are reports that just after tablets with built-in 3G came out, some owners of these on the AT&T network received mails warning them that they'd been tethering when they hadn't, as the fingerprint from this new style of device didn't look like a typical phone.

---

*(1)* Obviously before trying any methods to by-pass tethering detection please remember to check your phone contract and your phone company's policies on tethering. They may have penalty clauses buried in their contract, Fair Use Policy, or Acceptable Use Policy for people who try to bypass their restrictions and limits.

# Answer
> 5 votes
In reality Mobile Network Internet Providers predominantly use Deep Package Inspection with URI fingerprinting to detect tethering. It is the only method that is feasible to use for large scale operation. They can use known sites, e.g. the Windows update server, to detect that it is a non-phone device that is accessing. Or for HTTP, read web browser user agent to detect that the browser is for a non-phone platform.

Having said this, these methods have some significant limitations.

* Timing offset from start of use until detection can take minutes
* Detection can be neutralised by using end-user encryption
* Using all possible fingerprinting techniques often result in triggering false positives

So the reality is that tethering detection is a balancing act from an operator perspective. They typically only implement enough to be able to block regular, non-geek users (which constitute the wast majority of mobile users). Deploying tighter detection to block tech savvy users is typically not worth the effort, and may backfire by generating too many false-positive events. As long as they get paid for used data, they will look the other way.

They rather concentrate their effort on hackers and blocking revenue leakage due to network exploits.

# Answer
> 2 votes
The simplest method is TTL inspection. If you route your connection to the second device (via mobile wifi hotspot or in any other way feasible), the phone company's routers will spot that some TTL values are different from the others when packets pass them. Since there are tables of expected initial TTL values available for many devices (their operating systems, more specifically), phone company will immediately spot that something is amiss, as they can easily calculate "how far away" is the source of the packet. It DOES NOT require deep packet inspection, since TTL values are available for all to see, in any kind of IP packet, and are actually MODIFIED by routers (decreased by 1 at each pass) as the packet is passed to the destination. The workaround is therefore quite simple.

---
Tags: tethering, mobile-network
---


# Question
Title: Alarm Controller is sending me unwanted notifications, ads
From many days I am getting unwanted ads and notifications. I uninstalled many app, and also did a factory reset also, After searching, I found *Alarm Controller* may be the culprit. As I lock my screen and the then try to unlock it again, the on-screen ads blinks all the time. I had a screenshot of the app

Please help me to get rid of these ads. Let me know if any more information needed.

# Answer
At last I got a solution or workaround, I installed NoRoot Data Firewall and then created a VPN on my own mobile and now I am having full authority to whom to give access to network and whom to not.

This is just the workaround I found, it doesn't remove the Malware. But it worked and get me out of the frustration.
> 1 votes

# Answer
Use firewall to restrict the network. Try this:

1. Install firewall app (e.g. CM Data Manager - Speed Test)
2. Open the app, go to Network Firewall setting. You will see all the apps are unrestricted
3. Set *Alarm Controller* to restricted app: tap *ON* to restrict the app. It will stop the unwanted notification & ads in your phone.
> 0 votes

# Answer
I have a similar situation ..I have tried all the stuffs suggested here.. 1) Using CM Data Manager - Speed Test - It does not work. It only allows to Create restriction at firewall with 2g network and not with wifi. 2) Turning Off the Accessibility option in Settings for Alarm Controller - is again temporary solution as the it gets turned "ON" by itself with few minutes.. Malware is doing it i guess. In the meantime the malware is getting strong. Now the alarm controller is no more version 2.0 like before and has updated itself to 4.0 (i hv no idea when and how) . Apart from installing several random apps (hola launcher quite repeatedly) by itself now this malware is creating some shortcuts with porno icons which on clicking takes you to some linkup websites and/or result in some downloads.. its getting really frustrating.
> 0 votes

# Answer
Just click stop button and power on/off your phone to reset from scratch. Click Settings and you will get various options to deal with. It's very simple and you won't get such ads, all the best !!

IF NOT, than you should go for Factory Re-set of this phone, thanks.
> -1 votes

# Answer
* Turn Off the *Accessibility* option in Settings
* Settings → Applications → Alarm Controller → Clear data & Clear cache → Disable and Force Stop. I tried it and it works for me.
> -1 votes

---
Tags: malware
---


title: Can I get my refund after 15min trial?

text:
# Question
Title: Can I get my refund after 15min trial?
I have purchased some application before. Later, developers claimed that their application become free, like Link Bubble etc. Can I get my refund? I know that there is a 15 minutes trial after purchase. But I have purchase a Input method application, however 15 minutes trial cannot let me try all functions. And after 15 minutes I cannot get my refund. Can I get my refund back in this condition?

I take Link Bubble as an example, I really like this application. I'd like to purchase this application whenever how much it cost. However there is really a problem that I have purchase one application years ago and never used later. It really bothered me.

# Answer
> 1 votes
You can get a refund from the app's page of the Play Store within 2 hours from the purchase. If 2 hours have passed, the official guideline by Google is:

> **Contact the developer**
>
> If Google Play's 2-hour return period has passed, the developer is responsible for deciding if you are eligible for a refund. Contact the app developer directly and ask for a refund. You can find an app developer's contact information listed on an app or game's detail page on Google Play.

and:

> **Optional: Contact Google**
>
> If the developer hasn't helped, Google may be able to. Contact our support team for help solving your problem.

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


title: Prevent registration to web scams

text:
# Question
Title: Prevent registration to web scams
I just got a strange SMS claiming that I've registered to some weird service and based on that they took the money from my account. This was proceeded by a popup related to some mobile games while I was browsing. At no point did I register or click enter my information or telephone number.

I'm using Chrome 46.0.2490.76 and Android 4.3.0

Does anybody know what is the general technical background of this fraud and what can be done to prevent it in the future (popup blockers or similar approach?)?

# Answer
> Does anybody know what is the general technical background of this fraud and what can be done to prevent it in the future (popup blockers or similar approach?)?

Android allows you to link javascript to an application. This seems likely the service provider added a "bad browser", check if you have any custom browser on your device, and if the device has any program that enables JS communication (this link for documentation)

Then again more details are needed to help...

Most likely your browser is a custom one, tampered by the manufacturer (so, post your device Model, as well as build number and source) that "sells" informations... such as getting phone number, re-routing add requests, or even an explicit malware being run in the browser, or in the device.
> 1 votes

---
Tags: chrome-for-android
---


# Question
Title: Getting Error In installing cwm recovery in Micromax a1(androidOne) from fastboot!
I want to install cwm recovery in my canvas a1 for backup my current rom android 4.4.4. I m going to install lollipop 5.1 I heard about some bug in lollipop so for my safety i want a backup. I used minimal adb and fastboot for installing cwm. But when i type the command "**fastboot flash recovery recovery.img**" End hit enter Then it show a error. "**Failed (remote download for partition 'recovery' is not allowed**'

What should i do now?

# Answer
Your recovery partition is locked.

1. Make yourself a developer (go to Settings -\> About Phone -\> Tap on Build until developer
2. In Developer options turn on Enable OEM unlock
3. Flash the new recovery, don forget to "fastboot oem unlock"
4. Important: don't allow phone to complete a normal reboot after flash. When rebooting, press Vol Up + Vol Down + Power to enter CWM recovery directly. Otherwise the stock recovery will replace CWM again.
> 1 votes

---
Tags: fastboot
---


# Question
Title: Error in Play Store: Insufficient storage available
I'm using a Moto E. A while ago, my phone decided to show me the following message when downloading apps, despite me having around 300 Mb more than was required:

> Error while downloading (Insert app name), Insufficient storage available

After some thorough internet research, I found that the best way to solve the issue was to install the App Cache Cleaner. This worked, and I was able to install apps once more.

However, after a while, the message started appearing again, except this time, it was just:

> Error. Insufficient storage available.

I researched this issue, and found that the only possible way to solve it was to clear the data from the Google Play app. This just made things worse, as it has gotten rid of the Google Play Services app, and I cannot do anything without reinstalling, and updating it, which I can obviously not do.

How do I solve this issue?

Edit: I have tried clearing all caches, clearing the Google play data, disabling and re-enabling Google play, deleting apps, and restarting my phone as suggested, all of which have not worked.

# Answer
> 1 votes
this is what i learned from my old 1gb app storage phone. To stop notification of insufficiant storage.

1. clear cache found in setting\>storage\>internal memory cache.
2. your phone needed some least amount of memory to work(hide notification) which was 150~200mb for me.Try to maintain the storage of 250mb reserved.
3. deleting google play not works.Deleting play service may give you some memory but you will need play service.

if still getting the notification at app install just remove your gmail account and untinstall play store (not play service) to factory version then reinstall/update play store and add account.

# Answer
> 0 votes
Here's the answer I received from Irulu...

## Your settings setup may differ from the setup of Irulu - but the process is the same: Don't delete Google play store or Google play services - just CLEAR DATA.

Sorry for this,we confirmed this problem with our workmate and here is the solution for reference:

1. Go to settings
2. Scroll down on the left side of the screen.
3. Select apps
4. On the right side of the screen, scroll to the left until you cannot scroll any further. You will see the word "ALL" in the top middle of the screen.
5. Scroll down on the right side of the screen.
6. Select "Google Services Framework"
7. Scroll halfway down the page and select "Clear Data" then "ok"
8. Press the back arrow button one time.
9. Select "Google play store"
10. Select "Clear Data" then "OK".

---
Tags: google-play-store, insufficient-memory
---


title: How to exit surelock

text:
# Question
Title: How to exit surelock
I am using the SureLock application on an SGS3, however I want to exit the app.

I do not have the password to unlock it and I do not want to uninstall the app.

# Answer
> 2 votes
I finally found the soultion with the help of my techie friend

connect the device throgh USB and run the command:

```
adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME

```

a window comes up. select **TouchWiz Home** and select **Always** android home screen will come up. reset the device and there you go... surelock is gone.

Thanks to **Léa** for this solution.

# Answer
> 0 votes
Lukas answer did not work for me.

This did:

```
adb shell am kill com.gears42.surelock
adb shell am start -a android.intent.action.MAIN

```

First command kills surelock. Second ask you for home app.

# Answer
> -2 votes
Boot into safe mode, then delete the apps.

---
Tags: samsung-galaxy-s-3, kiosk-mode
---


# Question
Title: Problem adding web app shortcut to home screen on Galaxy tablet
I have a Samsung GT-P7510 tablet running Android 4.0.4 and I want to add a bookmark to the home screen so I have one touch access to the web app.

Previously this same tablet was running an earlier version of Android (3.x) and I had no problem adding a web app to the home screen. I would first add the page as a bookmark and then long press the bookmark to get a menu. On the menu there was an option to add the bookmark as a shortcut on the home screen. When I did that then I am pretty sure it allowed me to specify a name for the home screen shortcut. Once I added it then it went to the home screen automatically and I could see the shortcut icon.

I recently upgraded the tablet to Android 4.0.4 and tried to do the above operation. When I do, I see these differences. When I long press a bookmark and select "Add shortcut to home" nothing seems to happen. No dialog box comes up asking me what name I want to give the shortcut. When I go to the home screen I don't see my shortcut.

Why isn't this working???

# Answer
Could it have created the shortcut on a different page of the home screen? Be sure to scroll left and right to check every page.

If you still can't get that working, there's another method that should still work. Go into the app drawer (the list of apps from the home screen), then go to the **Widgets** tab. There should be a widget there called **Bookmark**. Hold it to pick it up, and then drag it to where you like on your home screen.

If you need more flexibility than that, my app **Showr** lets you create a resizable home screen shortcut with a custom icon or image. You can use any picture you like for the shortcut, and have it open the web page you set or launch an app of your choice. It can even update the picture from the web automatically: for example, if the web app is a bug tracker, and it offers an image showing how many bugs are open, you might want to use something like that as the shortcut.

Download Showr for free from Google Play
> 2 votes

# Answer
Go to web site, choose "request desktop site" on chrome settings, choose settings again, then choose "add to homescreen"
> 2 votes

# Answer
If you've already got the webpage bookmarked, go to your app widgets ,there should be a 2nd bookmark widget ,mine had a yellow square ,it was a few widgets past the main larger bookmark widget. Press and hold this one to add it to home screen. Then ,it should let you add your bookmarks individually, w the same size icon as other apps on your home screen. It worked for me ,anyway. :):):)
> 0 votes

---
Tags: home-screen-shortcuts, samsung-galaxy-tab-10
---


# Question
Title: does restrict background data hurt performance of phone
Do I "restrict background data" yes or no and does it have more negative side effects than positive?

# Answer
Here is my phone's (Note 4 Edge) warning screen for "restrict background data". The implication is that this is a feature meant to protect users with miniml plans from accidentally incurring charges. It's also darn handy when travelling overseas or out of plan range.

I do not expect it would hamper performance, but may cause some functions to not work at all.
> 1 votes

# Answer
It doesn't harm your phone..it restrict background data which means you will not receive notifications of mail or messenger while doing other stuff. And some apps like Google Play won't work.
> 0 votes

---
Tags: battery
---


# Question
Title: Root/tips to make camera app start faster?
I am specifically concerned with the camera app on my new Nexus 6P. The camera starts slow compared to iPhone cam even though the shot quality is great.

Is there a way to give the camera app more access to RAM so that it can run more smoothly? Or is there any hope for Android to be as smooth as iOS lol?

# Answer
You can make your Camera as Quick access, may be the camera widget can work for your problem.

Take a look on this pro app - **InstaCamera Pro**, Works like charm, as you want. It works very fast, with two widget you can operate it very well.

Features Included from the Play Store:

* Choose the folder your photos get saved in
* Take multiple shots in a row (up to five)
* Mute the shutter sound
* Turn the "Image Saved" confirmation off
* Change the photo resolution (default is max)
* Set the focus mode (including fixed, infinite, auto and macro focus modes)
* Set the shutter delay (from not-even-focusing to two seconds) in case your camera hardware needs extra time
* Stay in camera mode after taking instant photos (then you touch the screen to take more, and back button to quit)
* There are two widgets: the 1x1, which is just the camera button, and the 2x1, which has a camera button and a settings button.

**Free Version of InstaCamera App** \- **InstaCameraApp**
> 0 votes

---
Tags: camera
---


title: samsung geofence error 1000

text:
# Question
Title: samsung geofence error 1000
I keep getting a geofence error 1000...How can I fix this error? I looked it up and tried some of the ways it says to fix it but it hasn't fixed. Is there a way to fix it and without resetting my phone?

# Answer
> 1 votes
**To fix it:**

1. Settings -\> Location -\> Mode
2. Choose "Device only (Use GPS to determine your location)"
3. Choose any other option to get the popup (e.g. "High accuracy (Use GPS, Wi-Fi and mobile networks to determine location")
4. dialog ""Use Google' location services" is shown
5. choose "Agree"

Please refer below thread to know more.

Geofence Error code 1000

---
Tags: samsung
---


# Question
Title: How can I unlock my Samsung S5 after too many wrong finger prints?
I have a Samsung S5 with a finger print lock.

After so many attempts (5) it locked and asked for an alternate password which, unfortunately, I did not set up.

Now I cant unlock my phone. I called my server and they advised me to go on here.

# Answer
I understand how difficult is this situation. I would suggest few options , either you can go for factory reset try this :

* shut down your device.
* press volume UP+home+ power buttons all together.

This will take you to options where you could find factory reset option. Press volume button to scroll and power to confirm. Unfortunately it will erase up everything.

Or log-in your phone from google account. Hope it helps.
> 1 votes

# Answer
I had this same issue causing major concern I logged into my samsung account, from there down the left side is a list of options one of them is "unlock screen" click that. it opens another window with a big button saying "Unlock" click that and with 5 seconds my phone unlocked.

hope this helps.
> 1 votes

---
Tags: samsung-galaxy-s-5, locked-out
---


title: Understand the storage of my phone?

text:
# Question
Title: Understand the storage of my phone?
(I just updated my post to clarify my questions. Hope that can help to make myself clearer.)

My phone is Kyocera Hydro Icon with Android 4.3.

1. The website where I bought the phone says

> **Memory**
>
> Internal: 8GB, 1.5GB RAM

The 1.5GB RAM isn't part of the 8GB "internal", correct?
2. On my phone, I go to Settings -\> Device -\> Storage which says:

Are "internal storage" and "phone" two partitions (and thus two file systems)? If yes, what are their mounting points (directories), or how can I find out their mounting points?

Both "internal storage" and "phone" store "Apps (app data & media ...)". What are the differences between the apps stored on the two places?

Where are the firmware and OS (Android) stored in my phone, "internal storage", "phone", or somewhere else?

The total space of "internal storage" is 4.42GB, and the total space of "phone" is 1GB. But the website says I have 8GB "internal". Is it correct that there are still 8 - 4.42 - 1 = 2.58GB left? Has the remaining 2.58GB been used to store some files? If yes, what files are stored there, or how can I find it out? Is the remaining 2.58GB a partition (and thus a file system)? What is or how can I find out its mounting point?
3. Output of Diskinfo (under the expert setting, unmounted and other partitions checked)

The sum of the listed partitions' sizes is (800+643)MB + 4.5GB + 1GB = 1.41GB + 4.5GB + 1GB = 6.91GB, which is still smaller than 8GB "internal" given by the shopping website.
4. Output of `df`

```
 $ df
Filesystem               Size     Used     Free   Blksize
/dev                   672.6M   128.0K   672.5M   4096
/sys/fs/cgroup         672.6M    12.0K   672.6M   4096
/mnt/asec              672.6M     0.0K   672.6M   4096
/mnt/obb               672.6M     0.0K   672.6M   4096
/system                786.5M   768.0M    18.5M   4096
/data                    4.4G     3.6G   802.9M   4096
/cache                 632.1M    25.7M   606.4M   4096
/persist                 7.8M     4.8M     3.0M   4096
/firmware               64.0M    56.9M     7.1M   16384
/sysprop                 7.8M     6.0M     1.9M   4096
/carrier                19.6M     4.0M    15.6M   4096
/mnt/media_rw/sdcard0: Permission denied
/mnt/secure/asec: Permission denied
/storage/sdcard0         1.9G   170.4M     1.7G   32768
/mnt/media_rw/sdcard1: Permission denied
/storage/sdcard1      1023.7M   825.6M   198.1M   16384

```

The sum of the file systems' sizes is (672.6\*4 + 786.5 + 632.1 + 7.8\*2 + 64 + 19.6 + 1023.7)MB + 4.4GB = 5.11GB + 4.4GB= 9.51GB (note I convert from a MB value to a GB value by dividing MB value by 1024. I also didn't add `/storage/sdcard0` into the sum , which is for the external SD card). It is greater than 8GB "internal" shown by the shopping website. Why is that?

The sizes of `/system`, `/cache` and `/data` given by `df` are 786.5M, 632.1M and 4.4G, while the sizes of `System`, `Cache` and `Data (userdata)` given by `Diskinfo` are 800MB, 643MB and 4.5GB. why do they not match? (The size of `/storage/sdcard1` given by `df` and the size of `SD card (internalstorage)` given by `Diskinfo` match. )

Thanks.

# Answer
**Note:** this is a partial answer.

---

> The 1.5GB RAM isn't part of the 8GB "internal", correct?

Correct. RAM is not considered part of internal storage, so it is not part of 8GB storage space.

> Are "internal storage" and "phone" two partitions (and thus two file systems)? If yes, what are their mounting points (directories), or how can I find out their mounting points?

In your device, yes, they are two separate partitions. However, the terms shown in your device are confusing. Phone is also part of Internal storage. In my device, the Internal storage is listed as Phone Storage and Phone is listed as Internal SD card.

<sub>(**Note:** the trend nowadays is to have a single userdata partition and a completely logical internal SD card partition. See the related info: Confused by the many locations of the virtual /sdcard/ )</sub>

Often, the Internal Storage (which here implies the `userdata` partition mounted at `/data`) is formatted with EXT4 filesystem and Phone (which here implies the Internal SD card) is mounted under `/storage/` usually, but not limited to, at `/storage/sdcard1`. This partition may either be formatted with EXT4 filesystem or a variant of FAT filesystem. You can check the filesystem type by issuing the command

```
mount | grep -e /data -e /storage/sdcard

```

Dummy output

```
/emmc@usrdata /data ext4 rw,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/vold/179:8 /storage/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

```

Next to `/data` and `/storage/sdcard1` (the mount points) here is the filesystem.

You can also see the filesystem by tapping the particular partition entry in DiskInfo.

> Both "internal storage" and "phone" store "Apps (app data & media ...)". What are the differences between the apps stored on the two places?

As per the info here, an app will always have its *private* data saved inside the Internal storage (under `/data/data`) regardless of the app being installed under Internal or External Storage.

For finer details, see answers for Installing to SDCard by default and Where in the file system are applications installed?

If the device supports USB Mass Storage for data transfer, once it is activated all the apps installed in the external storage would be unavailable for usage. This is a major difference between the two types. The other one pertains to available space. Internal storage compared to External storage, cannot be replaced or upgraded.

> Where are the firmware and OS (Android) stored in my phone, "internal storage", "phone", or somewhere else?

Android OS is stored under System partition and is mounted at `/system.` All the rest of the partitions (excluding External storage and tmpfs mount points) are accounted for what you can refer to as firmware.

---

Now the important stuff. For DiskInfo, 1GB=1024MB (per this answer).

Considering all the screenshots of DiskInfo, my calculation gives me 1803MB, 5.5GB and 512KB. Using 1024 units as a base, the grand total is 1803\*1024\*1024 + 5.5\*1024\*1024\*1024 + 512\*1024 = 7,796,686,848 bytes.

As per Gigabyte wiki article (further confirmation), for storage 1GB=1,000MB and not 1,024MB which is often used only for memory, such as RAM. Therefore, the size of your overall ROM in bytes is 8GB = 8\*1000\*1000\*1000 = 8,000,000,000 bytes.

The difference here is of 203,313,152 bytes or 193.9MiB or 203.3MB.

It is something that I'm unable to figure out even when all the partitions and their sizes are listed here. Perhaps somebody else might!
> 2 votes

# Answer
They say 8gb storage since it looks cool, the true applicable size is smaller (i have 32gb Nexus 5 yet i have only 27gb free storage according to file manager) - same goes with any Flash disk you buy.

(if I am not wrong its because of the difference between GB and Gb)

Anyway you have 1gb of internal storage which is part of the 8 gb space and is used for apps and its data. The rest (4gb) is internal storage for any kind of data / files.
> 1 votes

# Answer
1. No, the 1.5 GB of RAM is not part of the 8 GB internal. Your internal memory is used to store your apps and files until you decide to delete them. Your RAM is used to store your apps and files *temporarily* WHILE you run them.
2. (and 3) I'm not so sure about where your OS is stored. Most (if not all) storage devices have a deficit of that sort. Storage manufacturers usually count disk space as if (1 GB = 1,000,000,000 bytes), rather than the real value of (1 GB = 1073741824 bytes). Because of this, your drive will only have about 7.45 GB of usable space. (8,000,000,000/(1024\*1024\*1024))GB. Your OS will also use some of the space that is inaccessible by you, which is why you have only about 5.4 GB of usable space. Your **Phone** and **Internal** are probably two partitions. I don't see any `Apps and Appdata` on your **Phone** partition. I assume `Internal Storage` is being used for the phone's activities, while `Phone` is being used for your activities (The things you download, your photos, et cetera)
> 0 votes

---
Tags: internal-storage
---


# Question
Title: How to search in files content using terminal emulator?
I have tablet with android 4.4.2. The tablet is rooted. I want to search for a string in the files in the whole file system. I tried to use the 'find' command but it didn't work. What command i can use to implement this search and is it possible to install 'find' command line tool on android?

# Answer
I found that this command is working: `grep -r "search string" /`
> 1 votes

---
Tags: terminal
---


title: Exclamation sign on network bars

text:
# Question
Title: Exclamation sign on network bars
Why do I get bang sign on network bars and WiFi option... Pls tell me what's this all about. Earlier I was using Android KitKat 4.4.4 on moto g2 and I had nonsuch issue there however since I updated to Android lollipop I usually get these bang signs over network bars and WiFi option (if I turn on WiFi)

# Answer
> 0 votes
I think it means that you are currently using cellular data. if using wifi data then bang sign dissappears. a new feature on lollipop

# Answer
> 0 votes
If its showing exclamatory symbol it means your mobile is loading network or no network on your SIM

# Answer
> -2 votes
It may be the problem in Android or in your network connection. Make sure you are using Official Android. It happens mostly in Unofficial Android on Rooted Devices..!

---
Tags: 5.0-lollipop
---


title: SMS shows up in alert box. Why?

text:
# Question
Title: SMS shows up in alert box. Why?
I have recently been using a particular 2-step authentication system and there is something odd about the SMS messages I am sent which I have never seen before.

When I receive and SMS from the system, there is no notification, and the message does not immediately show up in my hangouts inbox. Instead, the SMS pops up as an alert dialog over whatever I am doing with the phone at the time with the option to "Cancel" or "Save". If I tap "Save", the message is then stored in hangouts and I get a notification.

What I would like to know is why this happens. Is there a (rarely used) part of the SMS specification which provides this functionality? Is this 2-step auth system making use of that? Perhaps setting a flag in the header or something?

**EDIT**

I am running Android 5.0.2 and the default SMS app is Google Hangouts. I'd like to be clear though that this *only* occurs when receiving texts for this particular 2-step authentication process. All other messages are received as normal.

# Answer
> Is this 2-step auth system making use of that?

Could be, in order to be sure, we need details on the application. Open the config tool, check the application that is creating the confirmation box, and check if that app has access to read your SMS.

> Perhaps setting a flag in the header or something?

There are no "headers" in the sms PDU. They can either filter by "sending number" (the number from the SMS sender), or by filtering words inside the message. Check if the received message always starts with something such as "X company says..."

> What is going on?

Again, this is speculation, since we saw no details on your problem. But...

It is possible to intercept SMS messages, read then, check for a condition, then use an ordered broadcast to open an application, and given a specific condition, become the default sms app, stop the continuation of sms delivery intents, and erase the message, then stop being the default app, or just let it fly onwards...
> 0 votes

---
Tags: sms
---