# Question
Title: How to differentiate between two LINE friends with the same name?
Most users of the LINE messaging app have nicknames and profile pictures showing cats or characters.
Also, people switch names and pictures often, and profiles contain almost no info.

As a consequence, it can be very difficult to remember who is who:

---

---

Is there any way to differentiate between the two?
The long-press menu does not reveal any labelling/metadata option. In the UI there is no visible ID or anything similar.

# Answer
> 1 votes
A solution is to rename your contacts:

1. Run the app
2. Select a contact
3. Select their name in the panel that appears
4. Click the pen icon as seen in the screenshot below
5. Edit their name to add for instance "(colleague)" or "(from the gym)"

---
Tags: line
---


title: Fake Phone Number

text:
# Question
Title: Fake Phone Number
Nothing dishonest. I do not want the world to have my phone number when texting. Can I use a fake number to text from my laptop or cell phone Android S4. Verizon I tried textfree but can't make it work no matter what I do. Thanks For Your Help.No opinions please just suggestions. Thanks so much.

# Answer
There are certainly ways to send a text without revealing your actual phone number, as spamming telemarketers have proven (we won't stoop to their level, however).

One way is simply using an app like Private Text Messaging & Calls.

A Google search found this interesting article.

Another way is to use Google Voice. Here is an excerpt from the support page: "You can send and receive text messages using your Google Voice number on the Google Voice website, in the Google Voice app, through your SMS messaging app, or through Hangouts." With Google Voice, you can create and use a totally different phone number right on your device.

Hope this helps!
> 1 votes

# Answer
Yes and no.

You cannot fake a number from an actual phone using a a network provider. The most you can do is hide your number from being sent, as it is handled by the network, not your phone. But, since you asked about texting, then the following applies:

You can, however fake a number from a text. Ever phone number has its own email address. Usually `phonenumber@networkprovider.com` or something. You can email a device that way, and fake your source phone number - you could even change the phone number to a word or phrase. But, note, it wouldn't be possible to receive any reply from the person you message.

A quick Google search should show various websites that provide a free hidden texting service. I am also in development of a site like this.
> 0 votes

---
Tags: hardware
---


# Question
Title: Turning my mobile into wifi hotspot using computer connection?
I know that my mobile can turn into a hotspot using a configuration option. I know that my PC can use my mobile internet through the usb cable.

But is the other way possible ? Can my mobile use my PC internet connection and then broadcast it as a hotspot ?

# Answer
If you're using a PC with Wi-Fi, you don't need the mobile to create a hotspot: How to Turn Your Windows PC Into a Wi-Fi Hotspot

You should also be able to use this method if you're getting the Internet connection on your PC through a mobile device via USB.

Hope this helps!
> 1 votes

---
Tags: usb-connection-mode, wifi-hotspot
---


# Question
Title: Samsung Galaxy s5 receiving MMS as group messages?
I have a new Samsung Galaxy s5 which I like however when a single contact decides to message me an MMS (picture/video) my messages start a whole new message thread as a 'Group message'.

I just want the single message thread to continue with the same person when I received a MMS (picture/video) from that contact. Is there a way of making this happen via settings or something?

Much Love!

# Answer
> 0 votes
I recommend you change application to another is the simplest thing to do. You can find them on google store, one of the best is Textra (in my opinion).

---
Tags: samsung-galaxy-s-5, mms
---


# Question
Title: Suddenly no data connection with S3 4.3 Jelly Bean
Tonight my SGS3 suddenly stopped having data. Nothing has changed with regards to the APN. It just stopped.

My girlfriend who's on the same carrier has no problems although she has a postpaid subscription and I am using a prepaid sim. (Carrier still handles the same APN though). Just to be sure I have tried looking up her APN settings for comparison but discovered that the carrier is hiding those on the iPhone.

Other things I have tried:

* airplane mode on/off (many many times)
* apn settings from carrier for pre 2005 phones (gprs)
* reboot (many many times)
* soft reset
* factory reset

Nothing works... sms, calling everything is working but just no data connection.

Anyone has any ideas on what this could be and/or how to fix it?

# Answer
> 0 votes
Try to backup your data and perform a factory reset while keeping in mind to take out the micro sd card as it will be erased too.

---
Tags: internet
---


# Question
Title: how can I have my you tube music playlists available to play on my galaxy xcover even when I have no Internet connection?
Can I have a play list transfered from my you tube account on to my actual phone to use when I have no Internet connection? What do I have to do? - im a tech no spaz!-please help me thanks

# Answer
There is no possibility of using youtube without an internet connection. Youtube doesn't even allow you to play music and such wil the screen is off.

You would need to have a playlist on your phone in order to play a bunch of songs.
> 0 votes

---
Tags: samsung
---


# Question
Title: why any android office software can not play ppt properly
I am having hard time to play ppt in android device, although many applications boasts for it, but on playing either they show blank slides or skip some parts ex:- title etc for some slide so any one know why this happen and how can I get rid of it ? Although I know easiest way is to make video from ppt and show on android device but for that we need acccess to pc.

# Answer
Try Microsoft PowerPoint for Android. It pretty much can do what its PC counterpart can.
> 1 votes

---
Tags: applications
---


title: 2014 moto x battery life

text:
# Question
Title: 2014 moto x battery life
I'm experiencing an issue with my 2014 Moto X's battery running Android 5.1 and I was wondering if someone have any suggestions or something ...

for example, yesterday I had about 30% left of my battery when I launched "Real Racing 3" game to play and right before game even get to load, my phone powered itself off( since it was on 30% mark before, I decided to start it again, one phone finished booting I noticed my 30% went down to 5% and shortly after that phone powered itself off again, when I plugged in my phone into a charger and almost immediately my phone reported 30% mark on my battery...

today i let my battery completely die (it was about 10% when phone powered itself off) and I just finished charging it completely as well, but something tells me that isn't gonna fix anything...

any advise?

# Answer
> 0 votes
Even though you already drained the battery and recharged it, I would recommend doing it once more (except let the phone die), just to recalibrate the battery. After that, check out what is eating up your battery in the settings. Try playing with the different radios (BT, WiFi) and seeing what effect each one has. If all of these don't work, try getting a new battery under warrenty or buying one and replacing it yourself (I would try Motorola Moto X 2nd Generation Battery Replacement - iFixit)

If ALL of these don't work, then 5.1 is messing with your phone (even though I have a Moto X running 5.1) and try installing a rom of 5.0.1 or even something else like cyanogenmod.

Good Luck!

---
Tags: battery, charging, battery-life, moto-x
---


# Question
Title: Is there a way I can prevent the back button from going to the home screen?
One of my pet hates about Android is the back button. It is fairly unpredictable what it will do.

Depending on where you are, it can do one of three things:

1. take the user up a page in the same app
2. take the user back to a previous app
3. take the user back to the home screen

Normally, I think the 1st and 2nd scenarios generally work pretty well. Even through I'm not sure where it's going to go, 90% of the time, it'll take me to where I want to go.

The last scenario is very frustrating and happens exclusively when I didn't realise that I was already on the first page of my app. It just dumps me on the home screen and I have to figure out how to open the app again. As far as I'm concerned I can't see any good reason for ever taking the user to the home screen when they hit the back screen - especially since there is a home button right next to the back button for that purpose.

Anyway, I want a solution to this. So is there some sort of app or some sort way I can program Tasker or another automation app to either

1. override and cancel the Back button action if it'll take me to the Home screen. Either have it do nothing or display a message
2. just disable the back button altogether if clicking it will take me to the home page.

I'm on Lollipop and unrooted.

However, although I want an actual solution for myself, I'd be interested in hearing of any solutions that are rooted or on other versions too.

# Answer
> 2 votes
Well, this is still (after investing so many hours) a half-baked (aka partial) solution. You want a message, you'll get a message. :) **We need root access for the solution**.

**Note**: Tested the solution on Android 4.2.1 but works on 5.0 as well.

---

At this point of time, the message will be received as a Toast and it has no effect on Back key.

For the purpose of example I'm using ES File Explorer and BetterBatteryStats to display a message on their default screen.

1. Fire up Tasker and enable it.
2. Go to **VARS** and create a variable as `+``%Catch` (you can use a different name but keep the first letter capital (global variable)). Similarly, create another one with name `%Any`.
3. Create a profile with application context and select **ES File Explorer**.
4. Create a task under the above profile and then an action inside this task as `+`**Code→ Run Shell** and enter these details:

* **Command**: `dumpsys activity | grep mFocusedActivity | cut -d ' ' -f 6 | cut -d '}' -f 1` -- this command will output the focused activity (current app launched with its activity).
    * Check **Use Root**.
    * **Store Output In**: `%Catch`.
    * Save this action.
5. Create another profile with application context inverse of **ES File Explorer**.
6. Create a task under the above profile and then an action inside this task as `+`**Variables → Variable Set**, and enter these details:

* **Name**: `%Catch`
    * **To**: `The` (you can put any word)

This step will make sure that the variable `%Catch` doesn't hold the value (provided in during execution of step 4) after the profile in step 3 becomes inactive.
7. Create a last profile under **Event → New Window** and choose `Full Screen` under **Window Type** -- I earlier had Toasts even for dialogs on Main activity. Full Screen option will avoid it.
8. Create a task under the above profile and then an action inside this task as `+`**Code→ Run Shell**, and enter these details:

* **Command**: `dumpsys activity | grep mFocusedActivity | cut -d ' ' -f 6 | cut -d '}' -f 1` -- this command will output the focused activity (current app launched with its activity).
    * Check **Use Root**.
    * **Store Output In**: `%Any`.
    * Save this action.
9. Create another action in the same task as `+`**Alert → Flash**, and enter these details:

* **Text**: `Don't back Disk :/` -- this is the message that will be displayed in the Toast. Choose wisely!
    * Tap `+` corresponding to **If** and enter `%Any` `eq` `%Catch` -- we're comparing the main activity name for our selected app with any window Android will open. If it matches, you'll see the Toast. Now you can see why we needed an extra "inverse app context" profile in step 5.
10. Save everything and enable all three profiles.
11. Note that I had to shift my Superuser app's root access Notifications from Toasts into Status bar notifications because the third profile will need root access every time Android will launch a window. Make sure you either disable your Superuser client's Toasts or change them into Status bar notifications. It was an invasive stream for me!
12. Anyhow, launch **ES File Explorer** and see the magic. The default screen of this app will show a Toast to you. You open any other activity and it won't bother you. Come back to main screen of it and see the Toast again.
13. You can have this behavior for multiple apps. Just choose your app in the profile we made in step 3 and 5. They are supposed to be added in **OR** context like `ES File Explorer or BetterBettaryStats` and `Not BetterBatteryStats or ES File Explorer`.

## Some screenshots:

(Click any image for its larger variant)

→  →

(No toast for any other app) (Default screen for BetterBatteryStats)

→  →

(No toast on dialog on same screen) (Dialog closed and toast came back on main screen)

→  →

(Toast on Default screen of ES File Explorer) (No toast on dialog of the same screen)

(Toast came back as soon as dialog disappeared)

---

## Commentary

* The aforesaid solution didn't work on my device satisfactorily if the app remained in recent list (but OP is not concerned with it) and you happen to open it again.
* You can get rid of app (and inverse) context based profiles if you use a string in step 9 in place of `%Catch` like `com.estrongs.android.pop/.view.FileExplorerActivity` (Main activity of **ES File Explorer**). The solution will be reduced to two steps. :D

However, I would like things to be automated here, so why bother especially when you want to select multiple apps for the toast!

### What else?

* Every device more or less has a keylayout under `/system/usr/keylayout`. In my device the generic layout is named as `Generic.kl`. The relevant key is mentioned at

```
key 158 BACK    WAKE_DROPPED

```

If you put `#` in front of it and restart the device then the back key would be disabled. To remain at safe side, I swapped it with Meny key (`key 139`).

This swapping can be very beneficial in Tasker. Unfortuntaley, the changes take effect only at next reboot which is very counterproductive for our goal. Let me know if it can be done without a reboot!
* Xposed Additions(requires Xposed Framework) can remap or disable the Back key *et al*, but it has no explicitly callable activities (relevant to the goal) which can be utilized by other apps. Also, it doesn't even seem to store a database or a preference file. So I couldn't use it with Tasker to achieve the goal.
* Secure Settings (another Xposed module) has an option named **Kill back button** but it seems to be available for Custom ROMs and so, I couldn't test it. Some folks say it does work and I too saw the plugin useful for the goal. Check it out if you've a custom ROM.

**I'm open to Ideas here!**

# Answer
> 1 votes
I could not figure out the way to find out when an app would dump you to home screen if you press the Back key unless you launched the app from App Launcher. But, I can make sure that the Back key gets disabled if only your app is showing its main/first page. We need Tasker and AutoInput to do the job. The latter gives 7 day trial (full access).

**Note: Root access is required for the following method**.

First, we need to find out the name of main activity of your app. You can try an app like QuickShortcutMaker to show the main activity of an app.

(Click image to enlarge)

The format is `<PKG_NAME>/<MAIN_ACTIVITY_NAME>` like `com.android.chrome/com.google.android.apps.chrome.MAIN`

Alternatively, you can use to do the job (Busybox required) provided that you know the package name (PKG\_NAME) of the app,

```
adb shell
dumpsys package PKG_NAME | grep -A1 "android.intent.action.MAIN:" | awk '{print $2}' | tail -n 1 | tr -d '/'
```

Now that we've got the main activity let's proceed towards Tasker.

## Instructions for Tasker and AutoInput

1. Enable Accessibility service for both apps from **Setings → Accessibility**.
2. Go to Tasker → **Tasks** and create a task named `Disable Back Key`.
3. Create following actions inside it:

1. **Code → Run Shell**,

    1. **Command**: `dumpsys window | grep "mCurrentFocus" | rev | cut -d '/' -f 1 | tr -d '}' | rev`
        2. Check **Use Root**
        3. **Store Output in**: `%CurrentFocus`

    We are simply storing the activity currently in focus.
    2. **Task → If**,

    * `%CurrentFocus` `eq` `MAIN_ACTIVITY_NAME`

    Change `MAIN_ACTIVITY_NAME` with the activity name you noted earlier.
    3. **Plugin → AutoInput → Modes**,

    1. **Configuration**:

        1. **Key Suppress**: Enable
            2. **Keys**: Back
        2. **Timeout (Seconds)**: None
    4. **Task → Else** → repeat last step but change **Key Suppress: Disable**.
4. Create an event based profile from **Event → UI → New Window**,

1. **Window Type**: Full Screen
    2. **Priority**: Highest
5. Link the task `Disable Back Key` in it.
6. Rename the profile to `AutoInput disable Back Key`.
7. Create a separate new task named `Enable Profile`.
8. Create action 3 of step 3.
9. Create another action from **Tasker → Profile Status**:

* **Name**: choose `AutoInput disable Back Key`
    * **Set**: On
10. Create one more task named `Disable Profile`.
11. Repeat step 9 but change **Set: Off**.
12. Create action 3 of step 3 but change **Key Suppress: Disable**.
13. Create an application based profile from **Application** → YOUR\_APP,

1. Add **Enable Profile** as **Enter Task**
    2. Add **Disable Profile** as **Exit Task**
14. Deactivate **AutoInput disable Back Key** profile because we don't want to use CPU all the time in processing this profile on every new window formation by Android.

This is it. Launch the app you selected earlier and you would find that the Back key doesn't work when the main activity of your app is opened. Go to any other activity of the app like preferences or settings and Back key would come back to normal usage.

---

There is somewhat good news and bad news for owners of non-rooted Lollipop devices.

*Good news*: The said method can work without root access as well. running in wireless mode and connected in loopback can do the job.

*Bad news*: There are too many booby traps in using it and I cannot (read: don't have time) work on to take care of them.

Do post an answer if you get rid of issues with .

# Answer
> -1 votes
The third scenario is the case where you hit the back button when you are the main screen of an app. Some app or games confirms the exit of the app with yes or no option..some do not have that..it will bring you back to the menu drawer or the home screen if you have launched it from the home screen or notification bar. So thats normal. If you are in the main activity screen of an app I would expect to show the home screen if i press the back button. Thats seems intuitive for me. And if back button exits an app without any confirmation you can still find it in the recents tab.

However in Lollipop you have Screen Pinning option available under Settings-\> Security which allows you to stay in that particular app and back button will be disabled until you unpin the application. And you wont be able to come back to the home screen on pressing the back button from that application. But you can't switch from one application to another application without unpinning the current app.

If you feel you dont require the default back button actions anymore, Here is a related app in PlayStore. Back Button(No Root). You can turn off/disable the virtual or navigation bar back button completely if you want to using this app. The floating bar back button work fine in Lollipop but I was not able to enable the Navigation bar since it doesnot work on android versions 4.4.4 or later.

Screenshot (Click to enlarge)

---
Tags: buttons
---


# Question
Title: Xperia Z3 boot loop after TWRP installation
My Xperia Z3 was running Android 5.0.2. The model is D6653. I didn't check the firmware build number.

I followed these steps.

Everything was successful with no errors.

```
➜  Sdk  sudo $(which fastboot) devices
[sudo] password for eric:
➜  Sdk  sudo $(which fastboot) devices
CB5A276UDL  fastboot
➜  Sdk  sudo $(which fastboot) flash boot ~/Downloads/bootZ3monxtest01\ \(1\).img
sending 'boot' (13056 KB)...
OKAY [  0.413s]
writing 'boot'...
OKAY [  0.875s]
finished. total time: 1.288s
➜  Sdk  sudo $(which fastboot) reboot
rebooting...

finished. total time: 0.051s

```

Now my phone is just flashing TWRP logo repetitively - I cant' go into recovery. ~~I can't even get into fastboot mode anymore so I can't execute any more commands from my computer.~~

I'm using a Ubuntu laptop.

What should I do e.g. try to install another recovery like this one?

# Answer
I got into fastboot again, flashed another boot image containing CWM recovery (I don't think TWRP is to blamed but I just want a clean start).

The same issue happened as with TWRP boot image - I could not boot into system normally even after wiping data, cache partition and dalvik cache. I can only boot into recovery.

So I transfer a pre-rooted rom through `adb push` while the phone is still in recovery mode. Then I performed **install zip** and I got my phone rooted with Android Lollipop 5.1.1.
> 1 votes

# Answer
Now that you can enter into fastboot, you can execute the commands below
`fastboot flash recovery ~/Downloads/bootZ3monxtest01.img`
and `fastboot reboot` and install a custom rom.

`flash boot boot.img` is used to flash kernel images.
boot.img is a file which contains kernel and ramdisk.

More on Boot & Recovery images can be found here
> 3 votes

# Answer
You flashed to the boot partition, while you should have flashed to recovery partition. To fix, grab the boot images, boot in to fastboot and flash the boot image to the boot partition. To install TWRP correctly switch "boot" out with "recovery" in the commands. Since you can't get to fastboot the only solution for you would be something like this: http://forum.xda-developers.com/showthread.php?t=2646405
> 1 votes

---
Tags: boot-loop, twrp, sony-xperia-z3
---


title: smartphone as a USB ramdisk

text:
# Question
Title: smartphone as a USB ramdisk
Is it possible to use an Android device (like a smartphone) as an USB ramdisk?

Basically i'd like to have the PC accessing a `tmpfs` on the smartphone as a (virtual) USB mass storage device, so data gets written on the smartphone RAM instead of the flash memory.

This could have many use cases:

* emergency swap space for PCs with low RAM
* temporary storage for privacy sensitive-data
* fast storage for temporary files (alternative to a native ramdisk wasting PC RAM)
* PC USB interface benchmarking

# Answer
USB Share does the trick by creating a virtual usb image in `/mnt/secure` (which is mounted as `tmpfs` on my Android 4.2 OS). Then, mount and share the image with RW permissions.

Side note: i've found my OS also mounts a `tmpfs` on `/sdcard/.android_secure` but when connected as USB mass storage the files get written on the flash memory instead of the `tmpfs`.

If you know a better solution not requiring any commercial app please let me know!
> 1 votes

---
Tags: ram, usb-mass-storage, temp-files
---


# Question
Title: A swipe on status bar opens on quick setting instead of notifcation panel
In short: any idea how to set a swipe on the status bar to open the notification panel, not the quick settings one? (It was the default setting before I installed/uninstalled an app)

The whole story: Samsung Galaxy SIII 4G GT-i9305, Android 4.4.4, **rooted** Nova launcher

Xposed messed up my settings. Before I intalled this app the notification panel, was fine, it opened the notification panel by default (not the quick setting one). So I had this panel:

Now when I open the notification panel, it opens on the quick setting panel so I have to click on the lines icon (top right) to get back to the notification panel.

This is annoying. I did restart, pull the battery, restart, pull the battery, but the change made by Xposed remains: my notification panel open on the quick setting panel. See here:

**I'm not looking for an app**, but the right file I should edit to get back the settings I had before installing stickmount. **Any idea what files could have been edited, could keep this setting modification even after uninstalling the app?**

Thanks for your help!

**EDIT: in Safe Mode, the problem is solved because the Xposed update is removed**

# Answer
> 2 votes
1. Putting the phone in Safe Mode (when swipe down in the status bar, it open the notification panel)
2. Restart the phone in normal mode

If this doesn't work, first go in recovery mode and swipe cache and then redo the 2 steps above.

The safe mode actually remove the Xposed update, so I can't have both Xposed and the notification panel with a simple swipe.

P.S: I didn't try Adem answer (I don't have a backup of the build.prop).

# Answer
> 3 votes
Maybe it's some **TouchWiz bug** and if you can't figure out what's wrong, you could use a third party app called Color Status Bar. It has some themes built-in for notification panels.
Or you could also have a look at some modded TouchWiz-like notification app in this XDA thread

**EDIT:**
If the issue is solved in Safe mode, then its evidence that downloaded app caused the phone to behave that way.
Safemode allows you to boot up your device with only the core pre-loaded applications running, meaning any apps you’ve downloaded won’t be running.
Copy the build.prop to external sdcard when in safemode and compare it with the build.prop when the issue occured. That will give some insight on why it might've occured.
Restore that build.prop, if the issue is still not solved in Normal mode.

# Answer
> 1 votes
Try to restore your `build.prop` to original. Worked for me.

# Answer
> 1 votes
If you Nova launcher Prime, check whether swipe down gesture is attributed to Quick settings or not.

Nova Settings -\> Gestures & Inputs -\> Swipe down.

---
Tags: samsung-galaxy-s-3, notification-bar
---


# Question
Title: Is it possible to use a Google Play Gift Card with In-App billing and purchases?
I have installed the free version of an app on my phone from Google Play. Now I want to purchase the full version of that application using in-app billing or purchase option already available in that application.

I don't have a credit card, but I have already purchased Google Play gift cards, and I want to pay for the in-app purchase with a gift card.

Is this possible, and if so, how?

# Answer
It is possible

just click through the in app purchase dialog and there will be a "redeem" button. if you click it, you can simply enter your code and that's it.
> 2 votes

---
Tags: google-play-store, in-app-purchase
---


# Question
Title: How to get Jelly Bean Camera to use external SD card?
I just purchased a 32 GB SD card for use with my Galaxy S3 which is running a 4.2.1 rom. Certain apps like Titanium Backup I was able to switch to start using the SD card just fine, but I can't for the life of me find a setting anywhere for the camera to start storing videos/photos there. Is this possible?

I've googled lots, but all I can find is directions for older versions of Android, which aren't applicable to my setup.

# Answer
> 1 votes
Here's how I did it:

1. Go into Camera as if you were taking a picture
2. Go into Settings (gear) on top left
3. Scroll down to Storage
4. Change to Memory Card

# Answer
> 0 votes
Just in case you haven't found the setting for this, I stumbled upon it tonight on my 4.2.1 phone. I'd previously set it without realising (only just made the move over to Android) and after removing my SD card the other day, I found after I re-inserted it into the phone it would only save to the internal flash memory... I couldn't for the life of me figure out what I'd done!

Finally figured it out:-

Go to the main Android system settings menu and select Storage. The very top option is to select the default write disk - set this to SD card and back out of the menus.

Job done. :)

Cheers,

Nick

# Answer
> 0 votes
Long press the screen when in camera, this will popup a menu, within there u can select settings, and change storage to sdcard. You can also press the flashlight button on the right to get that menu.

# Answer
> 0 votes
Change the Default Write Disk from Phone storage to SD card. Android Setting-\>Storage-\>Change the Default Write Disk

---
Tags: 4.2-jelly-bean, camera, external-sd
---


# Question
Title: Any way to auto close Chrome when closing the last tab?
I have been using the stock Android browser for several years and I am trying to make the switch over to Chrome. The one major annoyance I have with Chrome is that the browser doesn't automatically close when I close the last tab like it does in the stock Android browser. This may not seem like a big deal, but I tend to use a lot of apps that open web pages. With the stock Android browser, closing the last web page will auto close the browser and return me back to the app I was using. With Chrome, I have to manually close the browser or manually switch back to the app I was using.

Does anyone know how to make Chrome automatically close down when I close the last tab? If not, is there another good browser that works this way?

# Answer
For **Dolphin** browser, use the phone MENU button and chose EXIT

For **Firefox**, install the `Quit Now` add-on and use the new QUIT button in the menu.

For any **other TAB browser**, close all TABs prior to push BACK in order to exit.

For any **persistently running browser**, use the task manager to kill it.
> 1 votes

# Answer
I've never been a fan of Chrome. It lacks too many features compared to other browsers.

Anyway, most browsers support tabs and have an x symbol on the tab. Normally, the browsers remain open even if close all tabs. There is always 1 tab that remains open, and it won't close even if you click the x symbol. You'd have to click the back button to close the browser.

Among the browsers I use - about 4 of them - Maxthon behaves differently. It doesn't exactly do what you want, but if you click on the x symbol, it acts as a back button. So if there's only 1 tab open and you press it twice, it will exit the browser.
> 0 votes

# Answer
At least in Chrome 39, it works out of the box. Just click the x close button on the tab and then browser quit.
> 0 votes

---
Tags: browser, chrome-for-android, stock-browser
---


# Question
Title: Mediaserver using excessive CPU time and battery
I've got a Nexus 4 on OS version 4.2.1 that suddenly started to drain it's battery very quickly. When looking in the battery usage I see "Mediaserver"eating 60% of the battery over time, with several minutes of CPU time logged and several *hours* of Keep Awake time. Typically the screen, phone idle or other services eat up the majority of battery life.

I tried closing all apps and charging it up, and sure enough overnight it still drained significant battery, again Mediaserver was the culprit as reported in the Battery usage chart; it had kept the device awake *all night* and drained 10% of my battery despite zero use. I haven't added a large number of files and I'm not playing music/etc so Mediaserver shouldn't be doing very much on the drive.

How can I stop Mediaserver from eating my battery life like this?

# Answer
> 8 votes
Killing all running apps didn't solve the problem, nor did disabling the automatic sync for Google account items like videos/photos (which I heard suggested for a similar battery issue).

What *did* work was simply rebooting the device by holding the power button and picking shut down. After rebooting Mediaserver no longer appears to use much of my battery in the usage chart and my charge lasts like it always did. So if you get the same issue, just reboot.

# Answer
> 7 votes
The Mediaserver process scans your device for media files to add to your library. However, the 2012/12/12 (perhaps some more) gapps version is broken and gets stuck in an infinite loop on unfamiliar files on your phone. This directly translates to battery drain and is bad for the lifetime of your battery and other phone components. When running your phone for the first time or when starting media applications, the Mediaserver is invoked and will commence the horror.

**How to fix:**

* Reboot phone and do not start a media application.
* Put a `.nomedia` file on your SD card root to prevent library search, thus preventing Mediaserver from getting stuck. This means no media library!
* Wait for the glorious Google to fix this anomaly.
* Downgrade your Android firmware + gapps to a version which lacks this bug.
* Use an iPhone/Windows Phone
* Modify the gapps (Mediaserver.apk) to support all kinds of files normally. (advanced + time consuming)

# Answer
> 2 votes
I think I may have figured out the cause and a makeshift solution for this bug, at least one that (finally) works for me, and that I have not seen mentioned often elsewhere.

On my tablet (Nexus 7 2nd gen), I had seen the mediaserver bug very often and practically given up trying to solve it.

However, on my phone (I9505G aka SGS4 GPe), I hadn't seen the bug once. Both devices were running 100% stock Android 4.3. Then one day I noticed the bug rearing its ugly head on my phone too. I hadn't copied ANY new files to the device recently, so that threw any theories about "corrupt media files" out the window. I racked my brains and realized the only thing I'd done differently in the past 24 hours was played a game (Rayman Jungle Run) on the phone, which I usually only use for calls, emails, and e-books. On my tablet however, I play Rayman Jungle Run often.

So, I just ran this sequence of tests on both my phone and tablet, with the same results.

* Full charge. Fresh boot. Run for several hours. RESULT: No mediaserver drain.
* Launch Rayman, play for 1 minute. Return to home screen but do not force close the app. Wait a little while. RESULT: Mediaserver drain begins.
* Force close the Rayman app (I used an Elixir shortcut to do this, but using the apps menu should work fine). Wait a couple hours. RESULT: Mediaserver drain has stopped!

I did a lot of searches on the web and only found one other reference to similar phenomenon, and that post referenced the Rayman game as well as another game called Super Hexagon or something. The apparent lesson here is that certain apps have the ability to trigger the mediaserver bug. In my case at least, it has nothing to do with what media files I have on the device, or what Google services I allow/prevent running (these are both things I see frequently quoted as supposed solutions).

I would also hypothesize that if you have an app which triggers the mediaserver drain, and this app autoruns at startup or any periodic time intervals, then the only surefire solution in that case would be to uninstall the app, unfortunately. This could explain why some people do not find that rebooting helps... if the offending app runs at startup, of course the drain will begin right away also.

# Answer
> 2 votes
Just kill the media server process. I created a shortcut which runs a command line and kills it

```
kill pidof /system/bin/mediaserver

```

or on other devices,

```
kill mediaserver

```

# Answer
> 1 votes
I had the very same problem with Android 4.1.2. tablet. Tried everything found on several forums, and the result was - nothing worked. Mediaserver kept draining my battery. Intuitively, I tried two things: 1. Unmounted SD card where I keep all sorts of media files. 2. Deleted downloaded PICTURES from "download" folder.

Result = problem SOLVED.

Then remounted the SD card - battery life still normal!

Conclusion: bloody mediaserver keeps scanning the downloaded pictures and drains the battery.

Simplicity is always the answer!

# Answer
> 0 votes
For me, rebooting the Nexus 4 several times didn't help. The first time I started using the mobile phone, I logged in *without* the Google account. So, I did factory reset and made sure I logged-in with the Google account. This seems to have fixed the issue.

---
Tags: battery, battery-life, 4.2-jelly-bean
---


# Question
Title: How to remove the Google Now search bar from Nexus 5
My Nexus 5 has a useless and space-wasting Google Now search bar:

**QUESTION: How can I remove the Google bar?**

My rooted Nexus 5 runs stock Android 5.1.1, and I would rather get rid of Google Now if possible. I would rather not use a third-party launcher.

Notes:

# Answer
> 2 votes
**Added:** After more searching, I found How to remove the Google Search bar from your Android homescreen indicating you have these options:

* *Disabling Google Now*, which is not recommended on the Nexus 5 as it might soft-brick your device
* *Install custom launcher*, which you don't really want to do
* *Using Xposed framework (root required)*, which doesn't seem to work as Exposed and ART is a bad combination
* *Install a custom ROM*, and then disable it

In other words, it seems like you need to make up your mind on either living with the Google Now search bar, installing a custom ROM, or install a custom launcher.

## Original answer with fails

The 14 Essential Tweaks to Perform on Your New Nexus 5 Smartphone has the following to say on this topic:

> You'll probably notice the search bar on the homescreen has a reminder to say "Ok Google" to trigger a voice search. It's a neat feature, but the text is a little annoying. It will go away only when you've proven you understand what it's saying. Just do any voice search from the homescreen to clear the text and get your nice, clean bar.

**Fail 1:** Does only remove the text, not the search bar

The previous tip is for the nexus 5 and lollipop, whilst the next tip is only for previous android version, from 25 Hidden Nexus 5 Features:

> Open Google Now with the quick setting above, or swipe to the left and enter Google Now on the Nexus 5. Scroll to the bottom and tap the three dots on the bottom left (menu) \> tap settings \> and simply tap the On/Off switch at the top to disable Google Now.

**Fail 2:** Does **only** apply to previous version of Android

My final tip if none of the above works, I did the following on my Sony Xperia Z3 running Android lollipop:

* long press on home screen on an empty space
* toggle the hide/show button of the Google search bar

**Fail 3:** Correct procedure for some phones, but not for Nexus 5

Hope either one of these helps you out!

---
Tags: stock-android, launcher, google-now, google-search
---


title: Google Play Music Playlists

text:
# Question
Title: Google Play Music Playlists
So I'm just wondering if there is a way to "mass select" a heap of songs and then add them to a playlist all at once instead of having to select one song, add it to a playlist etc. for every song.

Cheers.

# Answer
I'm using this apk to play music. To multi select songs, just go to all songs, and tap the button on top right upper corner, and you'll get check boxes by each song where you select them and click play.
> 0 votes

---
Tags: music, music-player, google-play-music
---


title: Multiple Gmail Accounts

text:
# Question
Title: Multiple Gmail Accounts
Am I able to add a second email address to my phone. On the iPad I know you can have an inbox for multiple email addresses. Can I do this so I have my personal emails and a secondary one in the gmail app? They are both gmail accounts.

Thanks

# Answer
Yes you can, to get this working just click on the button on left upper side of window and click on you email, now you'll get option to add another account.

\*P.S on the image it shows "Personal" you just click on "Google" since it's Google account
> 1 votes

---
Tags: email, gmail
---


# Question
Title: How apps write data into file-system on non-rooted device?
User Apps and Data are stored in `/data/app` and `/data/data` respectively. But we can't *(even)* see that without root permission. So, I want to know If device is non-rooted then How user Apps are installed (Apks are copied) to `/data/app` and how user Apps writes data into `/data/data`? In other words : **What allow/permit Apps to write data without root-access?**

# Answer
> 11 votes
The Android system does not have the conventional /etc/passwd storage for users and groups. In android, user and groups are used to isolate processes and grant permissions. The Android system creates a user per application when an application gets installed. Hence application data files are stored in `/data/data/<app-name>/`, and are read-writable only by that application process.

Here is a part of the output of `ls -l /data/data`:

```
drwxr-x--x u0_a31   u0_a31            2015-03-29 15:34 com.lenovo.themecenter
drwxr-x--x u0_a82   u0_a82            2015-02-27 23:20 com.lenovo.videoplayer
drwxr-x--x u0_a75   u0_a75            2013-12-31 21:30 com.lenovo.weatherserver
drwxr-x--x u0_a39   u0_a39            2013-12-31 21:30 com.lenovo.widetouch
drwxr-x--x u0_a73   u0_a73            2015-02-25 22:51 com.lenovo.wifiswitch
drwxr-x--x u0_a19   u0_a19            2013-12-31 21:30 com.lenovo.xlauncher

```

You will easily notice that each folder is created with read/write permissions only to the corresponding user/group of the app.

More about it here.

---
Tags: applications, root-access, file-system
---


title: SSH Tunnel through Android device

text:
# Question
Title: SSH Tunnel through Android device
My friend has a little trouble getting around his new Linux system. I'm fairly knowledgeable in that topic so I want to SSH into his machine to take a look for myself.

Problem is he lives in a student hall, so he can't simply forward a port in the router. My idea was to create a Android WifiHotspot, connect his computer and forward port 22 to his local address. I tried that at home but none of the apps really work or want to do what I want (I don't want to SSH into my phone, I want to forward a port in my phone to a computer) and the questions asked to the topic are mostly 'opening ports for games' or 'SSH into my phone from my computer' but not really what I want. There us the app 'Port Forwarder' that seems to do what I want but it didn't really work. On the flip side, I couldn't even ping my phone, so there might be something more wrong.

Can someone help?

# Answer
> 1 votes
1. if you are in the same network as your friend, you may just connect
2. if you are in a different network and you want to connect to the computer through your android phone, you probably have to forward the port from your mobile Internet access to the machine, I think this is **not possible**
3. you have to use a vpn to your private network and put those two virtual networks together (your vpn and your LAN) then you might connect your friends pc to that vpn and access it as it would be in the same network as you. **recommended** but maybe not easy because you have to set up a vpn server on your local machine and make your friend connect.
4. if you have to use the android access point, you will have to connect the android to that vpn and route your friends traffic through the vpn, **not easy** and also requires changes on your friends machine

---
Tags: ssh, wifi-tethering
---


# Question
Title: Unable to connect galaxy tab pro SM-T520 to PC with windows 8.1
My new PC having windows 8.1 does not recognize Samsung galaxy tab pro connected via USB cable. What to do? I've tried different cables and different USB ports. It does not appear in Windows device manager. It only pops-out a window saying "The last USB device you have connected to the PC malfunctioned and Windows does not recognize it". I have not installed any drivers for the tab. I need just to copy files from PC to tab (music, movies...).

Thanks for help.

# Answer
> 0 votes
You need to enable USB debugging on the tablet, and then install the USB drivers on Windows. For explicit instructions, see steps 2.1 and 2.2 in the following guide:

How do I install CyanogenMod on the Samsung Galaxy Tab Pro 10.1 Wi-Fi?

Again, you don't have to follow the whole guide to install CyanogenMod, just steps 2.1 and 2.2.

---
Tags: connection-issues, windows, samsung-galaxy-tab
---


# Question
Title: Does the StageFright vulnerability affect Facebook Messenger? What can I do about it?
I disabled MMS in Messaging on my phone. Is FB Messenger vulnerable? If so, what can I do to minimize the risk? (I couldn't find anything about MMS in FB Messenger)

# Answer
> 1 votes
libStageFright is a general media library used widely on Android. Facebook Messenger is likely to interact with it for media, and thus you are vulnerable through it.

Your best bet is to update — to a custom ROM if the manufacturer/carrier hasn't made a patch available. Otherwise, see Stagefright security issue: what can a regular user do to mitigate the issue without a patch?

See also: http://www.androidcentral.com/stagefright

---
Tags: facebook-messenger
---


# Question
Title: Why are there so many different Android kernels?
Isn't Android a common kernel that is used across all devices? For example, CentOS will install on Dell, HP, and a variety of other hardware. Sure there are different modules, but it's still CentOS nonetheless.

What is the reason why CyanogenMod is always "broken"? I always hear in forums they are working on porting this driver or that driver. If they used the same kernel, wouldn't the drivers just work with it? I also see a million different types of kernels for different devices.

# Answer
> 26 votes
Kernels vary from manufacturer to manufacturer. A lot of those kernels come from the pure stock kernel line of sources found on CAF, what these manufacturers do is take those stock sources, modify them to suit based on the board/chipset used, also, implement their own drivers.

Take a good look around you, there's variations of touchscreens, variations of wifi chipsets, not to mention, accelerometer, sensors, batteries, compass, sound, graphics.

Taking one kernel source from for example HTC will not work on a Samsung, and vice versa.

The manufacturers are free to cherry-pick or out-source various bits that get incorporated into the circuit board. There is no hard or fast rules involved. Hence the lot of hacking/modifications to get the kernel to work properly.

You must not ever, compare to desktop Linux distribution kernels in which it has PCI, PCI-Express, SATA, VGA, SVGA, USB, Ethernet as they are a totally different ball-park game. The major differences with CentOS and with Android's Linux Kernel is this - **ALL** drivers are compiled either as modules or built-in, hence any Linux distribution will simply "work out of the box". Again, with desktop Linux distributions - you have one architecture - x86 hence one Linux kernel from say a Dell PC, can work out of the box on a Lenovo **provided** that the bog-standard drivers are compiled.

Don't forget, in the Android world, there's variations of the kernel built for specific ARM chipsets, such as ARMv6, ARMv7, there's TEGRA, there's EXYNOS, and they are binary incompatible with one another. Hence if a kernel is compiled for TEGRA, forget it, it will not work on ARMv7!

The reason some kernels on Android appear to be "broken" is down to the manufacturer. Some (Zte is one very good example) release a butchered source that may compile from source but fails to boot due to a missing driver that is not covered by the GPLv2 or GPLv3 licence. That's the problem, hence some hackers have to go scouring around github looking for some clues; some manufacturers, if not all, do comply. The current incarnation of Zte's source is purportedly to be 2.6.35.7, but in reality its actually 2.6.32.9 source base with a lot of modifications thus does not represent the true kernel source for 2.6.35.7!

This is where the manufacturers have to release their respective sources, not just out of being compliant with GPLv2 or later, but rather, for the community to be able to mod it, such as adding overclocking capabilities.

Hence there's hacking involved behind the scenes and a lot of messing about with drivers trying to get it to work, and its not easy to debug either.. Some drivers may be cross-licensed, **BUT** cannot be distributed depending on the clause and conditions as negotiated.

Thankfully, that's all changed now with kernel 3.x.x. line of sources, as Android drivers are now integrated into the mainstream sources. But there's a gotcha!

Try porting a 3.x.x. kernel to an existing handset that is about 12-18 months old; Not a snowball's chance in hell would it work, that's because, of the differing factors, the 3.x.x sources is vastly different to the 2.6.x source and would take a lot of hacking to get it working - I should know, have tried porting 2.6.38.6 source for the Zte Blade and failed.

Likewise, the latest kernel release 3.0.1 - when working on the ics4blade project over on Modaco, have made numerous attempts to port it but that's down to the simple fact that Zte made a very bad mess of the source which rendered porting nigh on impossible.

# Answer
> 13 votes
The PC architecture is built around commodity parts because it started out as clones of a specific product, the IBM PC, that were specifically designed to be compatible with it, and therefore with each other. Generally speaking, you could take a program or peripheral device from one PC-compatible and put it into another, and expect it to work. That ability is useful enough that people have continued to demand it even as the technology evolved. You can put a PCI Express card in any modern PC just like you could put an ISA card in any PC clone back then.

Smartphones have no such history. They're designed as monolithic products, a complete system consisting of hardware and software that "just works" as-is. There's no expectation that people will take parts out of one phone and put them into another, so engineers don't have to take interoperability into account when they design their products.

Even within the Linux kernel source tree, there's a lot of fragmentation in the drivers for ARM platforms. Since phones are usually designed behind closed doors, engineering teams at different companies often end up doing duplicate work, designing basically the same hardware as their competitors and then writing their own drivers for their own design. Once they're done and the product is released, they go straight to working on the next one; it's not worth their time to go back and refactor the drivers for past products or merge them with competitors' drivers. The result is a plethora of one-off drivers for devices that are similar but not quite the same.

In addition, smartphones are usually based on SOCs that have specialized hardware integrated together with the processor. For some of this, it can be more than a matter of whether to load or not load a certain driver; the kernel as a whole may need to be built with special configuration options for running on one SOC, which are incompatible with the special options needed to run on another SOC.

# Answer
> 5 votes
The reason is because Android's Linux kernel are generally not compiled on Android itself, instead it had to be cross compiled from another computer. This causes various issues, because the device configuration are not available on compile time, and it is not feasible to compile a generic kernel with all drivers due to space limitation (whereas most desktop distros simply had all drivers compiled into modules loaded from an initramfs). Therefore developers had to figure out which drivers to package for each particular device. Not only that, each drivers generally have a dozen or so of compile time options to toggle various driver features, and manufacturers usually do not release their official configuration (the worst offenders don't even open source their drivers, or didn't keep upstream's copy of the drivers up to date). Because manufacturer's don't release their configurations, often the slightly different configuration that the developer uses will expose subtle bugs that doesn't exist with manufacturer's configuration.

Driver programming is much more difficult than application programming, as there is no kernel that shield you from the fickle hardware that have a specific real-time timing requirements and the such, and this means even having a different performance characteristic may cause the driver to miss some hard real time events from the hardware; these misses may surface as either bugs or performance issues.

Another issue is binary incompatibility. There are two cause of binary incompatibility, first is CPU type, which has been covered by t0mm13b well, but the other issue which is more relevant to porting is the ABI incompatibility (application binary interface). If manufacturers don't open source their drivers, then developers had to use the compiled module from a stock ROM. This raises various ABI incompatibility issues, since the driver modules itself have specific expectations about, for example, struct layout and function calling parameters, and when the kernel is compiled, it does not have the header file to describe the ABI at the time the driver is compiled, so developers had to reverse engineer the driver to create a header file or the header files in the source tree might have been modified heavily since the driver is compiled and developers had to revert those modifications to make the kernel compatible again with the driver's ABI. Unlike compiling from source, compiling for binary driver will not trigger compilation error due to function parameter mismatch or struct incompatibility, it will simply just crash your device while it's running, and debugging these issues are very difficult. In the PC world, we're familiar with the mess that nVidia and ATi left us, due to their insistence on releasing binary only drivers, imagine having that mess for all drivers, imagine the "fun" it creates.

PC hardware are also generally better standardized than mobile hardware, most PCs don't need drivers for vibrators, accelerometer, gyroscope, 3G radio, proximity sensor, NFC, etc. Even on devices that have 3G, it usually connects to the hardware using standardized connections like PCMCIA or PCI-E.

# Answer
> 4 votes
Well.... drivers and the kernel are not exactly the same.

Drivers are what control the cell antenna, wifi, bluetooth, etc. These are proprietary drivers because the manufacturer has to create a way (the drivers) to talk to their hardware.

The kernel is an intermediary level between the OS/application and the actual drivers (or cpu or memory or any other hardware). It is what allows your OS/apps to interface with these hardware components.

All of the millions of kernels you see are really not that much different from each other. Typically a programmer/modder will take the existing kernel and "tweak" it to try and get a difference performance out of it. You can essentially say that they are only adjusting (for the most part) the "configuration" of the kernel. In the Android world, these modders are primarily looking at: over or underclocking the CPU clock (important for either saving battery life or trying to run most process intensive applications such as video game emulators or video playback), or they are looking at under-volting (to save battery life by running your CPU outside of its original set parameters... which varies in effect person to person because no two CPUs are made 100% exactly the same).

# Answer
> 2 votes
Phones and other embedded do not have a BIOS to provide abstraction between the hardware and OS as a result the OS is compiled for the hardware it is deployed to. Even devices using the same chip set can can be configured in different ways (using alternate comms buses etc.) \the result is that the kernel has to be compiled accordingly. As there is no expectation of changes in hardware there is no hardware detection performed. Kernel boots faster and is smaller as a result - this is a standard principle of an embedded OS

# Answer
> 0 votes
CentOS installs on different hardware, but,

1. It's all PCs which vary less than phones,
2. A Ubuntu kernel, Debian kernel, and Elementary kernel are all different kernel sources.

As for your second point, see the answer(s) posted earlier.

---
Tags: cyanogenmod, rom, kernel
---


# Question
Title: Is "android_secret_code" a code to unlock the SIM?
On my Sony Xperia E, I copied and extracted my SIM unlock app (the official one) and found a bunch of 7 or 8 numbers with the words `android_secret_code`.

Is this my SIM unlock code? If so, just to be safe, does anything happen if I get this PIN wrong?

# Answer
> 0 votes
No, `android_secret_codes` contains a list of dialer codes to enter hidden menus. It is typed in Dialer to enter those hidden menus (they are usually in form of `*#-------#`).

You need the PUK Code (PIN Unlock Key) to unlock your specific SIM card. You can get PUK from your carrier network. You can call them and get the PUK once you verify your identity.

---
Tags: applications, sim-unlocking
---


# Question
Title: Can I wipe my phone even if I use it for 2-step verification?
I fear that if I reset my phone to factory defaults I'll never be able to access my Google Account again, since I use the Google Authentication app on it to provide the 2nd step of the verification.

Am I right? Should I remain worried?

# Answer
There are several ways to address your concerns.

**First** \- you should print the emergency codes. Google has good directions on how to do so here. (reproduced here)

1. Sign in to your accounts at https://www.google.com/accounts/SmsAuthConfig.
2. Look for the “Printable backup codes” area.
3. Click Show/Generate codes.
4. If you are fine using the current set of backup codes, you can print or download them. If you believe this set of codes might have been stolen or you’ve used many of the backup codes, you can generate a new set by clicking Generate new codes.

**Second** \- Even without backup codes, you should have supplied your phone number to Google at some point; this allows for you to have a temporary code sent to you in a text message. As shown in the following image:

**Thirdly** \- You can disable 2-step verification while Wiping your phone, and re-enable it again after completion. (This requires you to set everything back up). Google Instruction Page to Disable 2-Step Verification (steps reproduced here)

1. Visit the Using 2-step verification page under your Google Account settings. Sign in with your username, password, and verification code if prompted.
2. Click Turn off 2-step verification.
3. A pop-up window will appear to confirm that you want to turn off 2-step verification. Click OK.
> 16 votes

# Answer
That's what a factory reset is for - it ***does*** wipe all accounts associated with the handset.

You will need to go into your Google Account ***on your trusted PC*** to generate a password to use and key that into the Google Account after factory reset.

When you use Gmail on your trusted PC:

* Go into Settings on the right hand of the GMail web page - its a drop-down menu when the cog-wheel gets clicked
* Click on *Accounts and Imports*
* Click on *Other Google Account settings*, this will launch a tab page on your browser for the Accounts.
* Click on *Security* on the left hand side of the same page.
* There's *2-step verification*, click on the button *Edit*, you will be prompted to use your actual Google Sign-on password (the real one). Depending on how your *trusted PC* is set, you may be asked to enter the code delivered to your SMS, key that verification code into your Google Sign-on page.

Finally

* There's a link called *Manage application-specific passwords* after successful sign-on.
* Then, there's a "Step 1 of 2: Generate new application-specific password" at the bottom of the page. Give this a name - for example "BobSmith's Android HTC One X\_10thSept2012", and click on *Generate password*, the password will get generated, now using that to sign on to Google from your handset - its a once-off operation. In any case, if the worst happens, you can revoke it and deny access to your account :)
> 2 votes

# Answer
On any Android device, rooted or not:

* When you set up 2-factor authentication, there's an option to do so manually (without using a 2D barcode). You can then also write it down. If you have set it up already, you can re-do this and create it again.
* (as already noted) Have those 10 emergency one-time codes at hand

If you have root rights, you can access the stored credentials of the *Google authenticator* app in some ways:

* Read out the credentials and write them down:
You can later manually add them to the app by providing *GMail address* and *secret* from below (yours differs of course).

```
u0_a37@android:/ $ su.
u0_a37@android:/ $ cd /data/data/*.authenticator2/databases/
u0_a37@android:/ $ sqlite3 databases .dump | grep ' INSERT INTO accounts'.
INSERT INTO accounts VALUES(1,'yourGmailAlias@gmail.com','secret',0,0,0);

```
* Just back it up using Titanium Backup
> 2 votes

# Answer
Just be aware. I reset my phone and had my backup codes but they did not work. After the reset I get looped into the enter google account credentials over and over again. It is best to turn off 2 factor authentication before you reset your phone.
> 0 votes

---
Tags: factory-reset, google-authenticator, 2-step-verification
---


# Question
Title: What does "Network interrupted; server closed" mean?
My phone (a Samsung Galaxy S4 Mini running Android 4.4.2) sometimes shows a message window with the text "Network interrupted; server closed". Does anybody know exactly what that means? I've tried googling it, but that doesn't get me anywhere.

The message is in English, even though I've set the phone to Dutch; other messages are in Dutch rather than English.

As far as I can see it happens when I get out of wifi range. I understand the "Network interrupted" part; seems normal if I go out of wifi range (though I'd rather expect something like "Connection lost"). What I don't understand is the "server closed" part. It seems to imply there is a server running on the phone -- does Android run some kind of server? Or is it possible that the message comes from some app that's running in the background rather than from Android itself?

# Answer
> 1 votes
If you have the "File Expert with Clouds" application installed then it may be the culprit. I was having the same issue and suspected it may be that application because it seemed to start happening after I had started and then stopped the FTP server. I removed the application and the messages stopped. I then re-installed the application and everything was fine until I started and stopped the FTP server at which time the messages started to appear again. I removed the application (permanently this time) and the messages have stopped again. I didn't bother to check to see if I could connect to the FTP server when it was supposedly stopped but I may re-install the app one more time just to see if that's the case. I'll post the result here if I do get around to testing it... Paul

# Answer
> 1 votes
It is File Expert. I had it on 2 of my devices both showed the same toast notification "network interrupted;server closed" and stopped doing it after uninstalling.

Before ditching the app I tried getting into the devices through ftp (when shut down) but would not work so File Expert probably just constantly scans network activity and displays a toast when the network/wifi is down, keeping the device awake and draining battery. Some bad dev work there.

Try "Solid Explorer" instead, best file browser ever.

---
Tags: wi-fi
---


# Question
Title: ADB- Cannot get the Path variable to work for ADB
I am unable to execute ADB from CMD after adding it to the Path Variable. I am able to launch it from the folder when I open a Command Prompt there. But I am unable to launch ADB straight from CMD without first navigating to it.

My Path Variable:

```
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%systemroot%\System32\WindowsPowerShell\v1.0\;%systemroot%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\GtkSharp\2.12\bin; E:\Programs\Program Files\Android\android-sdk\platform-tools

```

My SDK path is at the end. How am I able to correct this so that I can launch ADB without first navigating to its folder.

**Edit:** The program is only my portable hard drive if this helps at all at diagnosing the problem.

# Answer
> 1 votes
I Removed my Path Variable as I was getting nowhere, and instead I put the contents of the platforms-tools folder at the root directory of where my CMD opens in, which is my user folder. I am now able to run ADB from the default CMD location, although this isn't an ideal and thorough solution that can be used were every I open the CMD prompt on my computer, it is still a solution until I can fix this path variable problem.

**Edit:** It Seems that I had a space after this `;` It isn't ment to have a space between `;`and the begin of the address

---
Tags: adb, windows, command-line
---


# Question
Title: How to avoid Clash of Clans update and go right into the application?
Whenever I open Clash of Clans, it gives a popup saying,

> **Update is available!**
>
> ---
>
> Good news! A new version of the game is available

There is no cancel option. No matter if I click the back button or tap outside the popup, it always leads me to Play Store page.

How do I avoid update and continue playing?

# Answer
Bad news: For some apps, especially games, you are not allowed to play without updating it -- especially if it is connected to the net.

You will not be able to legally bypass this restriction.
> 1 votes

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


# Question
Title: Mobile data turns itself on again and again; could be caused by WhatsApp
My mobile data keeps turning on by itself and uses my data traffic. I think this is because of WhatsApp, but I'm not sure. Is there any other possible reason aside from WhatsApp? How should I stop it from happening?

Phone: Samsung GT9100i
Android Version: 4.2.1

# Answer
What other apps related to mobile data are you using? Is there any battery saver app that are using? they can turn your data on or off automatically. Whatsapp doesn't have the permission to enable mobile data. So it must be some other app. still you can use 3G WatchDog to check if whatsapp is the culprit.
> 3 votes

# Answer
For Samsung, go to Settings\> Connections\> Data Usage then press menu button. Select Restrict Background from the menu. It will stop turning on mobile data automatically.
> -1 votes

---
Tags: whatsapp-messenger, background-data
---


# Question
Title: CyanogenMod 12 - is there quick sound/vibrate switch
In CM 11 there was a switch to mute my phone or put it on vibrate. I can't seem to find it in CM12. There are only profiles, which are not what I would like to have. Is this something missing from Android 5.0 Lollipop and thus not present in CM12, or did CM "broke" something? Or am I blind and couldn't find it, but it's there?

# Answer
You are right, no quick switch from top of the screen.

* Solution 1: long press Power button, you get the option to switch to vibrate
* Solution 2: change volume with physicals buttons, tap on setup on the right side of the sound pane. You will find options to switch to vibrate or mute for a given time or definitively.
> 0 votes

---
Tags: cyanogenmod
---


# Question
Title: Purchase cancelled from Google Play Store, but verification fee deducted
Yesterday I was trying to purchase an app from the Play Store. So I added my card details to the dialog window that appeared, and Google deducted a small sum from my A/C (Rs.51 INR), which I know, is for the purpose of verification of my card. But the problem is, the app which I was trying to purchase says the transaction was cancelled. Here's the transaction log from Google Payments:

> Sep 1 » Google has canceled this purchase.
>
> Comments from Google: Your credit card ending in XXXX was declined.
>
> Please select a different payment method.
>
> Sep 1 » Your XXXX-XXXX was declined for this purchase.

If I entered wrong credentials, then why did the verification amount got successfully deducted?

Should I attempt to make the purchase again?

# Answer
The verification fee is refunded to the account within 3-7 business days.

Check this for details. Google Play deducted extra Rupee 50 after first-time Play Store purchase of an App/Game. Why is that?
> 0 votes

---
Tags: google-play-store, in-app-purchase
---


title: Can't use `adb shell` in recovery mode

text:
# Question
Title: Can't use `adb shell` in recovery mode
I have a Chinese tablet named Quest. I have accidentally repeated the pattern lock more than 5 times. Now I have also forgotten the email address.

So for a factory reset of my tablet, I simply booted it into recovery mode. But it shows an Android bot lying with a red exclamation mark. After spending hours, I found a shortcut i.e., `Vol +` and `Power` to access the recovery menu. But my tablet doesn't go to the recovery menu even when I pressed the keys.

So I simply connected my tablet to my PC via USB and installed drivers. In adb command prompt, I typed `adb devices`. Now my tablet is listed as `20110301 recovery`. I can simply use only `adb pull`, `adb push`, and `reboot` commands. But I can't access `adb shell` to unlock my tablet. it simply says `exec '/system/bin/sh' failed: No such file or directory (2)`.

What can I do?

# Answer
> 4 votes
You have a stock recovery. Try to boot to fastboot, using ADB: Apply this command in ADB while in recovery:

```
adb reboot-bootloader

```

or:

```
adb reboot bootloader

```

Try each one, if the first works, good. Check if the device is visible by:

```
fastboot devices

```

If it outputs nothing, try the other command. It should work now.

Now you have to flash the recovery using fastboot flashing abilities. After that, try again.

# Answer
> 3 votes
On stock recoveries, the ADB utility only registers that the device is connected when you invoke the sideload utility which gives an error when you try applying `adb shell` or any other thing. It only accepts `push` commands to the device. ADB also works when your phone is on, which is a problem when you have boot issues and can only get to recovery.

Best case scenario with prerequisites: flash custom recovery via Odin.

The stock will prevent certain commands; TWRP or CWM is the industry's (root) finest and gives a provision to initialise the sideload utility or even better yet, backup to an external SD Card.

Press Home + Power + Volume Up to get to recovery.

Voila, your adb commands will work as required, not to mention factory resets and wipes.

# Answer
> 1 votes
I have the same problem with the E-Tech ET-7008B tablet, the USB debugging is off before they made too many pattern mistakes.

My advice is to make sure the USB debugging option is checked/turned on before making any security password on your devices, but it would be easier to unlock those stolen or lost devices.

# Answer
> 1 votes
If you wipe the user data. That's a factory reset.

```
fastboot -w

```

You can boot a custom recovery and also root it from there. Just `fastboot boot recoveryname.img`, and flash the root package, `su`, and `superuser.apk`.

If it doesn't work, it's safe because it didn't flash, just booted it. Because it will let you boot a recovery.IMG on the phone and not flash anything. Try that.

---
Tags: adb, recovery-mode, shell
---


# Question
Title: Why is Firefox not vulnerable to Stagefright?
This answer (to what can you do about Stagefright) says "use Firefox". Why is FF not vulnerable and Chrome is?

# Answer
> 2 votes
Firefox have used Android's StageFright Media Library which is disabled by default in Firefox for Android after the stage fright issue is found in Android devices. So the Firefox browser tries to use the Hardware decoder first and then the software decoder as a fallback. You can see the `about:config` page and search for `stagefright` keyword. Based on this article,

> If Firefox does not recognize your hardware decoder, it will use a safer (but slower) software decoder. Daring users can manually enable hardware decoding. Enter about:config as described above and search for “stagefright”. To force hardware video decoding, change the “media.stagefright.omxcodec.flags” preference to 16. The default value is 0, which will try the hardware decoder and fall back to the software decoder if there are problems (Bug 797225). The most likely problems you will encounter are videos with green lines or crashes.

So if you are using Firefox make sure that the `about:config` values for the flags `media.stagefright.omxcodec.flags` and `stagefright.disabled` and `stagefright.force-enabled` stays default (i.e. 0, false, false).

Screenshot (click to enlarge)

While Zimperium zLabs' VP of Platform Research and Exploitation, Joshua J. Drake hasn't said not to use Chrome. But he has suggested that Firefox is your best bet to avoid hacking by browser in his tweet.

---
Tags: stagefright
---


# Question
Title: Location of battery animation file on a Chinese tablet
I'm working with a Chinese tablet. I need to turn on the tablet when it is attached to an external power source.

I'm looking for the equivalent file of `playlpm` that you usually find on Samsung devices.

Are there any names for Chinese brands?

# Answer
> 0 votes
The equivalent battery animation file in most Chinese Android Tablets is called `ipod`.

Replacing its content to `/system/bin/reboot` "partially" works. If I connect the NTC from the battery into the ground pin, it will try to reboot, fail and display the battery animation file.

But if I just attach NTC to the ground, and *remove it when the backlight starts*, it will reboot and show no battery animation.

# Answer
> 1 votes
Provided you have adb access as root while in recovery, you can adb pull the \*.rc files from recovery's ramdisk and search the entry or similar to

```
on charger

```

to see what the equivalent service is. Or ,again, while in adb shell in recovery,

```
cat /init.rc

```

which is where the entry for charger/on charger functions should be. The battery animation resources will be in `/data/media` OR (while in recovery) `/res/images/`

As to the boot on charger plugin, if you don't have your own approach sorted see my answer to a similar question.

Look for the service under the `on charger` section that runs as per on charger, Using the Samsung example, reassign lpm service under on charger as reboot, You can't achieve an instant boot up on plugin, it just doesn't work, so you tell the device that on being plugged in it will reboot to normal operation INSTEAD of beginning it's on charger defined service. Here is the Samsung example;

From,

```
service lpm /system/bin/lpm
    class charger
    critical

```

To,

```
service lpm /system/bin/reboot
    class charger
    critical

```

Find the equivalent service for your device and make that modification. Redefining service classes can lead you into a minefield of problems. Or you just won't boot. You do need to be rooted and so be able to dump,unpack,modify,repack and, rewrite your boot.img

---
Tags: automation, power-on
---


# Question
Title: After upgrade to lollipop, LG D415 grays out "Enable USB Debugging" when phone is connected to PC
I've linked this phone to the same PC many times, but since upgrading to lollipop (5.0.2), my phone is not recognized (in adb devices) when I connect.

When I look in "Developer Options", "USB Debugging" is ungrayed when I'm not connected to my PC, and I can toggle it, but when I connect to the PC, it changes to gray. It changes to gray whether it was enabled or not before connecting.

If I choose MTP as my connect type, I do see my phone's file system from my PC, but there's still no "USB Debugging" link.

Trying to follow the directions on http://developer.android.com/tools/extras/oem-usb.html to connect a driver to this device, when the phone is connected, I don't see "Other Devices" in the list under "Device Manager".

My PC is running Windows 7. My carrier (who pushed the upgrade to lollipop) is T-Mobile.

I've already tried: \- updating all the software in SDK manager. \- installing a driver from the phone's "pc software". \- downloading and installing a driver.

This also fails in the same way from one other PC we have at our company that is used to set up very many other phones.

# Answer
I had to connect as a camera (i.e. pick "PTP" from the item in the drop-down menu option you get when a phone is connected) to get the device to show up in Device Manager (it showed up near the top under Android Devices). From that point, it was standard: right click on the entry under Android Devices, select "Update Driver Software", click "Let me pick from a list of device drivers on my computer", then pick "Android ADB Interface" under "Google, Inc." as the manufacturer.

I had previously tried (several times) connecting charge-only and "MTP" and the device didn't show up under Device Manager. It looks like I always need to connect as PTP; MTP and "debug only" still leave my device invisible to adb devices.
> 1 votes

---
Tags: 5.0-lollipop, usb-debugging
---


# Question
Title: ''Unfortunately, Calendar Storage has stopped'' error on Sony Xperia M (C1905)
I get "Unfortunately, Calendar Storage has stopped" because of which I cannot make calls or send Email from my phone. This affects my work too.

Is there a solution for this issue? I've already formatted my device because it was slow and lagging a lot.

# Answer
First try rebooting.

Then try deleting app data from the calendar storage app *(pictured below)* preinstalled on your phone

If this problem persists try resetting your phone again.
> 0 votes

---
Tags: system-error, sony-xperia-m-dual
---


title: Nexus 6 vibrates 3 times quickly

text:
# Question
Title: Nexus 6 vibrates 3 times quickly
Sometimes my Nexus 6 vibrates 3 times quickly, but there is no indication why in the Notification bar. Does anyone know why? I'm using Project Fi, so it could be related to that.

# Answer
I believe I've come up with an answer to my own question. Project Fi devices vibrate quickly 3 times every time the cellular radio connects to a wireless carrier.
> 1 votes

---
Tags: nexus-6
---


# Question
Title: What's the difference between "Zombie, Run! Zombie Finder" and "Zombies, Run!"?
There are two different augmented-reality zombie games which work on Android devices:

1. "Zombie, Run! Zombie Finder"
2. "Zombies, Run!"

It's confusing that they have such similar names. Please tell me about the difference between them.

# Answer
> 1 votes
# "Zombie, Run! Zombie Finder"

The first of the two games is called the "Zombie, Run! Zombie Finder". It is free and open-source software. The project founder is Peter Dolan.

According to an old comment by Reddit user "participating", it is:

> \[A\] fun way to get some running/jogging/terrifying brisk walks done ... It also has a multiplayer mode, which I have yet to try out.

Several people have had commit rights over the years, including Peter Dolan (project founder), Gabriel Francis (Spanish co-translator), as well as "empeamtk" and "agent.craig".

Development started in April '09. Version 1.3 was released to the Google Play store in April '13. At last count, the game had been downloaded more than one million times. If you look at the most recent code commits, you'll see that revision r207 mentions a "Version 1.3.1". But I'm not sure whether or not such a version was ever released. The game is currently unmaintained. But, because the game is open-source software, a new maintainer could step up at anytime.

Mr. Dolan has moved onto other things. The game is gone from the Google Play store now. I have no idea why; if you do know, please enlighten me.

You can download the game from Aptoide. You can find basic usage instructions here.

---

# "Zombies, Run!"

"Zombies, Run!" is the second of the two games. It is completely separate from the first game, and comes from a different development team. It's a closed-source "freemium" game. It's maintained by Six to Start Ltd., a British game-development company.

It seems to me that this game was conceived independently, though I am surprised that the development team didn't choose a different name. It was released in Feb. '12, and is available for iOS, Android, and Windows Phone.

The Google Play store app description writes:

> *Zombies, Run!* is a ... running game and audio adventure ... . Every run becomes a mission ... with our ... audio drama putting you at the centre of your very own zombie adventure story. While you run to \[a\] mix of ... audio drama and ... songs from your own playlist, you’ll collect supplies to grow your base back home. ... *Zombies, Run!* works anywhere and at any speed. You can jog in a park, run along a beach, or walk along a trail. It even works on treadmills.

You can download the free version of the game here.

If you post questions about this second game over on our sister site Arqade, please use the tag \[ `zombies-run` \].

---

Dear readers: This post is marked as "community wiki". Please edit and improve it.

---
Tags: fitness
---


# Question
Title: Hotmail contacts not syncing in android 5.1 GPE
I've just recently flashed my rom with Android GPE 5.1 on my HTC M7 and it's working great however there's a slight problem where for some reason my hotmail contacts are not syncing after I've set up my hotmail account in Gmail using exchange setup. On my old HTC M7 sense my hotmail accounts synced up and all appeared fine.

When I go to Accounts settings I can see my hotmail account is there under Gmail and I can see it shows Contacts, Calendars and Emails show as synced but only Calendars and Emails are indeed synced as I could see them in Gmail and my calendar app but I can't see any of my hotmail contacts.

I also tried installing outlook and adding my hotmail account but outlook is not appearing under the Account settings.

Anyone got a similar problem and know how to resolve this as I don't want to manually export and import my hotmail into google account?

# Answer
I did a clean wipe, set up my hotmail in Gmail as an exchange account. At first it didn't seem to work after a few updates I now see the contacts again.
> 0 votes

---
Tags: sync, hotmail
---


# Question
Title: How does Android account for hardware changes in each individual device?
I recently wanted to use the fingerprint scanner on my Galaxy S6 in an app and doubted if Android would have classes pertaining to it (it does), which led me to ask:

Does Android add classes to its library for every minor hardware feature on every device that supports Android (like the fingerprint scanner on the Galaxy S6) even the obscure ones that maybe only 1 device has? If not, how would one access those hardware features?

# Answer
> 3 votes
Most hardware-specific code doesn't come from AOSP1, but is provided by the corresponding manufacturer (often as so-called binary blobs). This is especially true for "exotic components" (like your "fingerprint sensor") – but also for more common components as the camera. Which BTW also is one of the reasons why there isn't a "generic ROM" fitting all devices.2

---

**1:** Android Open Source Project
**2:** see Why is it that Android still can't be installed as regular OS? and Can I install any ROM for my Android device?

# Answer
> 1 votes
This actually depends on what you are trying to do. Like it has been mentioned, hardware-specific code is provided by manufacturer (a.k.a) drivers. But to use them, all you need is an API that gives you access to those driver features. Most of the time, these API's may come from Android API itself, or if it's not mature enough directly from the manufacturer.

---
Tags: hardware
---


title: What's cyanogenmod's recovery.img?

text:
# Question
Title: What's cyanogenmod's recovery.img?
I just went to download.cyanogenmod and saw the download now come with device-here-recovery.img. Can someone please tell me what is this for? thanks :)

# Answer
It's basically a basic recovery that is available with CM ROMs. Due to CM nature of distribution, though, this doesn't mean that most CM ROMs will use it, but rather depends on the developer that is distributing it.
> 1 votes

---
Tags: cyanogenmod
---


# Question
Title: How to create a profile with multiple context in Tasker?
Right now by default, Tasker runs my task when any of the context (aka. profile) are met.

I want to have the task only activate when *all* of the context are met: location *and* time, et cetera.

How?

# Answer
You can add more contexts to existing profile by:

1. Tap the profile to display the context
2. Long-press the context
3. Select **Add +**
4. Choose the context you want to add

For example, if you want to have location & time as the contexts:

1. On *Profiles* tab, tap **+** icon and select the first context: **Location**.
2. Create or choose the location
3. Create or choose the task
4. On *Home* profile, long-press the location name until a pop-up appears; press **Add +**
5. Select the second context: **Time**
6. After configuring the time, press **Back** to finish it

---

In case you want to remove a context without deleting the profile:

1. Tap the profile to display the context
2. Long-press the context
3. Select **Delete**
4. Select **OK** to confirm

Warning: if there is only 1 context, deleting it will also delete the profile.
> 11 votes

---
Tags: tasker
---


# Question
Title: Can an LG G3 ROM be used for LG G3 Vigor?
Can an LG G3 ROM be used on LG G3 Vigor? I would like to know if it will work because my friend would like to flash a ROM on his phone.

# Answer
> 0 votes
Most of the time, the answer is it depends on which ROM are you talking about. Most ROMs comes with a speficic set of devices in mind (due to the need and support of partition layout, hardware-specific drivers, etc), so it really depends on the developer.

In most cases, a really similar hardware, would indicate that it should be usable to some extent.

---
Tags: custom-roms, lg-g3-vigor
---


# Question
Title: How to install Regional fonts in Sony Xperia Dual M
How can I install punjabi fonts in my andriod phone? I have a Sony Xperia Dual M.

# Answer
*Disclaimer:* **You have to root your phone. I'm not responsible for any damage done to your phone**.

Step 1: Root your phone

Step 2: Download SansFallBack.zip

Step 3: Install any Root File manager.

Step 4: Open File manager and the zip file to `/System/Fonts`, (Also backup the original file)

(Optional) Step 5: Change the permissions of corresponding folder and files, If any error occurs during installation
> 2 votes

---
Tags: fonts
---


title: Can I flash Nexus 7 with Odin?

text:
# Question
Title: Can I flash Nexus 7 with Odin?
# Current status

## Device issue

I have a Asus Nexus 7, I can't flash anything with `fastboot`because all flash procedures I have read need to unlock (using `fastboot oem unlock`) or mount `/cache` partition and for some reason when I try something I get freezed mounting `/cache` partition.

More details about this please read: Nexus 7 Error: Failed to mount /cache, which still **UNSOLVED**.

## Asus support

I asked to Asus Support Service (in USA and Mexico) and they answer that this device do not have support.

# My claim

So I want to try to flash using a tool like Odin. Maybe it can solve my problem (now I have an expensive *paperweight*).

# Answer
> 0 votes
OEM device-info? I found plenty of confirmation of what I suspected which is a corrupted bootloader. Look at Google issue here, here, and here. OK what you need to do is.

1. Download a factory OTA for your device.Here is a collection of OTA's but verify md5 to be sure.
2. Take OTA for the OS you currently have get the upgrade. Based on your other post recovery picture it's KK 4.4.4 KTU84P to LR50
3. Sideload the next OTA with ADB command.

> adb sideload 0xxxa.signed-nakasi-version-from-version.0xxx9.zip

It should start to load once complete reboot. Don't worry with an official OTA your bootloader needs to be locked.

4. Repeat OTA sideload but this time from LR50 to LR51.

This should get you back up and running. If somethings off then the OTA should abort. If you need a debugging script refer to first here reference and check with with csm.hrm's example.

---
Tags: rom-flashing, nexus-7
---


# Question
Title: Use rooted android to capture all traffic on wan using monitor/promiscuous mode
Before I begin, I've searched quite a lot and haven't been able to find exactly what I'm looking for.

I have a rooted Nexus 5 with Kali Nethunter installed. It's very easy to capture all network traffic from my phone, however I would like to capture it using monitor/promiscuous mode. In other words, simply the traffic of anyone who is connected to my internet **using my phone**

So far, I've only been able to see what my own network activity, so is it possible to capture, let's say my laptop's network traffic using my phone if they're on the same network.

And by this, I don't mean to create a hotspot on my phone, make my laptop connect to it and capture it then.

hope I've made it clear enough.

**Edit**

My question isn't limited to Nexus 5. Any android supported phone which may be able to achieve this could work.

# Answer
## Any android device

Cyanogenmod provides you with an option to build your own Cyanogen-build and integrated kernel building. With this you can compile an compatible kernel for your phone with desirable features. Here's a post that walks you through the process.

*R̲e̲qu̲i̲r̲e̲m̲e̲n̲t̲s̲:* Linux machine
USB cable
familiarity with basic commands

---

## For Nexus 5

**Approach 1:**

Kali NetHunter won't allow you to use inbuilt WiFi card to perform packet capture.
Moreover most mobile WiFi cards does not support promiscuous/monitor mode.
You need to use external WiFi card(such as Alfa card/Tp-link Wln722n),
connect to USB OTG on Nexus 5 for packet injection, then you're all set.

*R̲e̲qu̲i̲r̲e̲m̲e̲n̲t̲s̲:*
kali NetHunter
Root previliges
Host-mode support
USB OTG adapter cable
External WiFi card

**Approach 2:**

No need to install Kali NetHunter/any custom ROM.
Android PCAP capture app lets user to capture WiFi packets.
It is developed by Kismet wireless.
It does not require Root previliges even.

*R̲e̲qu̲i̲r̲e̲m̲e̲n̲t̲s̲:*
Host-mode support
USB OTG adapter cable
External WiFi card

---

## Other android devices,with Broadcom chipset

There's support only for Broadcom WiFi chipsets from this group. There's bcmon android app to capture network (works on stock but rooted-android). Only supported chipset (firmwares) are old BCM4329 and BCM4330 and there's been no development on official bcmon blog since July 2013. Other firmwares you may have to compile the drivers for it. You may have to compile the drivers manually for it.
Nexus 7(2012), Samsung galaxy S2 have BCM4330 whose internal wifi is capable of monitor mode. Also Motorola Xoom, Galaxy Tab, Nexus S, Nexus One have BCM4329 and known to support bcmon.

---

## Little Experiment

And then I started searching firwares and drivers for Samsung galaxy S2 and started testing with this old phone.
> 11 votes

---
Tags: wi-fi, rooting, root-access, networking
---


# Question
Title: How to get the Enter (Return) key in Messaging (MMS) app - Jelly Bean
I have JellyBean 4.2 and my friend also has the same.

I have been fond of using the "Enter" or "return" key while typing messages. I like paragraphs in messages. But I have a "**Smiley**" Button.

My friend however has the enter key. See the Screen shot:

Screenshot (click image for larger variant)

How to get the Enter button like in the screen shot?

# Answer
I updated my ROM to a CM variant (SlimBean to be specific) and found this in the settings

This worked for me. Thanks to bassmadrigal's comment.
> 4 votes

# Answer
press the shift key and see the change in the icon for the smiley. It changes to the enter key.
> 19 votes

# Answer
Messaging -\> Menu -\> Settings -\> Soft Keyboard Type -\> Show the Enter Key
> 1 votes

# Answer
You can use newline in Android Jelly Bean while texting too. While typing hold shift key the smiley icon will change to newline icon then move your finger to that newline button, it gives me newline in my text message.

Just make sure that holding shift and moving finger to that newline button will be done very fast and quick otherwise the button will do some other operation like going to execute "previous" action.
> 1 votes

# Answer
Alternatively, replace the stock text/messaging app with something like "Textra" from the play store. This will bring back the return key as standard.
> 0 votes

# Answer
Go to GO Keyboard Settings - under 'Input' select 'More..' - select 'Smiley Key Setting' - select 'Off'. Done!
> 0 votes

---
Tags: keyboard, 4.2-jelly-bean, mms
---


# Question
Title: How to hide Vibrate status bar icon on CM12?
I just got my OnePlus One, running on CyanogenMod 12.1. This phone is great... However one thing bugs me, the vibrate status bar icon.

It just makes my phone ugly! How can I hide it? Thanks.

# Answer
An alternative would be to use a different theme's status icons. You're using Hexo theme's status icons as it seem at first glance. You can choose to change the whole theme or just the status icons by an other theme's status icons under **Settings → Themes**. This answer should help you out.

Try the icons of System (Android) theme or download others themes using **Themes** app (a system app).

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

---
Tags: cyanogenmod, oneplus-one
---


title: Configurating push notifications

text:
# Question
Title: Configurating push notifications
I've been struggling for a while with push notifications. I want to configure them so I can avoid getting social networking notifications while at work. I don't want to uninstall them or log out, and I don't want to receive them while at work, as I am easily distracted by them and don't get anything done (but I do want to receive them after 7 pm)

I'd also like to still receive my mail and other notifications normally, I just want to "remove" some of them. out, and I don't want to receive them while at work (but I do want to receive them after 7 pm)

Is there any solution for my problem?

# Answer
I'm not really sure what your problem is, but on Android 5 you can categorize your notifications to normal or high priority. Instead of setting your phone to vibrate you can now set Android to show "All", "Only high priority" or "None" notifications.
See this link for additional info: https://support.google.com/nexus/answer/6111295?hl=en
> 0 votes

---
Tags: push-notifications
---


title: android encryption: too little time?

text:
# Question
Title: android encryption: too little time?
I have a 3rd Gen Moto G that I just enabled encryption on. It showed the warning as usual, "make sure it's plugged in, this will take an hour or more", etc. However, after confirming this, the phone rebooted itself, asked me for my pin so it could "boot android" (even though the boot splash screen had already displayed), and then showed me my home screen.

The issue: this whole process took less than a minute. Now, granted, the phone has only 3 lightweight apps on it (aside from the not-very-bloatware-like stuff motorola put on there), plus android standard things. There's also a few albums of music on the 32GB SD card; perhaps under 2GbB.

Less than a minute is not an hour or more. Did the encryption actually happen? The device THINKS it is encrypted; it tells me so in the settings menu. If not, what next steps should I take?

This is android 5.1.1.

I just came across this right before I posted: Device encryption fails, but no error

My device IS plugged into a computer, but through a power-only cable. There is no data connection. Not sure if that matters; I'm not sure I can do anything about it anyway, because the phone says it is encrypted already.

Thanks!

# Answer
Android encryption is of two types:

1. Device Encryption
2. SD-card Encryption.

For Device encryption kernel **DmCrypt** layer is used and it encrypts "**/data**" part of the device.dm-crypt is a transparent disk encryption subsystem in Linux kernel versions 2.6 and later and in DragonFly BSD. (see https://en.wikipedia.org/wiki/Dm-crypt).

Prior to android Lollipop, android device encryption encrypts full "/data" partition. (Encryption is basically a mapping system , it maps all memory from real "/data" block to a virtual block device).

Prior to Lollipop, on some devices(like samsung devices) fast encryption was also supported. Fast encryption means it will encrypt only used partition of your "/data" partition. (i.e. it will map only used parttion). If you will copy any data after encryption, it will be encrypted on runtime and saved on the device.

From Lollipop, google uses default fast-encryption. that means , whenever you will trigger encryption, it will encrypt only your used "/data" partition.

**You have mentioned that phone was almost blank, hence it was completed within one minute.**

AFAIK google has also changed its encryption system in lollipop and it is much faster than kitkat.

Check this link for more information: https://source.android.com/devices/tech/security/encryption/

**You can enter your SD-card on other device and check your files ( these will not be encrypted).If these were encrypted, you will not be able to play on different device.**
> 2 votes

---
Tags: encryption
---