Wednesday, September 30, 2015

6.0 marshmallow - Does OEM unlock wipe data?


I am using samsung galaxy j7, in the developer options there is a option "OEM Unlock" if I turn it on will it wipe my data?


Also does samsung locks bootloaders? My device is not tied to any carrier.




4.0 ice cream sandwich - What should I do now to move apps to SD in my Samsung Galaxy S Duos (ICS)?



I just bought a new Samsung Galaxy S Duos and the Android version does not have a option to move the app to memory card. I also installed the app called "app2sd"and when I open the app it says, The device does not have a real primary external storage or the primary external storage is emulated. Moving app to SD function may not be supported by this device.


What should I do now to move the app to SD.




rooting - How to unlock and root a Sony Ericsson Xperia Ray ST18i with 4.1.B.1.13


I searched it a while and found some articles regarding rooting the Xperia Ray but I couldn't understand them easily. So I want help from you geeks who can give me the lighted way with simple steps to root my phone.


I found this article from xda-developers.com but it sais there, that I have to have an "unlocked bootloader" which I probably don't have if I haven't done anything with my phone yet, have I?
And it tells me to "wipe the dalvik-cache" which I don't see anywhere (probably after unlocking the bootloader?). I also heard something of "fastboot", but I didn't get what it is :-?


I already gct the IMEI by entering *#06# into my phone and got the developer unlock code from unlockbootloader.sonyericsson.com.



I have running the actual Ice-Cream 4.0.4 Build-Number 4.1.B.1.13, Kernel 2.6.32.9-perf




EDIT:
right now I am following the instructions from Sony's Instructions on how to unlock bootloader. Entering the code *#*#7378423#*#* shows, that the unlock is allowed. I am downloading the huge Android SDK right now ...



Answer




I downloaded


Eroot 1.3.4: Link


stopped all applications and started the eroot program


clicked on "-Root"



waited the 4 steps and there it was. (don't press again the "Root" button, that will remove root again)


you can check with the Root Checker App if you have root access, click on "Verify Root Access"


If you have root access you can install a CyanogenMod release shown in the following steps (source: mainly the CyanogenMod Wiki Howto starting from step "Obtaining the Bootloader Unlock Code"):


.


1. Download CyanogenMod



  1. Download the desired CyanogenMod and place it on your SDcard as ZIP file (currently the latest for ST18i is 10.0 which is named just cm-10-2013-NIGHTLY-urushi.zip )
    I chose cm-10-20131007-NIGHTLY-urushi.zip
    This takes some minutes...



  2. Download *Google Apps** for the CyanogenMod you selected (You have to install a 3rd-party app to get the Google apps, like Gmail, Play Store, and Youtube.)
    I chose gapps-jb-20121011-signed.zip


    .




2. enable fastboot:


Download Files for Fastboot (the same as the Xperia arc)




  1. Extract the file to a new folder naming say Unlock. (Do it neatly as you won't get confused while entering into CMD).





  2. Go to unlockbootloader.sonyericsson.com (We will do the unlocking in the official way).




  3. Read the instructions carefully and click Continue/Proceed whatever they ask, note down your IMEI (The place where the website asks to paste it, enter in the exactly first 14 digits, not 15 digits) and after submitting your name, IMEI and email click Submit and note down the code they produce (copy that into a notepad).




  4. Enter in fastboot mode (Don't turn on the device, just press Volume up and connect USB cable simultaneously to your PC. A blue light should come up, otherwise something has gone wrong).





  5. Install the drivers for your device on your computer (from the unzipped drivers folder you downloaded)




  6. Go to the fastboot directory and Ctrl+Shift+Right Click (or on Windows 7 open a CMD shell end go into the fastboot directory)




  7. Type in
    fastboot.exe -i 0x0fce getvar version
    and hit enter





  8. Type in
    fastboot.exe -i 0x0fce oem unlock 0x
    (use directly by your code that you have already copied in notepad)




You are done. When you start your phone you will have fresh factory reset but rooted Android.


.


3. install ClockworkMod:





  1. Install x-Parts from Google Play.




  2. After installation, open the app and select the Installs tab.




  3. Select Install CWM and follow on-screen instructions.





  4. You can Reboot into the recovery mode from there (press the button in the Tools Tab)




.


4. install boot.img:


Now you need to install the boot.img from the CyanogenMod Zip you downloaded:




  1. Connect your device into fastboot again with Vol-Up While plugging in the USB-Cable

    fastboot devices
    (Seeing your serial number means we know all is good.)




  2. Now type these commands:


    fastboot erase system -w
    fastboot erase boot




  3. then copy the boot.img in the same folder as fastboot.exe and type



    fastboot flash boot boot.img fastboot reboot




  4. Now press the Vol-Down Button to enter the Recovery Mode again and install your image




.


5. Install CyanogenMod in Recovery Mode:





  1. Once the device boots into the ClockworkMod Recovery, use the physical volume buttons to move up and down. On most devices, the power button is used to confirm your selection, although for some devices the power button is used as a "back" button to go up one level, in which case the home button is used to confirm the selection.
    Optional/Recommended: Select backup and restore to create a backup of the current installation on the Xperia Ray.




  2. Select the options to "wipe data/factory reset" and "wipe cache"



  3. Select "Install zip from sdcard"

  4. Select Choose the CyanogenMod zip from sdcard.

  5. Select the CyanogenMod file you placed on the sdcard. You will then need to then confirm that you do wish to flash this file.



  6. Install the Google Apps package as well


    Optional: Install any additional packages you wish using the same method.




Once the installation has finished, return back to the main menu, and select the reboot system now option. The Xperia Ray should now boot into CyanogenMod.


Whenever you want to re-enter the recovery-mode from now on (after installing ClockworkMod) you can always:



press the volume down key a few times when your phone boots up. The sony logo brightens at one point, press during that time



At first, I was stuck with an error at the end: I Cannot install any Custom ROMs on Xperia Ray ST18i: assert failed: getprop Status 7

but that is covered here now


applications - How to view network traffic requested by a specific app?


There are lots of discussion on how to see which app is requesting network connection. I have tried the following apps:


tcapturepacket
wifi monitor

connection tracker

However, none of them was useful. For example, for a short period of time, I uploaded a 30KB pcap file which can be viewed here. Still I haven't find out which app is requesting connection and to where it is trying to connect.


I also tried to look at adb logcat, but didn't find useful information. Maybe something has been missed here. Any guess?




Why I can't scan the WhatsApp QR?



Why I can't scan the Whatsapp QR?



  • I reinstalled WhatsApp

  • I already have the WhatsApp Web Option

  • I put it to scan but it just doesn't scan it.

  • I Installed a QR Scanner app and it works perfectly.

  • I uninstalled the QR Scanner app to see if that was the issue and still doesn't work.


My phone is a Samsung Galaxy Ace.



Answer




SOLUTION


Okay, first of all - you have to scan the QR-Code with the scanner that is built in WhatsApp. Not with some 3rd-party scanner-app. Click on "Whatsapp Web", then the scanner opens immediately.


BUT - apparently there is a problem with devices that have a display smaller than 4 inches!


Like with my Sony Xperia Go (3,5 inches), I can't tap on the "OK, got it"-button to make the instructions of the built-in-scanner go away.


That's it. They will have to solve this problem in a later version, I guess.


touchscreen - How to ensure that the digitizer is faulty?


My HTC Evo 3D sometimes doesn't react when i press certain areas of the screen. I noticed it happens mostly on the part where the letter 'e' is, when i'm holding the phone in landscape mode.


So, i did a factory reset, wiped out SD card as well during the factory reset, and the problem still persists.


It sometimes happens for a certain period of time, and it starts to work after a while.


I did a line drawing test, and on some places it doesn't draw the line correctly (it is continuos but it's drawn with sharp angles, i don't know how to explain it better).


I read somewhere it is most probably a hardware problem, with a digitizer. Is there any way to be sure, or is it best to take it to a repair shop?



Answer



Open your settings menu and go all the way to the bottom, open Developer Options.


In the Input section, find the options called Pointer Location, and check it.



This is a feature for developers that shows the raw data from the digitizer.


Move your fingers around on the screen, and watch what you see, if your finger seems to disappear from the screen, Android is not seeing any data about it, it is a problem with your digitizer.


Tuesday, September 29, 2015

6.0 marshmallow - How to enable pip, QPython to write to Android filesystem?


I have been following this guide to install youtube-dl on my Android phone.


http://www.arulraj.net/2015/11/download-any-videos-in-android-using-youtube-dl.html


However, when downloading the videos, I get the following error.


ERROR: unable to open for writing: [Errno 30] Read-only file system:



How would I be able to give write permissions to the pip console of QPython so I can write to a folder on /sdcard?


Running Android Marshmallow 6.0 with root access.




What info does Google backup?


Does anyone know what exactly does Google backup (and restore) when you enable that option?


Also, are we able to see this list somewhere? (Maybe hidden n-levels deep in Google Account information?)


Reason I ask is I've had the unfortunate experience of my SD Card dying on me, put in a temporary SD Card and allowed Google to do the auto-restore.


Some things that were restored:




  • Saved wireless networks

  • Background

  • Some apps - strangely enough only a subset of my apps were restored (some with data, some without). All previous apps were installed via Android Market.


Then finally got my new SD Card, put that in and the following were restored



  • Saved wireless networks

  • Some apps - again, same problem... only a subset (different subset, even fewer apps). This time no data seemed to have been restored either.



I think it would be very helpful to be able to view/manage a list of what is backed up, and thus would be restored (but I have yet to find this list... if it even exists).




screen - What is this "shadow" called and what's the purpose?


When you slide Chrome browser (or FireFox) to extreme left, right or upwards, you see this shadow (for want of a better word) for a few seconds, as shown



enter image description here enter image description here


What is it called and what's the purpose ? (Can't Google since I don't know what it is :)


It's on Moto X Play and it's not the jelly scrolling reported on some recent phones



Answer



This appears to be called EdgeEffect and is used as a visual indicator when the user over-scrolls.



  • See relevant images on Google Images here.

  • A book commenting on the glow effect produces.

  • A question on Stack Overflow.



Monday, September 28, 2015

lock screens - Google Pixel is stuck at "Pixel is starting"


I have an original Google Pixel running Android Pie. I have just encountered a problem wherein one of these things has happened:



  1. When I boot up to the white Google logo, it will stay loading with the little gray bar that cycles across the center of the screen.

  2. The white Google logo will pass quickly and I will be presented with the Android mascot with the caption No command written underneath.


  3. I will boot to the home screen, but it will say Pixel is starting and the message won't go away. I can access my settings here, but if I wanted to change my password, the change won't stick. Also, if I click the "Applications" entry in Settings, it won't show my most recent apps (e.g., Chrome), only Phone.


Currently, I'm encountering #3 after my phone reboots after staying in #2 for a minute or so. This happened after trying to get TWRP to decrypt my data partition. I went through several cycles of setting a password/PIN/pattern, removing the screen lock, renaming files like locksettings.db, and so on.


Here are the paths to the files involved in this:


/data/system/gatekeeper.password.key.orig
/data/system/gatekeeper.pattern.key.orig
/data/system/locksettings.db.orig.3
/data/system/locksettings.db.orig.2
/data/system/locksettings.db-wal.orig.2
/data/system/locksettings.db-shm.orig.2

/data/system/locksettings.db.orig
/data/system/locksettings.db

Some notes on the files:



  • locksettings.db.orig — This file is from before I was able to fix my crashing Settings problem. It was originally locksettings.db and I fixed my problem by moving it to the current name.

  • locksettings.db.orig.2, locksettings.db-shm.orig.2, and locksettings.db-wal.orig.2 — These are the files that were created after I fixed the aforementioned problem.

  • locksettings.db.orig.3 — This is the file that I had gotten after I had moved the files locksettings.db* to locksettings.db*.orig.2.

  • locksettings.db — This was created after I moved the previous one to locksettings.db.orig.3. I've already deleted it.

  • gatekeeper.pattern.key.orig and gatekeeper.password.key.orig — Both of these files were present at the same time without the .orig suffix at the same time that locksettings.db.orig.3 was locksettings.db. They're both empty for some reason. Apparently, one of them is supposed to be empty if one type of lock screen is used. I'm worried that I may have overwritten one with the other, but now that I think about it, that seems unlikely.



So, is the problem that I'm getting in #3 related to decryption?


Update 1


In the hopes of trying to get it back to normal, I've tried restoring the above mentioned files in different combinations. My last attempt, I removed both gatekeeper.*.key files (but not the backups) and locksettings.db. I was able to add a simple PIN as a test and I rebooted. It asked for the PIN and it accepted it, but I'm still getting Pixel is starting after it accepts it. Also, if I try to remove the PIN, when I enter it in to remove it, nothing happens. It just stays on the PIN entry screen. What's going on? Did it decrypt the FBE key(s) with a wrong key and then re-encrypted it using the simple PIN?


Update 2


There is no salt file underneath ce/0/current.




password - Restrict access to device settings


How can I prevent people who borrow my device from changing any of my settings?




usb host mode - Is it possible to connect a USB microphone to an Android phone or tablet?


Blue makes a prosumer mic that you can connect directly to an iPod or iPhone via the dock port. I would love to have the same capability to do something similar for an Android phone or tablet. This would be really useful for field recording. I know that some tablets have support for various USB accessories to be plugged in, but I don't know if the OS can handle a microphone. Is this possible using existing or near future (Ice Cream Sandwich) hardware/OS combinations?



Answer



The range of USB device types supported "as is" by Android is limited and does not include microphones.


On the other hand, Android has the capability to work with an unlimited range of USB devices via their 'open accessories' sdk/kit/framework. This was added in Android 3.0.


I believe they had to do it this way: existing USB devices require driver support and they can't go adding all those drivers to Android (which is a static image). The open accessory framework will allow for devices that can be supported without loading a Linux driver.


So, you can't just go and buy a USB microphone and plug it into your Android device, but I expect we will soon start seeing USB accessories that are specifically designed to work with Android.


Download purchased APK from play store


I am using CyanogenMod on my Android devices without Google Apps (and consequently without the Play Store). Nevertheless, I have a Google account bound to my device ID and have purchased various apps with the account.


I want to download the APK files of the purchased apps and install them via ADB. About a year ago that was no problem using Real APK Leech or the APK Downloader extension for Chrome. Today Real APK Leech is seemingly unable to download any APKs, and the Chrome extension can only download APK files of free apps, even though the used Google Account has purchased the apps.


Are there any currently working ways of downloading purchased APK files without using the Play Store-App on the device itself?


(Similar questions I found on this site suggest outdated answers)



Answer



There are multiple possibilities for this. One is using the appropriate counter-parts from the µg project (pronounced "micro-G"; formerly known as NOGAPPS) – in this case Phonesky (the inofficial Google PlayStore Client) or BlankStore (same thing, basically). Each of these two would run directly on the device, no Google-Apps required (hence the name "NOGAPPS", or "micro-G(oogle)"). Check with FakeGApps, which has a good ReadMe to get you started with that on a Google-free device.



BlankStore
Blankstore (source: XDA; click for larger variant)


Then there's Raccoon, available for Linux, Mac, and Windows, see the article Raccoon is a desktop downloader for Google Play Store apps at AndroidCommunity. Raccoon can be used on your computer to download the APKs, which you then would need to install by other means (adb install, or copy to your Android device and manually install there). Raccoon also keeps track of updates available for apps you "watch". I'm not sure if it can deal with apps already bought (didn't give it a try yet), but as it works with your normal GPlay credentials, it should. As with BlankStore, just the process of bying apps will not be available – but you can do that using the Google Playstore with your web browser.


Raccoon
Raccoon (source: Tutonaut; click image for larger variant)


With payed apps, trouble often is they use Google's license service to verify their "legitimacy". That would fail with Raccoon if you've got neither GApps nor NOGAPPS on your device. BlankStore and Phonesky, on the other hand, were reported to take care of that as well (though I've experienced BlankStore to fail with payed apps recently, which might be caused by some API changes on Google's end – I didn't dig deeper into that yet, so I cannot tell for sure, but I don't seem to be the only one).


automation - I can reverse tether now by using alias but it stops on adb shell command


I made some aliases to quickly reverse tether.



alias t='r && sh && n'
alias n='netcfg rndis0 dhcp'
alias sh='ad shell'
alias r='ad kill-server && ad start-server'
alias ad='adb'

I want to enter t (which turns on reverse tethering) but the aliased command doesnt do anything past sh


How to automate this better?


(I guess its because its not in first shell anymore but android adb shell)


UPDATE: I edited the .bashrc as answered by Stephen Schrauger but the command enters me into adb shell and when i disconnect usb cable I get netcfg: command not found




The aliases are now:



alias t='r && sz $n'
n='netcfg rndis0 dhcp'
alias sz='ad shell'
alias r='ad kill-server && ad start-server'
alias ad='adb'

What is wrong now?



UPDATE2 moved here:Help with this ADB REVERSE Tethering Script?



Answer



This is more of a linux question, and it may need to be moved to superuser.se, but I can answer it.


On linux, you string commands using && (or || or just ;). With &&, the first command must finish executing and have no error codes in order for the next command in the sequence to run.


In your setup, it looks like you want to open an ADB shell, and then run netcfg rndis0 dhcp on the adb shell. However, Linux doesn't do that. Instead, it is waiting for the ADB shell to exit without errors, after which time it will run netcfg rndis0 dhcp on the desktop computer's shell.


If you want to run a command on the Android device, you don't start an interactive ADB shell (the default); rather, you pass the command like so:



adb shellnetcfg rndis0 dhcp



You'll need to change your alias for n to be a variable instead. Remove the alias directive so the line just reads n='netcfg rndis0 dhcp'. Then change your alias for t to be as follows




alias t='r && sh $n'



external sd - SD Card keeps getting unmounted on my HTC Desire


The SD card in my HTC Desire keeps getting unmounted every now and then and it's very annoying. From what I'm seeing, the SD card is removed only when some kind of multi-tasking with the files on it happens.


Example - Listening to a song that's stored on the SD + Using an app that's stored on the SD.



I haven't rooted my phone and don't intend on doing it. The phone is currently on the official Android 2.3.3 build.


I've tried another SD card but the problem still persists.


It's still under warranty, but I thought I can fix it myself with some help from you guys. :)




Sunday, September 27, 2015

7.0 nougat - Is it better to use Android System Webview when not using Chrome as default browser?



I've a phone and tablet running Android 7.0. In both cases I do not use Chrome as my default browser.


I believe that the use of Chrome Webview was to reduce resource use by sharing code.


Does it make sense, when one is not using Chrome, to disable Chrome and use Android System webview as default?




9.0 pie - GPS quick settings tile


I have a bootleggers ROM (Android 9 pie) installed on a Motorola Moto E 2015 phone. Can I add a quick settings tile that would toggle the GPS (location) on and off?


I know there is already a "location" tile, built in the rom, that can switch between different location modes (high accuracy, etc.), but I only want to toggle the GPS on and off, not to change the modes. Also, I already solved this by using Tasker and QuickTask app to create a custom tile. And it works, but sometimes it takes some time for it to respond (which is understandable having in mind my phone's specs and the fact that now two additional apps are used to control the tile). I don't know if the delay is caused by QuickTask, by Tasker or by both, and it also depends on how many apps are open at the time that I use the tile.


So, maybe there is a more reliable and quicker solution.




What is the process to install cyanogenmod to a galaxy tab 10.1?


I am new to this flashing business for the Android tablets. I did some of those flashing on a PanDigital tablet previously, but it's been a while. My tablet is the standard 32G WiFi tablet, and it's been rooted. How can I get the cyanogenmod ROM installed, and how does this fastboot thing work ? I also have the recovery.img file.


BTW: How can I backup the existing ROM, so I can restore if something goes wrong ?



Thanks :-)



Answer



If it is a supported device, then this should basically be the process as it is the same for every supported device I have experienced.



  1. Put the cyanogenmod update zip file on the device sdcard (or internal storage)

  2. Also put the google apps update package that corresponds to the CM version on the sdcard

  3. Boot the device in to recovery mode

  4. You can create a backup in the Recovery image (probably clockworkMod recovery)

  5. clear the cache and wipe the data

  6. install zip from sdcard (selecting the cyanogenmod zip)


  7. install zip from sdcard (selecting the google apps zip)

  8. reboot the device.


If you have ROM Manager, a lot of this process may even be easier. With ROM Manager, which can also install ClockWorkMod Recovery if it is supported on the device, you can download CyanogenMod, the google apps package, clear the cache and user data, and perform the backup. It will then reboot the device and perform all those steps.


Now, as I said, I am not 100% sure that CM is supported on this device, so there may be other steps required to get an unofficial version working on the device. With that said, Samsung devices are usually pretty easy to get back to the Stock version if something goes wrong (soft brick). It is pretty hard to brick these devices, I have had a couple scares, but I have always been able to revert back to original stock ROM by using ODIN.


rooting - Is there any way to root the Samsung Galaxy Tab 3 10.1?


Is there any way to root the Samsung Galaxy Tab 3 10.1? I found some instructions on rooting the 7 inch version but I'm not sure if that matters. Also the instructions include flashing UK firmware. I'd prefer to do as little changes to my device as possible so I can get a backup as close to the way it came as possible.



Answer



These instructions are pretty hard to follow but should work: root insntructions


keyboard - Is it possible to remove the ":-)" smiley key in Swype for stock Messaging?


I love Swype but have a minor gripe with it.


Many times a word will be completely messed up so I hit the backspace key but instead accidentally hit the :-) key.


In almost all programs there will be a return key instead. It appears to only be in the stock messaging application (though it's where I spend most of my time!).


This is extremely annoying, as I never use the built in smileys (I prefer them without the nose, e.g. :)). Is it possible to remove that key and make the backspace key bigger or something similar?


My phone is a rooted Motorola Defy with a stock ROM.




rooting - Is it possible to root the Verizon Samsung Galaxy S5 (SM-G900V) on Android 5.0 Lollipop?


I had root on 4.2 previously, but the update lost it, and with it my ability to use Sixaxis, AdFree, some features of NFC Tools and Tasker and Xposed modules.


I have searched, but it does not appear on this list: How do I root my Android device?


I also saw a similar question here, but this is the AT&T version, not Verizon: How to root the SM-G900F Android 5.0 without tripping KNOX?


Towelroot doesn't work (just tried) and the SM-G900V isn't listed here: https://autoroot.chainfire.eu/


Anyone have any experience with this?





Saturday, September 26, 2015

How to show own photo in SMS conversation?


How can I show my own photo profile icon in SMS conversations? I cannot find where to set it.



Answer



It depends on your device and what app you are using. On my Droid 1 running Froyo if I add my own cell # to my contacts the default messaging app uses the avatar that is set with that contact entry. if you add this it may take a little while for everything to sync up and for the pic to begin to display. In Handcent SMS you can set custom contact specific avatars.


4.0 ice cream sandwich - Hdmi drivers in Android 4.0?


I am trying to install Android 4.0 on a tv box. I just need to know whether Android 4.0 will have the HDMI drivers.


Thanks



Answer



It depends on how the Android image you're using was built. When you build a ROM image from the Android sources, you set what drivers are included in the image, according to what target hardware you're expecting to use it with.


If you got the Android image from the manufacturer of the TV box, it should have drivers for all the hardware in the device. (At the very least, it should say if anything is missing.) If you're using a third-party image that was created for that device, again, the author should tell you which hardware is supported. If you're using a third-party image that wasn't created for that device, it probably won't work at all.


If you're building your own Android image, then you should look in the sources you're building from, to see if the HDMI driver is included; if you don't already know how to do this, you probably shouldn't be trying to build your own ROM.


You might also find Can I install Android on my non-Android device? useful reading.


Friday, September 25, 2015

How can I find my Chrome bookmarks from Windows?


I dropped my Galaxy S4 SGH-M919 running KitKat not rooted and the screen broke. I can connect to PC using a USB. I was able to copy all the other data I needed using this method. But I had a few bookmarks in Chrome i would like to copy. I can't find these files anywhere I look. I don't have my android chrome synced to anything. And I can't set that up at this point. Is there any way this is information is findable?




Thursday, September 24, 2015

applications - Remotely uninstall an app via Play Store



Is it still possible to remotely uninstall an android application from a web browser via the Google Play Store?


According to the question that this is a supposed duplicate of, this was possible in 2012, but it seems to no longer be there.




See YouTube videos in Anaglyph mode


How to see a YouTube video in Anaglyph mode from a non-3D Android device? I am not able to enable Anaglyph mode from the YouTube application.




Answer



If you download Dolphin browser, add the Desktop toggles add-on you should be able to view it as a normal webpage (make sure to enable desktop toggles and delete the "m." in the url)


nexus - Manually switch carriers Project Fi


I have heard that you can manually switch carriers when using Project Fi. How do I go about this? What is the easiest way?



Edit: Is there an app that does this too?



Answer



You can easily manually switch carriers in Project Fi:


Head into the Phone Dialer app that came with your Nexus phone, then type in these dialer codes to manually switch carrier:



  • Sprint = *#*#FISPR#*#*

  • T-Mobile = *#*#FITMO#*#*

  • US Cellular = *#*#FIDAN#*#*

  • Auto = *#*#FIAUTO#*#*



You can also download the Fi Info app, which automates the process a bit with a widget (I use it all the time).


Source and more info.


Wednesday, September 23, 2015

Google apps losing connection to the servers when on mobile data


I'm struggling with a weird connection problem I have with Google Maps 6.14.1 (#6140011) on the Galaxy Nexus (running Android 4.1.2/CM10).



The problem comes with the following symptoms when on mobile data:



  • The app stops loading additional tiles from the network that haven't previously been cached (while displaying cached ones without any problems).

  • The app no longer synchronizes starred places.

  • Whenever trying to calculate transit directions, it gets stuck on the "Getting transit directions" progress dialog (there is no error message, the dialog just stays there forever).

  • When trying to find a location (any search query), it gets stuck on the "Searching for: X" progress dialog (there is no error message, the dialog just stays there forever).

  • When switching to navigation, it gets stuck on the "Getting driving directions" progress dialog.


Things I've tried:




  • Rebooting: has no effect whatsoever.

  • Switching to wi-fi. Then everything works. This might make it sound like my network provider (a T-Mobile US MVNO) is blocking Google Maps traffic, but read on!

  • Tethering my tablet (CM9) to the phone: Google Maps works fine on the tablet, leading me to the conclusion that it's not the network blocking certain kind of data. However, when putting the SIM card directly into the same tablet, it again doesn't work.

  • Stopping the process, then clearing all data: this fixes this issue "for a while" (a few minutes to a few hours). I haven't yet figured out what causes the problem state to come back. It could be a fixed amount of time, it could be the first switch from mobile data to wi-fi and back, I don't know. UPDATE: I've had it happen 5mins after a 'clear data' with wi-fi all the time disabled, so the next connection to wi-fi does not seem to be the trigger.

  • Connect ddms: Getting transit directions does not cause any warnings or errors to be logged.

  • Reinstalling Google Maps: same as 'clear data', it helps for a few minutes.


Potentially related problems:



  • Gmail doesn't load any images. Other than that Gmail works perfectly, including background syncing e-mails on mobile data. This problem also occurs when on wi-fi.


  • Goggles always says "Network error" and "Authentication failed" (again, it works fine while on wi-fi).

  • Google Now reports "Requested content '…' cannot be accessed. Access is not allowed for this user agent."

  • In GMaps -> Settings -> About -> Network, I see the following error "Error - Bad HTTP response code: 403 for 62,71,72 class java.io.IOException". I can't get any additional information for this however. It might be weeks old, as I see this even while everything works perfectly fine.

  • Some things in the Facebook app work (notifications are shown), but some just lead to a "cannot find secure connection" error message (navigating to an individual post).

  • Other apps using the WebView control in some cases do not show content properly. (NewsRob for example can synchronize just fine, but when trying to switch to the web view of an article that was not previously cached, it shows an error message similar to the one of Google Now above.)


Further notes:



  • The mobile network indicator is blue/green during all of this (indicating a working connection to the Google servers) and everything else seems to work perfectly.

  • This has happened on various builds, including the CM10 final, installed from a factory reset.




Answer



This turned out to actually be a network provider problem (in my case: SimpleMobile in the US) and the fix is incredibly simple: remove the proxy server from the APN and everything works.


The final hint I needed was the Google Now error message, googling that took me to this thread on xda-developers.


I have no explanation for why 'clear data' fixed the issue for a few minutes and why this didn't occur when tethering the tablet through the phone (maybe a cached server connection somehow?). It does however explain why the problem occured again when putting the SIM card into the tablet (the APN comes with the problematic proxy as a preset), and that should have tipped me off, I guess.


lineageos - E3004: This package is for device: gts210vewifi; this device is


I'm trying upgrade a Samsung Galaxy Tab S2 9.7 Wi-Fi (2016) AKA gts210vewifi from a LineageOS 18 April 2017 to a 30 July 2018 build, but it fails printing this in TWRP:


E3004: This package is for device: gts210vewifi; this device is .

What does this apparently broken error message mean? -- Someone suggested that perhaps I "need to upgrade the firmware".. how would I need which version this new build requires?




2.3 gingerbread - Factory reset without accessing phone settings



I have a Micromax A35 Android(2.3.5) phone which has been locked by repeated wrong attempts of the pattern lock.


Now the display screen asks me to enter my Google account username and password, but the WiFi and the mobile networks are disabled.


Is there a way to factory reset the phone without having access to the settings?




Tuesday, September 22, 2015

root access - Does rooting (but no custom roms) trigger knox's void warranty



Does it make Knox's "void warranty" = 0x1




file management - how to enable Android apps to browse user mount points in /mnt


I want to access and work on my remote documents (such as .docx, .xlsx, etc... and pdfs) from within my apps. For this, I have created a cifs mount point from a network sdcard (NTFS v3.1) to my android device in directory /mnt/routersd ; the problem is that some apps such as WPS Office or Adobe Reader don't offer directory list with access to root directories (Ofcourse, the device is rooted). My question is that how these apps can be enabled to explore root directory list such as /mnt/routersd in order for me to open my remote office documents and pdfs through those apps.


I want my mountpoint to be shown in WPS Office directory listing


I want my mountpoint to be shown in WPS Office directory listing.


Or, to be shown in Adobe Reader directory explorer


Or, to be shown in Adobe Reader directory explorer.


As you see, the pictures in the mountpoint is displayed by QuickPic


As you see, the pictures in the mountpoint is displayed by QuickPic.


Also, X-plore file explorer can explorer the mountpoint and do copy/delete operations in there


Also, X-plore file explorer can explorer the mountpoint and do copy/delete operations in there.



So, how can I open my remote docs (/mnt/routersd) from within WPS Office and Adobe Reader apps?




Monday, September 21, 2015

huawei - How to increase/decrease volume in smaller increments/decrements?


I'm using Huawei P10 (released in ~Feb 2017, using Android 7.0). One annoying thing I noticed is that the volume button changes the volume by 20 units (out of 100). Phone call volume in general is ok but for some apps like whatsapp, even 20 units is unbearably loud. I installed Precise Volume app which lets me change volume in smaller steps. However, it is not tied to the volume button i.e. I'd need to switch to that app's UI to change the volume. Is there any way to fix the volume button in general so that it changes the volume in smaller units?


I wonder if smartphone (software or hardware) makers are focusing too much on the smart and overlooking the basic phone features like call quality.




When will my device get the Android 6.0 update (Marshmallow)?


Android "M" was officially announced on at the Google I/O conference on May 28, 2015 and revealed to be 6.0 Marshmallow on August 17, 2015.


You can review the high-level changes at the Android website and the announcement on the official Android blog.


Of course, not all devices will get this update right away and others won't get it at all. Each manufacturer and carrier often choose to add their custom modifications which tend to delay the official release.


When will each device get Android 6.0, either officially or unofficially, if ever?


See also:




Answer



This community wiki will list all of the known and rumored dates for devices. If you have an update make sure to follow the format that's been established, and the following guidelines:




  1. Keep devices in alphabetical order listing the manufacturer and model

  2. Specify if the date is confirmed or rumored and link to the source

  3. If there is an unofficial release, link to the site where it can be downloaded



HTC



  • Butterfly 3 - announced - (source)

  • Desire 816 - announced - (source)

  • Desire 820 - announced - (source)


  • Desire 826 - announced - (source)

  • One E8 - announced - (source)

  • One E9 - announced - (source)

  • One E9+ - announced - (source)

  • One M7: Never (confirmed)

  • One M8 - by the end of 2015 - (source)

  • One M8 EYE - announced - (source)

  • One M9 - by the end of 2015 - (source)

  • One M9+ - announced - (source)

  • One ME - announced - (source)



LG



Motorola



  • DROID Turbo - announced - (source)

  • Moto G and Moto G with 4G LTE (2nd generation) - announced - (source)

  • Moto G (3rd generation) - announced - (source)

  • Moto MAXX - announced - (source)

  • 2014 Moto Turbo - announced - (source)


  • Moto X (2nd generation) - announced - (source)

    • Pure Edition in the US

    • in Latin America, Europe and Asia



  • Moto X (3rd generation) - announced - (source)

    • Pure Edition

    • Style


    • Play



  • Nexus 6: 2015-10-05 (confirmed)


OnePlus



  • OnePlus One

    • Cyanogen OS - in first quarter of 2016 - (Source)


    • OxygenOS - no fixed date confirmed, but not in 2015 - (Source)



  • OnePlus Two - in first quarter of 2016 - (Source)



Asus



HTC




Samsung





android x86 - What is the difference between Remix OS and Phoenix OS?


Both Remix OS and Phoenix OS are free Chinese Android desktop distributions for x86_64 PC-s based on Android-x86. But how do they differ, excluding different themes?



Answer



This is a community wiki, you can extend it.




According to Phoenix Studio forum (translation) and other sources:



  • both are based on Android 5.1 Lollipop,

  • both support Legacy BIOS and UEFI boot methods, but sometimes Phoenix OS Legacy mode does not boot, unlike UEFI,


  • Remix OS lacks adjustable windows and some of them can only be maximized or minimized,

  • Remix OS requires USB 3.0, Phoenix OS only USB 2.0,

  • Phoenix OS boots faster,

  • Phoenix OS fluency and functionality are better than the Remix OS,

  • Phoenix OS 1.0 is 370MB, Remix OS 2.0 is 689 MB, both zipped.


Remix OS 2.0 Launcher:


Remix OS 2.0 Launcher


Phoenix OS 1.0 Launcher:


Phoenix OS 1.0 Launcher



Images source: Softpedia


Video comparison: http://youtu.be/E6BNcXRyOr4


samsung galaxy s - Why won't Kies let me tried to update to Froyo again after a failed upgrade attempt?


Yesterday I connected my i9000 to Kies which showed a message about the Froyo upgrade. I clicked on Firmware Upgrade, it started with an progress bar, and when it got to 100% it tried to reconnect to the phone and it again showed "Firmware available. Want to upgrade?" I clicked on upgrade again but it did not show any progress bar, just but tried to reconnect and then displayed the update message again.


Now whenever I connect the phone to Kies the "Firmware Update" link is disabled. I thought that the phone might have been successfully updated despite everything in About it still shows 2.1 update 1.


How can I fix this and update my Galaxy S to 2.2?




Sunday, September 20, 2015

Lost huge internal memory while debugging application on device


I started developing Android apps recently. For debugging purpose I used my device. Debugs and all went good but lately I realised that 32MB of my internal memory is missing.


I have gone through all the applications, cleared caches but nothing helped.



Does anyone have any idea as to how should I get back the 32 MB's of Space on my Device.


Device: HTC Desire Android Platform: 2.3.3




system apps - Uninstall via adb without root


I own an Asus Zenfone Go Z00VD running Android 5.1. It came preinstalled with TrendMicro Dr. Safety, which I absolutely have no use for and do not want running at all. This app starts itself periodically, and there is no option to uninstall nor disable it. I'm not sure that it's a system app but I assume it is.


I've done some research and found the following options:



  1. Root the phone and uninstall the app. This is the most obvious solution, but this is a last resort.

  2. Remove the app via adb without root. Not sure if this is even possible, I've seen some claims that it is, and more claims that it is not.

  3. Install an app manager to kill Dr. Safety processes as soon as they start. From the answers on this Stack this seems like a bad idea.


This question is about option 2. Is it possible? Is it safe (little chance of bricking the phone and won't open security holes)? If the answer to either is "no" are there other non-rooting options to disable the app?


I found instructions here: http://hexgears.blogspot.com/2015/06/android-remove-system-apps-without-root.html



but I'm doubtful that they'll even work, let alone work safely.



Answer



Since it is Android Lollipop, you can setup in PC and execute this command:


adb shell pm hide PACKAGE

PACKAGE → package name of an app. To know the package name of an app, follow the answers to the question: View app's full package name?


If I'm correct, this app is exactly what came with your device and which you aim to get rid of. Although you should verify the package name through your own means, I find the package name as com.trendmicro.freetmms.gmobi from the linked URL, so your command would be:


adb shell pm hide com.trendmicro.freetmms.gmobi
adb reboot # reboot the device


Note: Execute the command at your own risk. I cannot guarantee that it would not soft-brick the device but it would make sure the app do not run again until your unhide the package. To unhide the package, replace hide by unhide in the aforesaid command.


If something goes wrong, such as the Android ends up in a boot-loop or with recurrent crash messages, then you should either unhide the package (provided that you can) or do a factory reset which means you should backup your data before hiding the package.


As for the instructions in the link, ignore them. The author doesn't know what they wrote. Let me simplify few things there. First, the device is rooted and the title is deceptive. They are using a kernel which is not stock. A stock kernel (production build) should never allow adb deamon to be restarted with root permissions but they were able to do so using adb root. If a kernel allows this, then it is considered an insecure kernel and unfit for consumer ready devices.


Also, the steps there about removing the system apps are risky. Huge risk. Only a re-flash of stock ROM or a backup of system partition would be able to fix the device.


Saturday, September 19, 2015

root access - Where does Android store fingerprint data?


I am looking for the files that correspond to the recorded fingerprints on my Nexus 6P and a way to "reset" the fingerprint system. Something similar to how Android stores lock screen settings (pattern etc.) under /data/system/locksettings.db*, and you can remove the lock screen by deleting these files (if you have root access).


The reason I am asking is because after a TWRP restore on a new Nexus 6P, my fingerprint hardware is not working anymore. The error message is Fingerprint hardware not available. Also see this question: "Fingerprint hardware not available" after TWRP restore


All five previously recorded fingerprints show up on the settings UI, but I am not able to delete them by clicking "Delete".




Google Drive does not detect internet connection


Yesterday I have updated Google Drive and installed Sheets. Since that time I am unable to open the spreadsheets I have created earlier.



When I try to open a sheet, I get Unable to access document. Please make sure that you are connected to the internet. I am obviously connected, Firefox works, I can even open documents, just not sheets.


If I try to set offline access to these sheets, they keep downloading, just like when I have no internet connection.


Anyone else has this problem, or even better, a solution? I have tried clearing the cache of Drive an Sheets, did not help.
I have a rooted Nexus 4 with 4.4.2




Friday, September 18, 2015

gmail - Can't sync using Leedroid


I have been using Leedroid for a while and all is well, it works great. Now for some reason my GMail is reporting that I have 7 unread emails, but my GMail app won't update my inbox on my phone.


I've tried going into the settings and resyncing the accounts, but the button doesn't seem to do anything.


Any ideas please?


Update
It seems that I have lost all my sync functionality. I can no longer sync my GMail, Calendar or Google Contacts with the web. Happened on 17 Feb 2011. Perhaps Google have stopped people updating?


Would I be better to just reflash my phone?


Update 31 Mar '11
This has happened again now, and I can no longer sync up anything on my phone. Does anyone have any ideas please? Should I swap from using LeeDroid over to a stock HTC rom?



Answer




My phone will not sync if I have low space warning in my notification bar. I've cleared out the data of a bunch of apps which were hogging my internal memory and as soon as I had cleared the low space warning my phone sync'd!


battery - Why does my Nexus One power off with 15% power remaining?


Once my Nexus One's remaining power drops to 15%, it automatically powers off. On turning it back on again, it reports that it's now on 0% power.


Do all Nexus Ones behave like this, or is it just mine?


Possibly relevant apps I have installed are:



  • BatteryTime Lite. This gives a percentage power in the notification bar. I thought it might be mis-reporting, but the value it reports always seems to match what the phone reports in Settings > About Phone > Battery Use

  • JuiceDefender. This turns the data connection on and off to try to preserve battery.



I can't see settings in either of these that would turn the phone off at 15% power.


I'm currently on Android 2.3.4, but I think this happened on earlier versions too.




4.0 ice cream sandwich - On it's own, my Verizon Droid Razr (recently with ICS), went into debug mode. How do I get it out of debug mode?


This evening I took my phone out of my pocket and the screen was on and it was in debug mode. I assume it is debug mode - there is a column of text right justified near the top of the screen that changes with time. When my finger touches the screen a vertical and horizontal line appear and track my finger movement and there is a trail left showing where I moved my finger. Along the top of the screen there are fields which display info about the finger movement. I am not a developer, but I assume this is debug mode.


My question is: How can I get it out of debug mode? HELP!!!




Answer



Do you have "{} Developer options" under Settings menu? If yes, go to Settings->Developer Options and uncheck the boxes under "Input", "Drawing" "Monitoring" sections.


I presume these should be not available with standard ROMs (i.e. produced by carrier/that come with phone). In that sense, I am bit surprised on why you have it, unless you have CM's or other similar ROM.


Thursday, September 17, 2015

application autoupdate - Is there any other way to get updates to frozen apps?


This is in response to my question " Does the google play store not provide updates for frozen apps? ".



Since google play is now making it difficult, if not, impossible to find and update frozen apps automatically, I'd like to know of alternate ways to do so.


EDIT: Apps like 'App Update Notifier' and 'aTrackDog' does find the updates to the frozen apps! But downloading an update isn't possible since all these apps do is call the Google Play Store. I might need to sideload APKs or get the updated apps from web sources for now I guess..




networking - Why is Android refusing to resolve DNS records pointing to internal IP addresses?


I have a very strange behavior on an Android device (Nexus 7) when trying to access local network applications. Instead of getting the actual IP of the machine on LAN, the Android device gets the public IP, which means that Chrome, Firefox or any other browser simply shows the web page of the router.


I have an internal DNS server which handles the local networks. Doing ping from a PC works correctly:


$ ping s.pelicandd.com


PING pelicandd.com (192.168.1.15) 56(84) bytes of data.
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=1 ttl=64 time=0.524 ms
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=2 ttl=64 time=0.578 ms
^C

On an HTC One device (accessed with adb shell), it works well too:


shell@m7:/ $ ping s.pelicandd.com

PING pelicandd.com (192.168.1.15) 56(84) bytes of data.

64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=1 ttl=64 time=2.56 ms
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=2 ttl=64 time=27.8 ms
^C

However, this is what I get when doing the same ping from Nexus 7:


shell@flo:/ $ ping s.pelicandd.com

PING pelicandd.com (90.78.26.42) 56(84) bytes of data.
64 bytes from LFbn-1-2441-42.w90-78.abo.wanadoo.fr (90.78.26.42): icmp_seq=1 ttl=64 time=2.56 ms
64 bytes from LFbn-1-2441-42.w90-78.abo.wanadoo.fr (90.78.26.42): icmp_seq=2 ttl=64 time=8.63 ms

^C

Instead of resolving to the internal IP, it resolves to the public one.


The network configuration is—except the IP address of the device—exactly the same on both devices: IP settings are set to Static, and DNS servers are the internal ones. Both Android devices are connected through Wi-Fi (unlike the PC). A major difference, however, is that Nexus 7 is using Android 6.0.1, while HTC One uses Android 5.0.2.


There is no nm-tool, dig or nslookup on Nexus 7. The device is not rooted.


The problem existed since I bought the device a few weeks ago, so it could hardly be the issue with DNS cache.


What can I do to further inspect this issue?



Answer



We recently encountered this issue, and we narrowed it to occurring ONLY on devices running Android v5 and newer. Android v4 and all other OS's have no issue.


With that tidbit, we determined that Android v5 and newer insists on using IPv6 for DNS name resolution. (Since we've completely disabled IPv6 on our network, this jibes with the issue.) If Android v5(+) can't get an IPv6 response from local DNS, then it reaches out to Google's public name host (8.8.8.8). Hence, no internal DNS, just external.



We worked around the issue by creating DNS records on our public-facing DNS servers for select internal names and IPs. With that done, Google's public DNS could resolve these internal names with internal IPs, and the devices could then reach our internal hosts.


We're proceeding with fully enabling IPv6 on our internal DNS servers (domain controllers) as a permanent fix.


=========================================


UPDATE-- Well, it turns out this may be a total red herring...or not. My home network is Win2008R2, single-domain with DHCP and DNS and no IPv6 binding. Tested an Android v5 device from there and had NO ISSUE. Office network with issue is Win2012 (non-R2), single-domain.


Bypassed current office WAPs with stand-alone Linksys WAP and separate SSID for testing, issue persists.


Differences between office and home networks (that I can think of): - Windows version - 2012 vs. 2008 R2 - router model (Cisco vs. Linksys) - WAP model (Dell-branded Aruba Networks vs. Linksys)


Proceeding with whatever further testing I can think of for narrowing the issue. Any suggestions or input is extremely appreciated!


=========================================


PROBLEM GONE (?!)


Our issue seemed to disappear on its own following a network topology change that I wouldn't think was related, but here's the info in case.



(HUGE APOLOGIES for this long, drawn out story, but this is when our Android issues disappeared, so ride this out if you can. I'm probably providing WAY too much detail here, but because I can't see a direct connection, I'm laying it all out exactly as it happened.)


Our ISP is Comcast Business Class—a cable modem with a static IP block of five addresses (weird number but that's how Comcast sells them). Comcast's cable modem is essentially a combination modem/firewall/router/switch, with our static IP block remotely programmed into it.


For 10+ years and almost as many employers, I've always built office networks the same way:
Configure a LAN IP for the ISP modem/router, which NAT's traffic from the internet. Couldn't be simpler, and that's how my current office network has been configured for four years.


Recently our office internet service went down. Usually a modem restart corrects it, but when it didn't we called Comcast who sent a tech, who replaced the cable modem to restore service.


A few days later, the same thing happened again. We called again, and the onsite tech (different tech than before) attempted to replace the modem again, this time with a newer model. Surprisingly, the newer cable modem did not support changing the LAN subnet address. The default subnet is 10.1.10.0/24, and it cannot be changed. (Only the 4th octet was configurable.) As our office subnet is 192.168.100.0/24, I let the tech know we couldn't use it without being able to change the LAN subnet. He understood, but had no info as to why the cable modem would prevent the change. So he installed a replacement modem of the same model as before, which we configured identically, and internet access was restored.


Another day or two passes, and the service goes down again. This time when I called Comcast, the initial tech I spoke with asked detailed and knowledgeable questions about our network configuration. When I explained that the cable modem was configured with a LAN IP on our subnet, he seemed puzzled by this. He said that most Comcast customers connect a NAT'ing router between the cable modem and LAN rather than use the cable modem's NAT'ing. In fact, he said he wasn't aware that the cable modem supported NAT'ing.


Comcast sent out another tech with a brand new cable modem (latest model that doesn't support changing the LAN subnet). He did extensive testing on the existing modem, and finally determined that it was only passing IPv6 traffic—no IPv4. He also confirmed what the phone tech had said--that it's recommended to use a separate router for NAT'ing, and to not change the LAN subnet on the cable modem (which we can't do on the newer modems now anyway).


And now we finally come to the network change we made. I installed a simple LinkSys router between the cable modem and our core router, configured with our static IP on the modem side, and a LAN IP on the inside. Internet service was then restored, and has remained stable for some time now.


After internet service was restored, I thought about the oddness of the IPv6 issue with the cable modem, which in turn reminded me of the Android v5 issue. I then tested our Android devices in the office, and was stunned to see that the DNS issue was no longer occurring.



Adding the LinkSys router for NAT'ing is the ONLY NETWORK CHANGE WE MADE. Coincidence?? Possibly, but it just seemed a little peculiar that both were related to IPv6.


Anyway, sorry again for the long story, but our Android issue is gone. Make what you can out of it.


Dimarc67


Wednesday, September 16, 2015

Can anyone recognize this app (toggles WiFi, GPS, Sync, BT, etc.) in the notification bar?


I found this screenshot in one of the market apps (Galaxy Nexus Flashlight), in the red rectangle there is an app do you know this app? it seem very interesting.


enter image description here



Answer



Thanks a lot everyone, I found it, it's a custom ROM called AOKP http://www.forum.aokp.co


Using the Google Voice app to place calls when "ask me" and "always use GV" are disabled


I have the Google Voice app on my Android phone, and I'd like to occasionally make calls from it, but I don't want to enable the "Ask me every time whether to use Google Voice" option, as 90% of my calls would be from my cell phone's number.


Given that I have the "never use google voice" option enabled, is there a option buried somewhere that I can use to place a call to someone without having to re-enable the "ask me every time" setting?



Answer



There are a few options available, depending on what your needs are exactly.




Before I had a smartphone, this was how I routed all my calls. Basically, for every contact, I stored their regular number as well as a Google Voice number. The GV number was my own GV number, followed by a wait, then a 2, another wait, and finally followed by the contact's number and a pound key. In effect, I made a macro.


Ex ( My #: 1234567890, Bob's number: 19876543210):
Contact: Bob
Primary: 19876543210
Secondary: 1234567890W2W19876543210#


If you only have a few contacts that you wish to call via your Google Voice number, this option is very simple. It does add some extra time to call them, as your phone doesn't connect directly to your contact, but rather connects to Google Voice, then "manually" dials the contact's number.


Note that you must have certain settings set up in Google Voice (the website, not the app) so that when you call your own number, you get the Google Voice menu system instead of leaving yourself a message. Also, if you require a PIN for your specific phone, you'll have to modify the setting, or add a PIN to the macro dial string.


FYI, this was how I got unlimited (outgoing) minutes as well. Since I could choose up 5 numbers to dial without using minutes, I simply chose my own Google Voice number as one of the five. Since all my calls went through GV, my carrier simply saw me dialing the same number all the time.




The Google Voice app has several widgets, and one of them is a 1x1 icon that rotates between the 4 calling options: Always use Google Voice,Only for International Calls,Ask Everytime, and Never use Google Voice.


This is the option I used to prefer, and I have actually used this in the past. It is very useful to quickly switch phone numbers, and you don't need to go through the hassle of opening the Google Voice app and finding the specific setting. Just click the widget until it is on the setting you want, and call from there.



With the paid version of Titanium Backup, you can create multiple profiles for apps, essentially giving you the ability to have multiple users. This is the option I use currently, as it reduces the number of clicks I need, and it allows me to have multiple profiles on a specific set of apps I want (such as games, lists, and Google Voice). I can switch from my Normal profile to my Guest profile (for example) so that I can hand off my phone to a family member to play games without messing up my own progress.


Set up a second profile that has Google Voice on for all calls, and make your primary profile never ask. When you want to use google voice, just switch profiles.


There are other apps that let you do multiple profiles, and I know some of them are free if you only want a total of 2 profiles.


automation - Execute task if tasker profile has been active for some time


How can I execute a tasker task only after a certain condition has been true for a certain time?


Normally a profile executes its task as soon as all conditions are met. I want to delay this activation, until the conditions have stayed true for some time.


E.g.



  • do something after the screen has been continuously off or on for 10 minutes

  • do something after wifi xy has not been near for 10 minutes

  • do something after cell towers x,y,z have not been near for 10 minutes.





Tuesday, September 15, 2015

rooting - How to root a Samsung I9070 Galaxy S Advance/S II Lite?


What are the steps to root this phone?


As I understand, Samsung has been using an internal counter that will void your guarantee if you install a custom kernel, I'd like to avoid that.



Answer



You have a prety good tutorial right here: [GT-I9070] [ROOT] Rooting your Galaxy S Advance without increasing the Binary Counter


4.0 ice cream sandwich - How do I add a phone number to contacts from the text message app?


I have a text message sent from a phone number that is not yet linked in any other method.


Is there a way to use this message's number to create a new contact or modify an existing one directly from the text messaging application?


If it is relevant, I use Gmail for my contacts and have imported from Facebook.



I have Android 4.0 (Ice Cream Sandwich).


What I've tried


This question is vaguely similar, but not quite what I'm looking for.


I know I can copy/paste the number if I open the "modify recipients" dialog, click on the number, and click/hold to open the cut/copy/paste tool. I can also simply write down the number on paper. I'm looking for an alternative.


There are no menu options if I select the message at the top-level of the Text app.


The menu options while in the text message thread don't seem relevant:



  • Insert smiley

  • Delete

  • Set priority


  • Add subject

  • Modify recipients


The menu options if I click and hold on an individual message don't seem relevant:



  • Delete message

  • Forward message

  • Copy message text

  • Protect message

  • View message details


  • Add to task



Answer



On my Android 4.0.4 if I click on the picture of the contact, I get option to save it.



linux - How to run SSH/SFTP server for multiple user logins with password authentication on Android?


I want to run an SSH server on my Android phone so that my clients (varying between 10 to 20) can easily and securely share data with me when I'm on the go, without using any third party hosting services like email, file sharing etc. Every user should have it's own directory (enforced using SFTP's chroot) and he/she should be able to login using his/her own password (not key file) I provide them, optionally sharing credentials with other users if one needs to.


I didn't find any such flexible solution, specially FOSS. So I built sshd program from openssh source code, using gcc-linux-aarch64 cross compiler on Ubuntu. However when I execute it on my phone, it throws error:


~# sshd -d

Privilege Separation user sshd does not exist

How can I add sshd and other users on Android? My phone is rooted.


PS: I'm jotting down answer to my own question what limitations I faced and how I have been achieving this for past few years. Any other method - particularly a non-root solution through GUI for ease of a common user - would be appreciated.



Answer



Note:



  • Make sure your phone is accessible from internet as explained here.

  • You need a rooted device.



Android phones nowadays aren't those old low-end devices, they can run a full-featured SSH server happily. And it's an easy recipe:



  • Get fully static sshd binary for your phone's architecture. See details below.


  • Create /etc/passwd and /etc/shadow. To add a new user with password like we do on a Linux OS:


    ~# mount -o rw,remount /system; mount -o rw,remount /
    ~# touch /etc/passwd /etc/shadow
    ~# busybox adduser -D -H -h /dev/null -s /system/bin/false -u 900 sshd
    ~# busybox adduser -D -H -h /home/user1 -s /system/bin/sh -u 901 user1
    ~# toybox passwd user1

    ~# mkdir -p /data/home/user1/Documents /home /sdcard/home /etc/ssh
    ~# mount -o bind /data/home /home
    ~# mount -o bind /data/home /mnt/runtime/default/emulated/0/home
    ~# chmod 0750 /data/home/user1; chown 0.901 /data/home/user1

    First bind mount is required because otherwise SFTP's chroot won't work with /data's bad ownership. Second is to easily access shared files from /sdcard/home. To set non-root permissions on /sdcard/home, use bindfs instead.
    sshd user is for Privilege Separation. user1 is our first user that'll be able to login through SSH. In the same way more users can be added.




  • Add required configurations to /etc/ssh/sshd_config (defaults suffice in most cases):



    UsePAM no
    PasswordAuthentication yes
    Subsystem sftp internal-sftp
    Match User user1
    ChrootDirectory /home/user1


  • Run SSH server, may use logwrapper to get log in logcat:


    ~# ssh-keygen -A    # generate host keys on first use
    ~# /system/bin/sshd -4 -E /sdcard/home/.sshd.log


    Now you can access server through SFTP / SSHFS. SSHD can also be run as an init service that's handled by Android's init. See this answer for explanation.






DETAILS:


SSH server lets you login remotely after proper authentication. Additionally it serves sharing of files and many other resource sharing securely. But there is no concept of Linux console login on Android (1) because it boots directly to GUI. However it makes use of Discretionary Access Control (DAC) of Linux kernel which is based on UIDs / GIDs and permission mode. Every installed app is considers as a *NIX user and is assigned a unique UID at install time. See this answer for more details on this.


HOW USER LOGIN AND AUTHENTICATION WORK:


Traditionally /etc/passwd contained username vs. UID/GID mapping, while supplementary GIDs were added to /etc/group. Password was also added to /etc/passwd which was later moved to /etc/shadow with the introduction of shadow password suite. Similarly /etc/gshadow contains Secure Group Account Information. These files are read by privilege granting programs such as login, su, sshd etc. and managed by administering programs such as passwd and useradd.


Most of these programs are part of shadow and util-linux package and their behavior is controlled by defining a number of configuration items in /etc/login.defs, for instance logging of different events, password expiry, environment variables etc. Also there are many files that are required or updated by these utilities, including nologin, default/useradd, adduser.conf, skel/, shells, subuid, subgid, limits files under /etc/, /var/log/faillog, /var/log/lastlog, /var/run/utmp, /var/run/wtmp and possibly others.



To centralize the functionality of these privilege granting and administering programs, a more sophisticated authentication mechanism PAM was introduced. Instead of directly handling the user login and authentication stuff, programs link to PAM libraries (called modules) which in turn respond accordingly depending on its configuration files mainly under /etc/pam.d and /etc/security.


Other than PAM, a complicated name resolution mechanism NSS also (a set of modules) exists on Linux distros which controls - among many other things - how passwd, group, and shadow databases are read depending on its configuration file /etc/nsswitch.conf. Both PAM and NSS can be configured to use remote database service like LDAP / NIS. And then there are centralized caching daemons like NSCD and SSSD. Working together, they complete the puzzle of user logins (identification and authentication) on Linux.


HOW TO SETUP LOGIN ENVIRONMENT ON ANDROID:


None of the above described configuration files and libraries exist on Android because user logins don't happen at all. But the programs built with Linux's standard libc APIs require all these files and services - including PAM - on Android too, which is near to impossible. PAM can be disabled for sshd by setting UsePAM no in sshd_config so that it directly reads files /etc/passwd, /etc/group and /etc/shadow.


PAM be gone, still we need to provide a minimal environment that meets the least requirements of login process. ssh binary for instance, needs /etc/passwd to exist necessarily because it sets $HOME from there to read known_hosts, config and id_* key. Also if host is a domain name and not an IP address, /etc/resolv.conf must exist with nameserver for DNS to work. It's a different story explained here.


So we need to create the relevant files on Android manually. Or use the non-PAM counterparts of shadow-utils such as useradd and passwd to update these files. We can get a minimal set of these utilities on Android, e.g. with busybox or toybox.


RUNNING LINUX PROGRAMS ON ANDROID:


Ideally you should write / modify the source code of a program in accordance with Android environment and then build dynamic binaries / libraries using Android's NDK and Bionic libc. But due to differences among Linux distros and Android such as in filesystem hierarchy, kernel configuration, implementation of libc and other libraries (2), code written for Linux distros need heavy modification on Android, otherwise don't mind failed attempts. In case of openssh, see the list of modification patches in AOSP and on Termux. Two of these patches are no password authentication (3) and no multiple users (4, 5). Former was worked around on Termux by introducing new APIs in termux-auth (6, 7), but the later can't be achieved without setting up login environment on Android.


Other options is to build fully static binary with Linux's libc such as glibc, musl or uClibc. While it's easy to statically build small libraries, libc itself links to many other libraries. In case of glibc, all of them can't be built statically, such as dynamically-loaded modules. I'm not sure how effective --enable-static-nss is, but, e.g. gconv can't be linked statically (8). So sshd binary must not be built with glibc, otherwise it won't work without NSS modules.
Also set Privilege Separation Path to some existing directory like /data/local/tmp and disable any other unnecessary features like utmp, wtmp, lastlog etc. Or you would need to create /var directory in rootfs.



FURTHER READING:



Monday, September 14, 2015

nexus 5 - Deleteing photos from device but still have them in the backup (default Google+)


I've been looking all over for a proper explanation of how to delete photos from the device (nexus 5) to reclaim some space, while being sure that the pictures are still in the Google+ backup. Unfortunatley i have not found one, other than "wild claims" it works somehow, while other say it does not. Plus deleting photos via the Pictures app actually warns you (now?) that it will delete the backed up copies too. Do i have to delete them in the Gallery app?


I did delete some photos recently, and i was quite sure they ware still backed up (still showed up on the Google+ website) but looking now i see they are in the trash in the device.



Is there really no way to be able to know for sure if the pictures are backed up savely while i can delete them from the device?


Alternatively i'm also open for alternative solutions to this problem, or i just go back to the "good old copy and paste when plugging the phone".




Sunday, September 13, 2015

storage - Where does Google Music store offline songs?


I have a song I want to use for a ringtone, but the Google Music app doesn't let me set it. I've checked on my sdcard/internal storage for a music/google/gmusic etc folder but can't find anything.


Where is the music file stored on my phone?



Answer



The Google Music Apps cache is at


//Android/data/com.google.android.music/cache/music

which is usually


/sdcard/Android/data/com.google.android.music/cache/music

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...