text:
How to recover data from LGE Nexus 4 running on Android Version 4.4.2?
I am using LGE Nexus 4 which is running on Android Version 4.4.2. Somehow accidently i do a factory reset on my phone and in return i lost all my emails, messages, pictures i.e, almost everything. Now i am desperately want to recover them but don't know how to do it.
I tried to find a solution on google but i got more confused by the given solutions on google. I tried a data recovery software(Dr Drone for android) but the software is not able to recover data from those devices which are running on >Android version 4.2. Technical team of Dr Drone for android want me to root the device but because of complications in the rooting process i don't want to root my device.
Is there any way to recover them?

Have you checked with our data-recovery tag-wiki? It has some first-aid information, pointing e.g. to Recover deleted content from userdata partition and How can I recover a deleted file on Android? Furthermore, its most frequented questions might point to further sources, as we had similar questions in the past.

Related: How to recover a deleted file from /data partition?

Here's a couple of things that might help,

A regular factory reset does not wipe the sdcard partition. Things such as pictures and whatsapp messages should be restorable when you just install the relevant apps again.
If you are a Gmail user, just sign in again and it will automatically resync. If you are using a corporate email account or general mail app, and if the email was setup using IMAP, the messages should still be sitting on the server and  adding the email account again should sync the messages back. If the setup used POP, then you might be out of luck here.
By default the contacts on your phone sync with Google if you were signed in to the phone. Signing in again should sync those back as well.

Good luck!

A factory reset on a device without an external sd card (such as the Nexus 4) will completely wipe the device including photos. See [tag:factory-reset] "This process deletes all user data and user installed apps, so the device looks like it came fresh out of the box. "

That is partially correct. The sdcard partition is not wiped when a factory reset happens. Photos are an example of application data stored on the sdcard. App data stored on internal memory will be wiped though.

Please note: It is advised to follow this method only if you know what is ROOT and agree that you are doing this at your own risk. I do not hold credit for this technique as this method has been taken from here and 100% credit goes to the respective author.
Requirements:

A Rooted Android phone.
BusyBox installed on your device.
Cygwin installed to [c:\cygwin] with pv and util-linux from the repo. Make sure to open Cygwin once to make sure that the /bin folder is created. Also, I made a folder at [c:\cygwin\nexus] to put the exported .RAW file.
Netcat (download the ZIP file and extract nc.exe to [c:\cygwin\bin]).
ADB (make sure adb.exe is in your path).
Enable USB debugging in your device.
For Android 4.0 and above do it from: Settings > Developer Options > USB debugging.
For Android 2.3 and below do it from: Settings > Application > Development > USB debugging.
VHD tool Put the VhdTool.exe file in [c:\cygwin\nexus].
Piriform Recuva or your favorite data recovery tool, (it appears Recuva only finds the more common file types like images, videos, etc. Those were the file types in which I was interested. If you are after more exotic file types perhaps you might share the software you used).

The process in short:

This has been tested on Samsung Galaxy Nexus though this should work for ANY phone with Internal Memory.
We will be using a Windows 7 machine to:
back up the entire internal memory partition to your computer as a single, massive .RAW file, convert the .RAW file output to a VHD, mount the VHD as a disk in Disk Manager,
scan the attached VHD volume for files that have been deleted and recover them.

Actual Work to do:

It is recommended that you choose to recover your entire memory block instead of just the data partition. In this case that is mmcblk0. For our purpose here we are seeking to recover the userdata partition: /dev/block/mmcblk0p12
Turn on your phone.
Connect the phone in ADB mode.
Unlock the screen.
Open a Cygwin terminal and enter (This assumes your BusyBox installation is at [/system/bin/busybox]. It may be at [/system/xbin/busybox]):

adb forward tcp:5555 tcp:5555
adb shell
/system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12

Open another Cygwin terminal and enter:

adb forward tcp:5555 tcp:5555
cd /nexus
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw

For 16GB or 32GB internal memory this process is going to take 2 to 3+ hours respectively.
We need to convert the .RAW file to a virtual hard drive. VhdTool.exe basically just puts a VHD footer on the end of the .RAW file. Open a Windows command prompt, go to [c:\cygwin\nexus], and type:

VhdTool.exe /convert mmcblk0p12.raw

Now we need to mount the VHD in Windows. Select the Start button-->right-click Computer-->select Manage.
Select Storage-->Disk Management.
In the menu select Action-->Attach VHD.
For Location enter [c:\cygwin\nexus\mmcblk0p12.raw] and select the OK button.
Right-click on the name (e.g. "Disk 1") to the left of the Unallocated space and select Initialize Disk.
Select the GPT (GUID Partition Table) radio button and select the OK button.
Right-click on the Unallocated space and select New Simple Volume...
In the Wizard select Next>, leave the default for the volume size, select Next>, select a drive letter (e.g. K), select Next>, MAKE SURE to select the 'Do not format this volume' radio button, select Next>, select Finish.
A box will pop up asking you to format the drive. You DO NOT want to format the drive at this time.
Right-click on the RAW space and select Format... MAKE SURE to change the File system to FAT32. Set the Allocation unit size dropdown to 'Default.' MAKE SURE that the Perform a quick format checkbox is CHECKED. You do not want to overwrite the entire new drive with all zeroes (0's) and destroy your data. Quick Format means that it will only attempt to destroy the index for the drive by establishing a new index. Without this box checked the Windows operating system will write zeroes (0's) across the entire volume, potentially destroying your data. Select the OK button.
A box will pop up saying that Formatting this volume will erase all data on it. That would be doubly true if you actually didn't check the 'Perform a quick format' checkbox. Double check that you actually did check the box and select the OK button. (Don't worry. This essentially leaves the volume in the exact same state that your phone's internal memory is living in right now: there is data on the drive...you just can't see it. It's coming back, I promise!)
Open the Recuva application. In the wizard select the 'Next >' button. Select the 'Other' radio button and select Next >. Select the 'In a specific location' radio button and enter: k:\ (assuming K is the drive letter you chose...) Select the Next > button. Select the Enable Deep Scan checkbox. This is the magical setting that finds files that have been deleted...but not really deleted. Select the Start button.
Finally the application may take about an hour to do the 'Deep Scan.' It's time for more laps around the house! Once the application has returned its results you can choose which files to recover using the checkboxes. Select the 'Recover...' button and choose the location to which you wish to output your files.

For the transfer, I prefer something more along the lines of $adb shell su -c "stty raw; dd if=/dev/block/mmcblk0" | pv -s 16G |  dd of=mmcblk0.raw
of course that copies the whole NAND flash and not just the individual partition, but it's easily enough modified.

in my case (Nexus 4 with Android 4.4.4): 1. the partition was /dev/block/mmcblk0p23 2. busybox was installed at /system/xbin 3. I had to use different port for some reason. screenshot for fun

Once you do the factory reset the data like messages and other content stored in local storage is lost,except that if you have synced the phone with gmail-account, all those sync supported category contents can be obtained back.
Remember these things,
If you use gmail
data like contacts, emails, Calendar, Chrome, Drive, google+ are supported to sync with mail-account, enable sync ,so you will have backup of all these contents online, the important thing which gmail provides with sync is app-data, ie data associated with each application you install on your phone, and regarding messages, gmail doesnt provide backup withit, so you can use other apps like hangouts and other,so that its data will be saved on sync.
I hope these tips helps you have backup even if you do factory reset by mistake next time.


text:
What to make of my unused GT-I5800
I've never rooted android before, as I considered it too risky for the device I'm actually using, but I just realized I have an older android phone (a GT-I5800) sitting around, so I thought I might as well make use of it. So I have been searching around for what I could do with it, but most questions ask this from the perspective of actually having a phone you use for calling people, so I thought it might help me, if I asked what people would recommend for me.
My perspective: I'm a PhD student in physics, I work on Ubuntu on my laptop, and various linux distros on large university clusters, I have a Galaxy Note 10.1 tab and a Galaxy S advance beside the above mentioned gt I5800, I can code in python and c++.
What I would be interested in (and anything else that might come to the mind of those more at home in the subject):

being able to access it through wireless to run stuff from my other android and laptop (ssh?)
having on OS on it, that does the bare minimum needed to access all the devices on the phone (turning them on or off too) and to run code (if possibly retaining the ability to use it as phone, i.e. dualboot, or some thing that has a minimum running mode and an "I'm a phone now" mode)
using it as a mini server
anything that seems like fun from a geeky point of view:)

a media server, using e.g. BubbleUPnP
a machine for development/coding, using e.g. Terminal IDE
a "picture frame" (before mentioned BubbleUPnP should be able to do that along, but many gallery apps in slideshow-mode as well)
a web server, e.g. with AndroPHP / Bit Web Server (PHP,MySQL,PMA) / Ulti Server: PHP, MySQL, PMA – also see: Turn a Android Phone with broken screen into dedicated Web server
have it ready as emergency/backup phome with some prepaid card
use it as "modem"/router for devices without a SIM card (tablets etc.) or without a data-plan, utilizing its hotspot functionality (sure you could use your main device for it; but using the old one keeps the juice in your main device ;)
use it as "test device" for any apps you want to try. With no important/daily-use/private data on it, you could even use some "risky sounding" apps here, and easily factory-reset it afterwards. For this, a separate Google Account might prove useful as well.

Being able to access it wirelessly: try a vnc app, or AirDroid?
Mini Server: Check out Servers Ultimate
Apart from that, maybe try using it as a torrenting machine or a security camera.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Would it be possible to sandbox apps with SELinux?
Many apps require too much permissions that they do not need to function
Most apps needs internet connection to talk to some API (let's say updates checking or notifications.. etc) and need to access SD Card (for buffering/caching). But if we grant them this they can take all of my data.
It would be great if the OS is structured in a way so that we can grant apps access only to specific directories that only belong to it (think of browser cache, youtube buffer ...) and when the user promptly and consciously want to pass files (eg. upload file throw a web browser) they get staged/promoted/linked to that area accessible by the app.
till that happens, we have SELinux in many android phones can we use it to sandbox apps (the idea is there since 2009 see http://danwalsh.livejournal.com/28545.html)
here is the question: can we define a policy that says (if yes how)

those apps are not allowed to access my gallery directory (DCIM)
those apps are allowed to access my gallery but are not allowed to use network connection

in desktop Linux it was successfully applied (here it was applied on firefox http://danwalsh.livejournal.com/31146.html)

AFAIK, SELinux requires a file system that supports extended attributes, and in most devices, SD card are formatted as FAT which cannot store extended attributes.

Android already has this kind of sandboxing of apps. Each app gets its own data directory (and optionally another on the SD card), and only that app can read that directory. Apps can't read other apps' directories directly.
When an app (such as the gallery) wants to make its content available to other apps, they can offer an interface for the other apps to use. In fact, there are two kinds of interfaces apps can offer.
The first is via the intent mechanism. This is used when you get (for example) a "Choose image from" dialog, with different apps to choose. The intent mechanism allows the app that owns the image to grant the calling app temporary access to only the image(s) you choose this way.
The second mechanism is for the app to act as a content provider. The app then acts like a server, allowing other apps to browse and find content, and access it directly without your interaction. When an app acts this way, it's up to the app that owns the content to choose what security mechanism to use. The app might require that the calling app have a particular permission (even a new permission specially created for this purpose). For example, access to contacts is provided this way. Only the built-in contacts provider app has direct access to the contacts database. It also acts as a content provider, to allow other apps access, but only if they have the appropriate permission (such as "read my contacts").
So, as you can see, the mechanism you describe - to sandbox apps, and to pass files from one app to another only through the user's choice - already exists in Android. It's way ahead of desktop operating systems in this respect. It's up to apps to use these mechanisms to control the content they own - and there's always going to be a trade-off between granularity of control (using lots of permissions) and making things easier for the user to understand (using fewer permissions).

But that doesn't work for the parts the OP explicitly named: those apps are not allowed to access my gallery directory (DCIM): this is located on the SDCard, where no "ownership" applies, and are not allowed to use network connection: there's no (native) way to accomplish that. Which means, you'll have to trust the apps – or root your device and use LBE/PDroid/XPrivacy/...

@Fuzzy: That's because the camera folder is decidedly a shared folder. If you don't want this, you'll need to find a camera app that stores its images in the internal private storage or encrypts the images while in external storage.

as I stated in the question many apps require both "full access to SD" and "full internet access" upon installation. We can only accept or else it won't be installed. It's not opensource to change it. so the only option is to sandbox it

@fuzzy can you tell me more about LBE,PDroid,XPrivacy

Yes' there is but some apps crashes when they see that they are throttled. Xprivacy module for xposed framework and also app settings. Search and you will find threads at xda pages.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Do I really need an SD-card?
I don't have an SD-card as I got my Karbonn Smart A10 Dual SIM Android based on Android Jelly Bean v4.1 and 1 Ghz Dual Core processor out-the-box.  There are two things which appear to need an SD-card:
1 - camera:  when I select camera, I get "No Storage - please insert an SD card"
2 - whatsapp:  when I download and install whatsapp, I get "Error - application cannot be installed in the default install location."
Is there no work-around?  Is the best solution for me to run off and buy an SD card?

Your phone (Karbonn A10) doesn't have storage space available. It has 512 MB available only for the system and the applications binaries (and their data). You can't store media files or any file that applications want to put on a sdcard on this memory.
So, for this phone, you need a sdcard for all functions to work. (but it is not true for all Android phones)


text:
Is there any way to auto-reconnect with a specific PPTP connection on Android?
Every time my phone switches between networks (e.g. 4G to Wi-Fi) the established PPTP connection drops.
I know there is a feature called Always-on VPN, but that seems to only apply to L2TP or IPSec connections.  When I select that option it says "Select a VPN profile to always stay connected.  Network traffic will only be allowed when connected to this VPN."  However, the only option listed is "None", even though you can clearly see a PPTP config behind this window.
I am attempting to use proXPN service in particular but suspect this problem is generalized to PPTP sessions.  For what it's worth the phone is running Android 4.3 and has not been rooted.
Any suggestions or advice would be appreciated.

I think this feature might be hard to have since PPTP doesnt have an active connection. This means the OS or the app has to take up bandwidth and battery power to long pull (keep pinging) the PPTP server...


text:
Removed storage/emulated/0 file and lost access to all files
I was cleaning up my files using the PC and I accidentally removed storage/emulated/0 file completely.
I can no longer access images, music or files in general.
Is there anything I can do at this point?
Android 4.4.2, original, untouched.
The phone is a Nexus 5.
Using ES File Explorer going to storage/emulated/0 (the 0 here is a folder) shows me and Android folder. This is where my data was. The 0 I removed didn't look like a folder on Windows, it looked like a file with no extension.

I'm not sure, but I think it is a symlink (I'm on 4.1, so I can't verify). Maybe try ln -s /sdcard /storage/emulated/0?

0 was a file, not a folder and it didn't look like an alias either. /sdcard only contains one folder: Android. Nothing else...

I'd expect /storage/emulated/0 to be the actual directory containing the whole of the fake "SD card", not a symlink or a file.

Ah, that's bad news. It didn't look like a folder. And it was inside /sdcard. Would you say there's anything that can be done about that?

If it's a mountpoint (what I guess it is), simply re-creating the directory and then re-booting the device should fix it. If it was a symlink, re-creating the symlink should do. But you must be sure to chose the right action; i.e. if it was a symlink, and you create a directory, it won't work out. Maybe you [edit] your question and add the device you're using, so someone else with a similar configuration can check?

It's a Nexus 5. I'll update the answer and add a bit more detail about what I see using ES File Explorer. Thanks.


text:
Galaxy S II Default Video and Music Player apk for CM 10.3.1
I recently installed CyanogenMod 10.3.1 on my Samsung Galaxy S II (i9100)
I lost my default music and video player. Can anyone provide me with working apks of the applications? Those were my favorite media players.

OEM's applications often (not to say always) require OEM's framework which isn't and cannot be included in CyanogenMod.

So does it only work for TouchWiz framework? Are you sure that there is no chance of a modified version?

Maybe someone tried, but there's also legal reason involved (copyrighted software...)

I completely overlooked that. :P


text:
self-signed certificate install claims success, but android acts as if cert isn't there
I am trying to install the self-signed certificate for my web server in Android 4.3. I have the .crt file in the root of the SD card (which is actually emulated as I have no SD card in the slot).
To install the certificate I go to Setting -> General -> Security -> Credential Storage -> Install from device storage.
I get a dialog box showing the name of the certificate (the filename  minus the .crt extension) which I can modify (but don't), a "used for" pull down with "VPN and apps" selected and text at the bottom of the dialog which informs "Package contains: one user certificate". Everything looks okay, so I click "Ok". The dialog goes away and a toast message pops up with "[name] installed".
However if I immediately go to "Trusted credentials and select "User" there is nothing there! The new cert is also not under "System" but I would not expect it there.  If I go to a browser after this and try going to my web site, I still get the warning that the site's certificate is not trusted. I have also tried rebooting, but it doesn't make a difference.
What am I doing wrong? The complete lack of error messages isn't helpful.  Is it possible my certificate is in the wrong format? I have tried using the .crt file in the server's ssl directory and I have tried converting it to DER format.
Update: I read somewhere that Android requires certificates to be in p12 format, so I converted the Apache2 certificate to p12 using the following command:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12

I then repeated the above steps, got the same success message, and then proceeded to still not see the certificate in the user credentials and I still get the untrusted certificate error from the mobile browser.

I had the same problem getting Android to really install the certificate, until I found this site which describes a method that worked for me. It boils down to the following steps:

Create a private key and public x509 certificate with v3_req extensions and enabled as a CA:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/my_site.key -out /etc/ssl/certs/my_site.crt -reqexts v3_req -extensions v3_ca

Convert the certificate to DER format, which is understood by Android:
sudo openssl x509 -in /etc/ssl/certs/my_site.crt -outform der -out my_site.der.crt

Use any method to get the my_site.der.crt to your Android device - I found it easy to just have the file hosted by my web server and download it via the Android browser, which then automatically lets you install it.

Although I would've liked step 1 to be broken into two (1a. generation of private key and 1b. generation of public certificate), I didn't invest too much time investigating how to do that. Please let me know in a comment if you found a way that works, thanks.
(Rather than add a comment, I feel this really belongs as part of the answer for future reference, so I am editing it in. --Michael)
Instead of creating a certificate enabled as a CA, I created a self-signed CA and then re-signed my existing key/csr with the new CA.  Then I added the self-signed CA to Android and voila!  It worked!
Generating the self-signed CA:
openssl genrsa -out rootCA.key 4096
openssl req -x509 -new -nodes -key rootCA.key -days 3650 -out rootCA.pem

Re-signing an existing CSR I had from creation of the key from the
openssl x509 -req -in existing.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out existing.crt -days 3649

Now using a modified form of your second command I converted the CA certificate to DER form:
openssl x509 -in /etc/apache2/ssl/rootCA.pem -outform der -out ~/rootCA.der.crt

The great thing about this is, any additional untrusted certificates that are now re-signed with the new self-signed CA will now be trusted on any device than has the new CA installed without needing to install anything else.  This doesn't exactly solve the problem of trusting sites you have no control over, but it might make it easier if you have any influence over (say) your IT department for an internal server or something.

I already have the certificate I need to install, so I tried step 2 and it still is not showing up in User Trusted Credentials after it claims to succeed in installing, and Chrome still displays the "untrusted site" error after restarting.

Could there be something about the v3_req extension and enabled as CA that the certificate is required to have for Android to use it?  If so, is there a command that I can use to take an existing certificate and add that information to it, as I don't have control over all the certs I want to install.

To answer the first half of my previous question, I read the page you had linked, and it appears that the problem is that Android refuses to install self-signed certificates (but not self-signed CAs).  This seems to be un(der)-documented, and the fact that Android pretends to install makes it even worse.  But the question remains, if I have a self-signed cert that I don't have control over, is there some way to "CA"-ify it so I can install it?

@Michael, that is why I said in my answer that I'd like to break up step 1 so it could be used for already existing certificates. Since I only needed it for my own server, I was fortunate enough to be able to use the steps as they are. But I totally agree with you, this is one of the really nasty issues of Android, especially because there doesn't seem to be any clear documentation on that... I spent many hours searching and trial-and-error until I found that link.

@I hope you don't mind, I'm going to edit your answer to include my solution, rather than including it in the comments, as it really belong as part of the answer.

+1 I don't mind at all - because it will enable future readers to re-sign additional certificates. Thanks for investigating and finding this significant improvement! I might edit the answer slightly for clarity later.

I don't get it how the existing.csr signing request is generated. I think this is the last missing point for a complete step by step tutorial.

Not working any longer on Android 4.4. Again claiming success even telling that certificate is installed on repeated attempt, but it is nowhere to be found.

@wie5Ooma: I am using the certificate I created via the first method (steps labelled 1,2,3 above) on my Android 4.4.4 (Cyanogenmod). It complains at startup about "your device is being monitored" but apart from that, it works just fine.

@FriendFX My android 4.4.2 (non rooted) pretends to import the certificate like I said before but does not store it. CADroid refuses to import the certificate and complains about the identity in the CN field. I'm using the IP address in the CN field which might contribute to this.

@wie5Ooma My 4.4.4 isn't rooted either. I'd suggest investigating the CN field problem and if that doesn't help, have a look at this site (which is where I got the info for this answer from), maybe there is some corner case I have missed. Let us know how you go!

I see I didn't respond to this. I solved the problem. CAdroid is just plain stupid and tries to import the server certificate, not the CA certificate so I imported it manually.

After trying A THOUSAND things... It was the extensions which were missing. So, creating the cert and key using -reqexts v3_req -extensions v3_ca finally did the trick. At least 6 hours. I swear. Thanks!!

Old comment @cguenther, but "Re-signing an existing CSR I had from creation of the key from the" is confusing since instructions for creating existing.csr aren't mentioned. However, you can create it from existing.crt and existing.key files using "openssl x509 -x509toreq -in my_site.crt -out existing.csr -signkey my_site.key"

authors: владимир швалёв


text:
Installing an app from Play Store using the command line
Is it possible to install an app from Play Store using the command line and if yes, how?
What I am trying to accomplish is something similar to using adb install file.apk but instead of an apk file the target would be a package name of a Play Store app (for e.g. adb install com.spotify.mobile.android.ui).
Is something like this possible?

You can use: gplaycli https://github.com/matlink/gplaycli

Short Answer : No.
Long Answer :
adb install is a "shortcut" that is equivalent to open a shell (using adb shell) and type pm install. pmstand for package-manager and his behaviour is the same as other package manager in other Linux distributions (like aptitude in Debian or pacmanin Arch Linux) except that pm doesn't fetch package from a distant location.
The Play Store is an application like others, and we can't call android applications like we call a program like a C or "normal" Java program, because the .apk file isn't actually a binary, but a simply zipped package. It is the Dalvik Virtual Machine (sort of equivalent to the Java VM) that deals with running applications. The Play Store application simply download the application you want and then run pm install on the package downloaded.

I was looking for the same answer, i can't find a single command to do this, but i found few options that could be useful in such cases:
A. download the .apk to your computer and install the apk from it (just google 'apk downloder' and find one suitable for you):
adb install com.myapp.apk

B. open playstore app from adb and point it to your package, this will look like this:
adb shell am start -a android.intent.action.VIEW -d 'market://details?id=com.myapp'

(i'm sure it can be automated to simulate the neccesarry clicks and install the app, but this requires much more work)
none are as easy as just installing from computer cmd, but that what we have now.

On Mac, Linux and recently also Windows, you can have a bash command prompt, and in there (or in your .profile settings file) you can define a function like this:
adb-am ()
{
adb shell am start -a android.intent.action.VIEW -d "market://details?   id=$1"
}
and make sure to paste each gray block as a separate line. Then you run it with adb-am com.google.android.apps.photos

One way to achieve what you want (at least partially)  is to use
 pm install -i "com.android.vending" -r "path to apk"

In the adb shell. That way, though the app is side loaded, it will appear to have been installed from play store.

If you know the x and y coordinates for the install and accept buttons you can run the following after starting market pointing to app like Ohad Cohen stated
adb shell input touchscreen tap x y -  x and y coordinates for install button with space inbetween
pause for a second or 2
then run
adb shell input touchscreen tap x y - x and y coordinates  for accept button with space inbetween
then close play store adb shell am force-stop com.android.vending

Google has tried to protect Play Store (Android Market app) from enabling automatic app installs, since it could be abused to make people buy apps. Appbrainz Fast Web Installer is or was an automated solution; https://www.appbrain.com/app/fast-web-installer/com.appspot.swisscodemonkeys.apppusher


text:
Exotic key combos (e.g. for emacs) with bluetooth keyboard
I recently bought a bluetooth keyboard (logitech, not sure of the exact model) for my Nexus 10 (on Android 4.3). It works nicely for everything except for some unusual key combos used in Emacs, such as control-Enter and control-/ (these don't work, just emit Enter and "/", repectively).
I'm using JuiceSSH to connect to a Linux host.
Has anyone found either ways to fix this or systematic ways to debug keyboard issues with Android & ssh?

Not sure whether it helps, but have you tried External Keyboard Helper? From its desc: It supports a lot of different keylayouts also provides a lot of configuration options. If it works, you will need the Pro (USD 2.50), but you can first try with the free "Demo" I've linked.

Yes, tried it already, although for a slightly different purpose (remapping caps lock to ctrl). As it seems, with the remapping switched on it just adds a few combos to the "not working" list, unfortunately. But thanks for the idea! :)

D'oh, that's sad news. And another sad one is I know of no other way... Wait: there's also External Keyboard to change the layout for external keyboards. Plus, in its desc it mentions For Android 4.1 (Jelly Bean) and newer physical keyboards are already supported by the system and can be configured in the system settings. Have you checked that? // Related question: Use bluetooth keyboard with a different layout?

More probably helpful sources: The HTG Guide to Using a Bluetooth Keyboard with Your Android Device plus, somewhat older (not sure if it's still applyable) How to map android keys to your usb/bluetooth keyboard. Maybe of use as well: Customize external keyboard layout for Android.

I was was using ConnectBot as my ssh client, and was having similar troubles with emacs and a Bluetooth keyboard.  I couldn't execute several of the most important key mappings.
An ssh client called "serverauditor" was the fix for me.  I just connected with that instead, turned on my bluetooth keyboard, and everything worked!  No configuration headaches, and no external programs to remap my keyboard.
The only issue I had was Ctrl-Space for set-mark-command, but Ctrl-@ works fine as a substitute for the same command.

A link to "serverauditor" would make this question much more useful.

I just installed that app from https://play.google.com/store/apps/details?id=com.server.auditor.ssh.client and it made things worse! Not only does the Alt key not work, but the Ctrl key doesn't either - whatever modifier keys are held down are ignored and just the plain letter is sent.


text:
How to show local language fonts in Chrome?
How to show Gujarati language font in Chrome for Android? I cannot read any Gujarati site like divyabhaskar.com, etc.
By the way in Opera Mini for Android browser there is the ability to show bitmap fonts for complex scripts. After enabling this option in Opera Mini I can read Gujarati fonts very easily. I tested all browsers available for Android but only Opera Mini seems to work. I regularly use Chrome so I want this function in Chrome so I can read my local language news sites online.

Why no body answer?


text:
how do I type special characters in ConnectBot?
I use an Apple bluetooth keyboard with my android Nexus 5.
In ConnectBot I do not get the special chars when I use the Shift-key.
How can I type special chars like +_)(*&^ in the terminal?

Strange, a very similar question we had already a few hours back. So maybe you want to cross-check with Exotic key combos (e.g. for emacs) with bluetooth keyboard?


text:
Is there a way for 3G to not disconnect when connecting to WiFi?
WiFi is unreliable, I wouldn't trust WiFi for SIP calls, I've disabled WiFi within CSipSimple.
Now every time I connect to WiFi, my SIP registration seems to go away, and I'm not receiving any calls at all.  It's also unclear what happens when you do receive a call, unlock the phone to pick it up, and then the phone connects to WiFi (which it presumably didn't do during the sleep in order to conserve the power).
Is there a way to make this work?

At least related, and maybe helpful: How do I connect to a wifi ap and 3g network simultaneously? / Route Application through Mobile Data when on Wifi

Since @avesus answer and the corresponding discussion went away somehow, here's the useful link he has brought to my attention: http://stackoverflow.com/a/5883882/84661

That's a way for developers to do it, so it wouldn't fit as an answer here (though it shows that it's possible). So your solution would be asking the CSipSimple guys to implement that – or asking at SR whether there's an Android app that could do this. Though I assume for doing that for other apps would require root access. (As for what THIS site is: not for development questions, but for end users – see our [help/on-topic] and our [tour]).


text:
Documentation/reference for fastboot
Where can I find the documentation for fastboot in Android SDK's platform-tools?
I know that running fastboot on its own gives a quick help for the different commands, but I'd like to know about details such as:

update: What does update.zip need to look like
flashall: Where do the flash boot + recovery + system come from, what format, etc.
boot: What is the format of <kernel> and what is the <ramdisk> option
flash:raw boot: What is the difference to boot and what is it used for

I am surprised that in the Android Developer's Tools Help there is documentation for adb but not fastboot.

Any progress here? I'm wondering about flash:raw, too.

Fastboot commandline utilisation as per eLinux.org is shown below.
$ fastboot -h
usage: fastboot [ <option> ] <command>

commands:
  update <filename>                        reflash device from update.zip
  flashall                                 flash boot + recovery + system
  flash <partition> [ <filename> ]         write a file to a flash partition
  erase <partition>                        erase a flash partition
  getvar <variable>                        display a bootloader variable
  boot <kernel> [ <ramdisk> ]              download and boot kernel
  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
  devices                                  list all connected devices
  reboot                                   reboot device normally
  reboot-bootloader                        reboot device into bootloader

options:
  -w                                       erase userdata and cache
  -s <serial number>                       specify device serial number
  -p <product>                             specify product name
  -c <cmdline>                             override kernel commandline
  -i <vendor id>                           specify a custom USB vendor id

update: What does update.zip need to look like

In general, fastboot flashes only .img files.
The update.zip generally consists of .img files which will be flashed to the particular partition. A typical  update.zip file to flash via fastboot will have following files and more
boot.img
recovery.img
system.img
userdata.img
radio.img
etc...

flashall: Where do the flash boot + recovery + system come from, what
  format, etc.

flashall will flash the system.img, boot.img & recovery.img in the current/PATH folder. These images can be obtained from the update.zip mentioned above.

boot: What is the format of <kernel> and what is the <ramdisk> option

In fastboot boot, the <kernel> format is an .img file. I am not sure of the <ramdisk> option. My guess would be to boot a kernel with a modified ramdisk without altering the built kernel (I am not a developer, sorry).
This is what I have learnt fiddling with Nexus phones. Others can correct any obvious errors in the write up.


text:
Is there a "clean" Android I can reinstall on my Galaxy S4?
I recently bought a Samsung Galaxy S4 and the OS that came with it has many problems IMO. It feels equivalent to the bloated Windows install that would come on my Dell PCs in the 90's, so I'd like to re-install a "clean" version of Android.
Does such a thing exist?
Is it the case that there is a "clean" Android with a basic UI, Apps container, wifi functionality etc. from which most other distributions extend? Or do I have to search all the various ROM forums and try different ROMs out (hopefully I'm using the right terminology here) until I find one that I like?
I want something as close to iOS features as possible - just a sticky list of apps at the bottom of my screen, app groups, minimal number of pre-installed apps to name the main features I'm hoping for.

You will have to check with Where can I find stock or custom ROMs for my Android device? ROMs are always device-specific, due to "proprietary hardware components" requiring special driver adaption.

I should down-vote, just because you said you want something more like iOS ;-).  Android is great (I know you didn't mean it that way).  You are in luck for your device, and the standard Android will be great for you.

if you want an iOS kind of feel (or a good approximation), you can try some custom launchers and themes found in the google Play store. If you're looking for a clean "android" with a nice list of extra feature then let me recommend you AOKP first and CyanogenMod second.

Unfortunately there is no "base" install for Android phones in general, as pretty much every carrier and manufacturer except Google customize stock Android for their phones.  As someone else mentioned, CyanogenMod is the closest you're likely to get to such.
That being said, the easiest way to ditch bloatware is to use an app like Titanium BackUp to "freeze" the app.  This prevents it from running and from appearing in the app drawer.  The good part about this is that it ensures that you can receive future updates from your carrier/manufacturer, as changing ROMs (or deleting bloatware installed as system apps) will cause future updates to fail.
If you want to reclaim internal SD card space, you can do a backup of the app first so that you can restore it later if/when you need to update the system.
You'll need to root/jailbreak your phone in order to use TiBU's freeze feature, but if you're thinking about installing a different ROM this shouldn't be an issue.
There are free solutions for freezing, deleting and backing up apps as well, but TiBU is a darn good app and worth a few bucks (tho the UI can be a bit confusing for some)
If you want to get into heavy customization of phone system features, your best bet is probably Xposed, a framework for installing addons to expose and control Android features.  It can be wonky with TouchWiz, tho, which most Samsung phones have on them.

You should try out http://www.cyanogenmod.org/, they have a version of their ROM for pretty much every major device out there. They try to stick to the AOSP (Stock/Vanilla) Android as much as possible.
If you use a stable version or a mile-release you'll probably never have any problem with it. If you want the latest features, you can use the nightlies, but they might have some bugs from time to time.
On my Galaxy S3 I've got a Android 4.4.2 ROM that is based on cyanogenmod source with some added components. While the stock Galaxy S3 OS is not even on Android 4.3 yet.

There are Custom ROM's available in this site http://forum.xda-developers.com/galaxy-s4 . In custom ROM's OS will be clean and even you can remove unwanted Apps.
For installing custom ROM's, you have to root your phone. Your phone warranty become void when you do this. Please read the T&C from their sites.
There are so many developers working for custom ROM's. Read the forum carefully before doing this.

In your case, because there was a Developer Version of the phone (maybe called Play or Google edition) there likely is a clean version of Android, with just the 'Pure' Google Android experience available.  Check the the XDA forum where you will likely find a ROM.
Otherwise, here is a promising link:  http://www.technobuffalo.com/videos/how-to-turn-a-galaxy-s4-into-a-google-edition-phone/


text:
In Samsung Galaxy S3 mini TalkBack is always speaking when switching home screens
From one day to the next, TalkBack started to tell me on which home screen I am. It is always using the Google voice, even if I set it to Samsung TTS.
Texts:

Page 2 of 5. (German pronunciation)
Der Ordner ist geöffnet.
Der Ordner ist geschlossen.

(My locale is German)
TalkBack was switched of before and when I go to settings, the text entry of TalkBack reads "off". When I enter into the TalkBack settings however the slider is switched to "on". Switching it of does not help as it always stays on but displaying off in the textual list view.
My next try was deactivating the TalkBack app completely. This did not solve the problem either.
Is there a setting I do not know about or another trick I could try?

wiping the cache partition did not help either.

Problem can also be caused by airDroid. Go to settings accessibility and ensure AirDroid notifications are turned off. It took nearly 2 hours to find this one as I had done everything suggested in this thread. Frozen screens just remember to use 2 fingers

I do not own this phony any more, but yes, I had AirDroid installed at the time. Easily possible that this was the same cause.

Very good hint.. For me, it was the "Optical Reader" when given accessibility access, whereas Airdroid was well-behaving for a change.

go to application manager and find the google text speech and disable it .

Go to application manager then to All down to Google text to speech and clear data and back out. This worked for my Samsung 3.

I just encountered this problem - I seem to have solved it by doing force stop on the app 'Google Text-to-speech'. (I also cleared application data, but I guess it's the stop that worked.)

LOL, wooow. One really irritating feature if you aren't visually challenged.
My toughest challenge was switching this talkback feature off again for I couldn't scroll down my screen. I would only manage to get the first few options which appeared on the first display of the screen and could see nothing lower down.
To overcome this, try to double swipe instead of single swipe your finger on your screen.
To solve the problem. Just go to your setting, my device, accessibility, then talk back and then disable it from there.
Once you can navigate by double swiping, it's pretty straight forward. Good luck.

A bit late I know, but I've just been having a similar problem with a Samsung Galaxy S3 Mini.
This is how I got rid of it. I tried other ways, but found that if I turned the phone on and off again, the speech would come alive again. This was the only way I could kill it off for good.
Go to Settings -> Accessibility -> Text to Speech and there will be a list of current text to speech providers (I had 2, Google and Samsung)
Go to Application Manager -> All
Find Google Text to Speech and disable it
If there is no disable button, you will have to click Uninstall All Updates first, then go back, and the button should now read Disable
You'll want to do the above step for each Text to Speech option you had in your list. I had 2, so I did it again for Samsung TTS.
Now if you go back to Settings -> Accessibility -> Text to Speech there should be nothing left in the list and your home screen will finally be silent. Hooray!
I also have driving mode and TalkBack disabled. I already had them turned off, but they didn't help.
Hope this helps.

Hmm. Though that might work: wouldn't that disable all other TTS events as well? My alarm clock would no longer be able to talk to me in the morning (informing me about weather conditions and calendar events), eBook readers couldn't read books to your ears, and your "car mode" would stop reading incoming SMS while you're driving. Somehow that sounds like killing a fly with a cannon ball (if atomics are unavailable).

Disabling "Samsung TTS" app and also Google text to speech.

although this one liner post may solve the issue, but it is always better to write your answer with more details, explaining the step-by-step procedure.

Open Settings
Go to Application manager
Scroll left to All
Scroll down to Samsung TTS and click it
Click disable and force stop

What is working for me is to have disabled AVG Antivirus.
Settings-->Accessibility-->Services-->Antivirus: Disabled

I tried all of these options; disabled everything and the voice kept turning back on.  Eventually I uninstalled the cleaning app -  AIO Cleaner - and the voice stopped.

Disabling "Google Text to Speech" worked to kill it for me.

authors: محمد عامل اف


text:
Allowing restricted accounts to use gmail/hangouts
I'm pondering deploying a fleet of nexus 7 tablets, but I'm running into a few hiccups on managing the fleet.
I would like to do the following:

Use multiple restricted accounts on each tablet
Allow access to the browser
Block google play store (easy enough with restricted accounts)
Allow each account access to individual gmail/hangouts for communication (not an option with restricted accounts - as it appears it is blocked and uses the primary user's info)

Is there any work around to allow restricted accounts to access gmail/hangouts?
Thanks,

The main difference between a "user profile" and a "restricted profile" is that a restricted profile doesn't have its own Google account, which is needed for Gmail and Google+ Hangouts. A restricted profile with a Google account in it is just a normal user account.
If you want to restrict access to features in a normal user profile, you need to use device-administrator software to impose a security policy. This will also allow you to remotely/centrally manage each device.


text:
USB tethering: Allow only wifi
I want to connect my computer to my wifi network. As it does not have a wifi module I use my phone (Nexus 4, Android 4.4.2) to tether its wifi connection via USB.
When my phone looses the connection to the wifi or I forget to turn it on when I come home my computer uses up my phones mobile data, which I obviously don't like.
So the question is: Is there a (native?) way to limit USB tethering to the wifi connection?

This all sounds very complicated when USB Wi-Fi modules cost less than ten pounds.

It isn't complicated at all - I connect my phone, click on a shortcut and am ready... My phone's lying on my desk all the time anyway, so why by more hardware instead of using the one that's available.
I now just disable mobile data when USB tethering is activated, this shouldn't be necessary though.


text:
unable to upload doc files in android latest version
I am not able to upload  .doc files on my android mobile.I have Kingston software installed so whenever I use the upload button from the webpage it just displays my gallery, camera, voice and video recorder. It does not display the file browser so that I can select the file from my file system.

Please consider that we don't all have exactly the same software as you, so we don't necessarily know what this "Kingston software" is you mention, nor what webpage you're talking about. To get better answers, [edit] your question to describe the problem more fully, and include your phone and Android version.

This is a genuine question. I just did a factory reset on my Android 4.2.2 and there is no Kingston software. But when I try to attach a file in Gmail, I am not given an option to choose a file from the filesystem. Even trying to attach a file from Google Drive doesnt work

By installing androZip my problem is getting resolved :)

I don't know the software you're using but I'd recommend looking into Airdroid, it installs a small application on your phone and lets you manage it from a web interface. After starting the service you can copy all data in both directions.

And how does that help uploading files to a website? Airdroid is to remotely manage your Android device, which is a completely different task.

"Kingston" is similar to MS Office where you can edit/modify doc, xl, pdf and view presentations. I have read similar issues I am hearing about EStrong File Explorer and androZip. Are they helpful software ? can resolve my issue ??.

that might be right Izzy and is now clear when I know that Kingston seems to be some kind of office suite.
@RizwanSA So what "webpage" are you trying to upload your files to?


text:
Do I lose pixel information if I use landscape mode?
I thought the camera sensor has a defined maximum resolution.
But in landscape it records a photo in 16/9 format, while in portrait it takes 3/4 ratio.
So is it better to force portrait mode and postprocess the pictures into landscape, if desired?

I don't know about the HTC One, but it's usual to include a setting for the aspect. Is there a setting you can set to use full-frame for both?

The orientation you take the photo doesn't affect the pixel information in the image at all. The camera still records an image of (for example) 3456x2304 pixels, whichever way up the phone is. It also sets a flag in the JPEG file to note the correct orientation of the photo. Then, when the photo is displayed, it's losslessly rotated when reading the file, so that it appears in the correct orientation.
A few years ago, this would lead to some image viewers showing the photo in the wrong orientation, because they didn't understand the flag, but almost all photo software (and even embedded software, such as in smart TVs and digital photo frames) can use the correct orientation today.
If you like, it's still possible to postprocess the image. A special tool (such as exiftran on GNU/Linux) can read the image and the flag, apply the correct rotation, and write out the rotated image. It uses a special trick to rotate the image without having to decompress and recompress the JPEG file: this way, there is no loss of quality.

i edited my question, cause at my cam in the htc one, it records in different ratios


text:
How can I find out all sensor my smartphone has?
Is there a way to analyse, which characteristics my smartphone is capable of?
I found an app Z-Device Test, that claims to be able to analyse these characteristics:

the GPS signal, camera, compass, accelerometer, microphone,
  speakers, WiFi signals, Bluetooth, GSM / UMTS, FM Radio, Display,
  Battery, CPU, Memory, Vibration, USB, Audio / Video , operating
  system, light sensor, proximity sensor, temperature sensor, flash
  sensor, NFC near field comunication, Barometer, the detection of Navstar

But that program abuses its system privilege to dump advertisements everywhere, so I don't want to test that one.
Is there a safe way to get the information?

Guess there are some more apps for sensor testing: Check My Android / AndroSensor / Sensor Test / Android Sensors / Phone Tester (sensors, GPS...) / ...

sure, but I am afraid, they are all spyware? thats, why I asked here, if there is another way. maybe directly on the android terminal?

Guess that's a bit paranoid: I've heard not all apps on Play are spyware, so there must be one app that's not :) Seriously: Just check their permissions, ratings, download count, and then decide for yourself. // For whether it's possible just via the terminal, I must pass on to someone who can tell. But I doubt that would be easy, without any programming involved, as maybe not all sensors have corresponding command-line tools.


text:
Show WhatsApp popup when clicking the message in notification panel
We can enable popup notifications in WhatsApp settings for "Only when screen is on" and "Always show popup".
What I want is, it shouldn't show any popup when message arrives like popups are disabled, but when I click on the message in notification panel, it should show the popup and I can quickly reply.
Similar to what iOS "Quick Reply for WhatsApp" tweak does. Is it possible?

I don't use WhatsApp, so I'm a little confused. What happens now when you click the notification?

@DanHulme when clicking on notification, it takes the user to the conversation/thread in the app.

Ah, and Салман instead wants it to bring up the pop-up. I see. If there's no setting for that in the app, there's no way around it.

I see, I was thinking some app or tweak can bring up the popup when required.

Related: http://android.stackexchange.com/questions/109092/ios-quick-reply-feature-on-whatsapp-for-android (no answer yet as of now)

WhatsApp has implemented this feature on Mar 29, 2016 (v2.12.560). As a fallback for quick reply feature on Android N, WhatsApp added a (kind of) quick reply from notification for all Android version.
When a notification comes, you can expand it (i.e. by sliding down) to show the Reply button. Tapping the Reply button will bring the message as a popup, which you can also reply directly from there.

Image courtesy of AndroidPolice


text:
Find out which firmware to use to revert to stock ROM
I bought the SG3 (GT-I9300) 6 months ago from Amazon Germany. I have Cyanogenmod 10 installed but wanted to revert it because I'm selling the phone. I want to use this guide to revert it, but I'm not sure which Firmware I should download from sammobile. I didn't get the phone from a specific service provider, so I have no idea which firmware I should use. Any help?

You can use a SamMobile ROM, but be sure that the model, the country and the original carrier match the phone as different carriers often require different radio drivers if they use different radio spectrum for bandwidth.  If you don't know which carrier there are several routes you can use to determine it:

find out which radio you have on your device and match it to the appropriate carrier's
find out what frequencies your current carrier uses and use that to determine the equivalent carrier for the SamMobile ROMs
the version of CM you installed should also tell you which radio is on the phone, on the CM website
you can also get the information directly by dialing the code *#0011# on your phone, tho it may not be overly helpful (GSM900 is helpful, for example, but WCDMA is not - if it's WCDMA you'll have to look up the Rx(download) and Tx(upload) to determine frequency)

FWIW, I find that Odin generally is easier to use than Kies for flashing ROMs.

You can download Android 4.3 for s3 i9300 for your device From sammobiles. I think Android 4.3 released in Germany.
OR Else If you have the back up before flashing the ROM, you can restore it from Recovery

Not helpful, as if the OP doesn't know the correct carrier he can brick his phone by using a ROM with the wrong radio.


text:
Is there a way to automatically put my Android phone into silent mode while recharging?
Every night before sleep I usually put my Galaxy S4 into my bed's headboard to recharge, but every night I also get up because of the beep that the phone does when someone send something to my wazzup messenger.
It's not nice put it into silent mode before sleep and return from it every day, is there any way to do such ting automatically?

Do you want to silence it while charging, or just while you're sleeping?

When charging it

You can use Tasker for this (Play Store link). Tasker can create macros that are run on certain triggers, such as connecting the phone to a charger.
An example of the necessary programming can be found here. Check the link for additional info, but here's the necessary part:
Create Profile "Sleep Mode"

Add Context Power
    Source: AC    //You can also set this to all when you
                  //charge your phone using USB.

Add Context Time
    From: 22:00
    To: 07:00
    Repeat: Off

Add Start Task
1.  Silent Mode
    Mode: On
2.  Variable Set
    Name: %SLEEPMODE
    To: 1

Add Exit Task
1.  Silent Mode
    Mode: Off
2.  Variable Clear
    Name: %SLEEPMODE

Tasker is pretty much the default answer for any question that follows the format "Is there a way to have my device automatically do X if condition Y?" :D

Yupp, it is. And in onik's example, one could even ommit the exit task: Tasker then would automatically revert to the settings active immediately before the profile triggered.

tasker is a paid app, there isn't any free solution?

@Diogo There are quite a few.

I like @Nick's answer; Silence@Power is much simpler than this answer, as it does exactly what's being asked for and nothing more.

I used to have the same boring procedure every night. Plug in the power cable to recharge the phone and turn sounds off manually. So I decided to create an app to automate this procedure.
With this app, user can define the time interval within the app is active (eg. 23:00 up to 6:00am) as well as the appropriate actions to be taken when user plugs in or unplugs the device from the power cord. You can mute not only the call ring tones but also the sms/social network/emails notifications.
The application does not require many resources as it's triggered only on power cord plug in/out and on specific times.  On Android 5+ muting is in form of "Do not disturb" mode, which means that user can allow some important contacts (eg. favorites) to disturb the silence. (See the phone setting for this mode).
It's called Silence@Power and you can give it a try on Play Store (play store link)

reopening an old thread as I lost this feature and could not for the life of me remember how it was provided after I did a factory reset.
Sony has an app called smart connect for use with their smart phones and other bits and bobs they make, its free and you don't need to use it for anything else.
When you plug your phone in at night it gives you a host of options so you can mute apps and allow calls or just tell everyone to go away until morning.
Hope it helps someone
https://play.google.com/store/apps/details?id=com.sonyericsson.extras.liveware&hl=en_GB

You can use the free/paid version of AutomateIt or MacroDroid for the desired automation.
AutomateIt

Rule for enabling silent mode:

Trigger: Power Connected Trigger
Action: Set Sound Mode Action → Silent (No Vibrate)
Rule Details: No

Rule for disabling silent mode:

Trigger: Power Disconnected Trigger
Action: Set Sound Mode Action → Normal (With/No Vibrate)
Rule Details: No

You can  set  time based triggers in coordination with power triggers using Composite actions trigger, you need to unlock it though.
MacroDroid

Macro for enabling silent mode:

Trigger: Power Connected/Removed → Power Connected
Action: Set Priority Mode → None | Vibrate Enable/Disable → Silent (Vibrate On)
Constraint:  None | Time constraint
Name: Quiet!

Macro for disabling silent mode:

Trigger: Power Connected/Removed → Power Disconnected
Action: Set Priority Mode → All | Vibrate Enable/Disable → Normal
Constraint:  None | Time constraint
Name: Go loud!


text:
Cryptic Symbols & Loss of Connectivity
My device lost 3G Connectivity this morning and only resumed around 10AM, when it did however, this minus icon was present.
Any ideas what it is? What it means, and how to get rid of it?

Solved this, it wasnt quite blocking mode, but close. The tablet seems to have a device to suppress icons from being shown, where the wifi toggle buttons are in task bar, there is an option entitled notifications, which when toggled on can suppress icons being present in this area.

You might have the blocking mode enabled (it's an option available in Samsung devices). To disable this mode go to Settings > Device panel, and tap the blocking mode option to enable or disable.
Source: http://www.twelveskip.com/tutorials/android/493/samsung-galaxy-s3-what-is-blocking-mode-and-how-to-use-it

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
mount command outputs usage on correct arguments
I enabled root for adb, and then tried the following:
root@crespo:/ # mount /dev/block/platform/s3c-sdhci.0/by-name/media /storage/sdcard0
Usage: mount [-r] [-w] [-o options] [-t type] device directory
1|root@crespo:/ # mount /dev/block/mmcblk0p3 /storage/sdcard0
Usage: mount [-r] [-w] [-o options] [-t type] device directory
1|root@crespo:/ # mount /dev/block/mmcblk0 /storage/sdcard0
Usage: mount [-r] [-w] [-o options] [-t type] device directory

but, even if -t is optional, I get a different error message by adding it:
1|root@crespo:/ # mount -t vfat /dev/block/mmcblk0 /storage/sdcard0
mount: Device or resource busy

maybe the arguments parsing of the command is messed up... seems like a bug in busybox, or is something much more pedestrian going wrong?

Check that /dev/block/mmcblk0 is a device node, and that /system/sdcard0 exists and is a directory (not a symlink).

whoops, I realized that the correct target is /storage/sdcard0 not /system/sdcard0... the result is still the same btw

@DanHulme stat /dev/block/mmcblk0 says it's a block special file and stat /storage/sdcard0 says it's directory

I also sent a mail to the busybox mailing list: http://lists.busybox.net/pipermail/busybox/2014-January/080328.html

You can't mount mmcblk0, you can only mount partitions (xxxxxxYpZ)

Don't add extra spaces in commands,it won't work.

I agree, the argument splitting is done by the shell, busybox sits at a lower level... I'm not sure which kind of shell is running on cyanogenmod, but it was a bit of a leap to assume it'd matter... since the question is clearer without that, I'll remove it

It turned out that mount isn't actually supplied by busybox, but by toolbox.
With this knowledge, it was easy to track down the cause of the bug: unlike busybox, since I don't have another "toolbox" implementation with a correctly working mount command, it's likely that the behavior would've been easy to see from the code.
In fact the problem is here at line 330: it checks if type == NULL, but then outputs an USAGE that erroneously shows -t as optional
Compare with busybox at line 1930: // Loop through filesystem types until mount succeeds


text:
Viber photo sync
My husband is having an issue with photos being sent to him via the Viber app are being synced and posted directly to his Facebook page! How does he stop this?

I think this is done by Facebook's photo sync, not Viber. See Facebook's help page on how to disable photo syncing.
How do I turn photo syncing off?
Android

Open the Facebook app and tap the top left main menu in your sidebar

Scroll to the bottom and select Settings > App Settings

Choose Don't sync my photos

I find that Facebook seems to be more aggressive in what photos it syncs. It seems to find images that Google+ Photos and Dropbox don't, for instance.

Hmmm...I could not find this option of "not syncing photos" on FB as you described it. Do I have to access FB from a pc to see this option?

@Jtc see updated answer for better instructions.


text:
What keyword will help me search for music player app that plays by folders?
I used to own a galaxy s3, and the default music player had that feature. Then I upgrade to a nexus 5, and it seems like it's missing it.
I'm huge fan of organizing my music by folders on my phone's hard drive, so I need an app that can do that, or figure out how google music app does it.
How can I search for these kinds of apps?

@Izzy thanks, question rephrased. Feel free to reiterate your comment as an answer.

Brilliant re-phrasing – hats off! Promptly posted my answer, as requested :) Now going to revoke my close vote (find me ashamed ;) Good hunting!

A good keyword combination is already given by your question: a music player which should play folder-wise should be found using the keywords "folder play", "folder player", and similar combinations. In fact, there are even some players named exactly such, e.g. Music Folder Player, Folder Player, and many more.


text:
Mobile network not available on unlocked Active
I purchased a "new" unlocked Samsung Galaxy S4 Active SGH-I537 phone on E-Bay. Everything works fine except when I use the phone with my local carrier SIM card. When I insert the SIM card and turn on my phone, the carrier name appears and I get full bars. I can make a call or two, but then the carrier name is gone and no bars. At times I get the message: "Mobile network not available". I can’t make any more calls and if I try to the whole phone freezes and I have to do a hard reset.
When I first turn it on and don't try to use the phone app, I can go into Mobile Network and see the list of my local carrier in Network operators. If I try again to go into Mobile Networks, the network bars go to zero and get the message "Insert SIM card to access network services."
I’ve tested the SIM card on my old phone and it works perfectly. I have checked and the frequencies are the same for my local carrier and AT&T's.
I would appreciate any help on this matter.
Thanks.

First, make sure the APN settings on your phone are correct for your carrier. Then try cleaning the SIM card's and phone's contacts. Then, I'd suggest trying a different SIM card. If the problem persists - it could be a hardware issue with the phone's SIM card connector.

I cleaned the conectors and I can see the APN settings in Mobile Network, but only after a minute or two after that I can't see it and gives me the error message "Insert SIM card to access network services." When I CAN see the APN settings they seem to have come from the SIM card and seem fine.

I've tried multiple SIM cards and the exact same thing happens.

Sounds more and more like a hardware issue. You may want to get in touch with Samsung to send the phone in for service. It should still be covered by their warranty, even though you bought it on eBay.

Yeah. That's what I ended up doing.They sent me a replacement.

I will make this the answer then.

First, make sure the APN settings on your phone are correct for your carrier. Next, try cleaning the SIM card's and phone's contacts. You should also try a different SIM to rule out a broken card (also try your current SIM in a different phone.)
If the problem persists - then it's most likely a hardware issue with the phone's SIM card connector.  You may want to get in touch with Samsung to send the phone in for service.
The SIM card contacts on the phones are notoriously fragile, and can be easily damaged by using an adapter (Micro-to-Nano for example) that is either defective or simply improperly manufactured. If the adapter is not an exact fit, the contacts can get "caught" in the gap and bend or even break off during removal.  It's possible this is what happened to the previous owner of your Galaxy S4.
This type of damage is usually not covered by manufacturer's warranty, but it won't hurt to try anyway.  Worst case - there are SIM housing kits available for sale for the Galaxy S4, and ste-by-step replacement instructions on YouTube.  It's fairly easy to replace this module on your own.


text:
Changing email smtp settings for existing account
When setting up a new email account it is easy to enter the various smtp settings.  But I can't seem to find how to change existing settings on my existing email account.  There seems to be no "change" ability on email.
I'm using a Galaxy S3 running android 4.3
Thanks,
Gary

From the Email app, press the menu key, then choose Settings. Pick Account settings, then click the account you want to change on the next screen.
After that, you have to scroll to the bottom to get More settings, and to the bottom again to change the Incoming settings and Outgoing settings.
Samsung appears to have taken lessons from Microsoft on hiding important settings behind "advanced" buttons!


text:
Android 4.4.2 on nexus 4/7, wifi connection loss
I have a Nexus 4 and a Nexus 7 (2013).
Recently I've upgraded my wifi router as part of moving to VDSL.
The problem:
The android devices disconnect from the wifi after some time, I can not reproduce or find the exact time it takes for it to disconnect. After the connection loss the device still "think" it is connected to the wifi (and even shows signal strength), however there is not connection.
I've noticed that problem with the first router I brought (router+vdsl modem netgear vegn2610). At first I thought that the router is the problem since I didn't have that problem with my old router (tplink 841n). So I changed it to d-link 6850u (another router+vdsl modem combo from my ISP). The second router has the same problems.
Notice that other devices (PCs and laptops) do not suffer from this problem.
Both of the routers are 11agn routers and both are capable of 2.4GHz and 5GHz frequencies. The problems are present on both radios.
Is there anything in the wifi radio/protocol configuration that might be causing this problem?
Thanks a head!

for the nexus 7 fix go to this website:http://forum.xda-developers.com/showthread.php?t=2096552

this looks like the typical hassle with Qualcomm's WiFi chips and some routers. Both Nexus 4 and 7 use a WiFi chip manufactured by Qualcomm. Depending on your router's configuration those chips will stop responding after some time when the device is in standby.
A temporary quick fix for this problem is to assign a static IP to your devices instead of using DHCP. This can be done in most routers using a MAC->IP mapping.
If this doesn't help, you can stop reading now.
There are three other methods of fixing (of which one will require root):
Non-root:

Go to WiFi settings -> Advanced and set your frequency to 2,4 GHz only (this will work at a 50% chance)
Go to WiFi settings -> Advanced and disable "WiFi Optimisation" (WARNING: this can lead to a huge battery drain in busy networks)

Root:

Open a file explorer (e.g. ES Explorer) with root privilegs, move to /etc/wifi and open the file WCNSS_qcom_cfg.ini.
Edit these three parameters so that they will all be enabled (=1):

gEnableActiveModeOffload=1
hostArpOffload=1
hostNSOffload=1

Save the file and reboot your device.

A little bit of explanation:
The feature that is messed up in Qualcomm's configuration file is ARP - Adress Resolution Protocol. ARP is meant to map a hardware's MAC adress to it's IP adress so the router can directly call the connected hardware via MAC adress. Usually the router periodically sends ARP requests to connected devices to ensure they're still in the network. When the device is awake and the CPU is active, it will deal with the ARP request and everything goes well.
Once the CPU is asleep, it's the WiFi chip's job to deal with ARP requests so that the CPU needn't to be powered on every time an ARP request arrives. If ARP-Offloading is disabled though, the chip won't respond to the request and the router will kick the device out of its IP<->MAC map, which eventually leads to a dead connection.
When you assign a static IP, the whole ARP stuff is not needed obviously.
Disabling WiFi Optimisation will make the CPU inspect every packet so it will deal with ARP instead of the WiFi chip. The problem here, that this will hinder the device from going into power save mode.
I personally had the same WiFi problems until I manually fixed my .ini the way I described above. It took me nearly half a year to figure the problem out. I hope that I can help you with that!
Best regards!
DISCLAIMER: I'm not responsible if you harm your phone or data.

As I've said all my devices have a static IP. I've checked the ini file and the settings are already set as you've suggested, I guess they were patched since you've first encountered the problem. I guessed it has something to do with the devices not conforming to the protocol. I'll give it a hour to check whether I've been kicked out of the WiFi and come back to update. Thanks

You are assuming the OP is rooted but has not been mentioned in the question.

I found solution: rename the name of my mobile phone.
Refer to https://community.verizonwireless.com/thread/816633


text:
Trying to restore photos from a broken S4 (AT&T), how do I go about it?
My friend broke her S4's screen, and wants to get back the photos from the internal memory. The phone does not have USB debugging turned on, so having it attached to the computer only charges it. The phone does show up in Kies and is asking for me to unlock it. I do have the pin code, but as the screen is dead, and I cannot put it in. ADB devices, and FastBoot devices do not show the phone at all. Fastboot Reboot-recovery does not do anything either.
How can I go about restoring these photos from the internal memory. Any suggestions would be helpful. Thanks!

A good starting point is our data-recovery tag-wiki and its most frequented questions, pointing e.g. to How do I backup data (SMS/contacts) from a device with a broken screen?

Thanks @Izzy - however, I've looked through most of those articles and there was nothing specific to my device, and my problem. Unfortunately, a broken screen on a Samsung device =/= a broken screen on a Nexus device.

Well, a broken screen is a broken screen – but you're right, solutions might not always work cross-device. That's why I wrote "starting point". Sorry, I have no real answer (I don't use a Samsung phone), so I can just point to possible solutions, until a real answer turns up. Maybe a search for "broken screen brings up something helpful? Also watch out for "remote-control" solutions there. I remember we had something comparable.

No worries, I know you are just trying to help. I look around until I see something get adb to work! Thanks.

Just a raw idea (I never tried that myself, so no guarantees at all): AFAIK you can switch your device to "fastboot" mode. Even if you might not be able to access your files from that, you could use it to temporarily side-load (and boot) some image shipping with ADB enabled (if there is such). Also, you might be able to access it with ADB when booted into recovery. Again, no guaranteees – but surely worth trying.

I tried to boot into fastboot by holding home+volume down+power and then pressing volume up + power at the prompt. However, the phone never showed on my computer. This is definitely hard without a screen.

Admitted. Maybe connecting it to a TV or the like via MHL/HDMI? That would at least show the output (hopefully). That way you could also test if it maybe even still accepts touch input. // But again, for Samsung specifics I must pass on the stick.

Thanks Izzy. I already did this and the screen is completely broken--it does not accept any input.

Alright, I managed to get it work. I hooked up a octopus USB extension to a micro USB cable on one end, and an USB keyboard on the other end. I booted the phone and then pressed ENTER, ##PIN##CODE##, ENTER on the USB keyboard and the device unlocked. This took a few tries as I was going in blindly.
Then I unplugged the USB cord, then plugged in a micro USB cable that was connected to my computer (Ubuntu 14.04). The phone showed up w/o any problems and I was able to grab files from the on-board storage.
One thing I had to do was constantly keep pressing the BACK button on the device to prevent it from locking.
At the end of it all, I successfully extracted 4GB worth of pictures.

Though not (yet) a solution for the OP in this case, I will already start summing up helpful facts from the comments: they might solve comparable issues for others. An update might follow if we find further things.

A good starting-point for comparable issues is our data-recovery tag-wiki as well as its most frequented questions, where a solution often can be found already (see e.g. How do I backup data (SMS/contacts) from a device with a broken screen?). A search for "broken screen" might also prove helpful. Even if the devices differ, approaches should be comparable.
A raw idea (I never tried that myself, so no guarantees at all) would be switching the device to fastboot mode. Even if you might not be able to access your files from that, you could use it to temporarily side-load (and boot) some image shipping with ADB enabled (if there is such).
It might also be possible to access the device with ADB when booted into recovery. This very much depends on the recovery image installed (see e.g. recovery-mode). No guarantees for this either – but it's surely worth trying.
Connecting the device to a TV or the like via MHL/HDMI would at least show the output (hopefully). That way you could also test if it maybe even still accepts touch input. In case touch input is still accepted by the device, you might be able to activate usb-debugging this way, and then access the device via ADB – or to install some remote-management software such as Airdroid to have an interface for file retrieval and more.

If all fails, your hope is a local service center to replace your screen without deleting (or stealing ;) your data. Or a data-recovery-company (too expensive, I guess).

If you can enter recovery mode manually on vol up + home + power, give it like 20 seconds of pushing all of those buttons.. at least maybe you can hear a sound of booting up. Then plug it into your system. Run ADB and then run "adb pull / dir of you internal memory" command  mine should be "adb pull / C:\DCIM" <--default location of my photo

I did try that, but without a screen its hard to tell if I'm pressing the right buttons to get to that point. Is there a prompt to go into recovery mode like UP for recovery, DOWN for boot-loader?

Just got home and tried that. I've got it in the recovery mode, however ADB says its unauthorized, and that I should check the device. :|


text:
Instantly transfer a picture taken to PC
I know the Dropbox app allows for synching photos taken between all computers/devices that are connected to your current user account. But I want to know if there's a way I can take a picture, have it delivered to my PC (Dropbox account) and then instantly deleted from my device (kinda like a cut/paste action).

You can do this using the FolderSync app (it is a paid app).
The app allows you to setup local folder(s) on your device which can be synced to various cloud services, a shared folder, or even FTP (see below for a full list). When setting up a "folder pair" you can choose to "delete source files after sync".
There is also a lite version available if you want to test it out first.
Full list of supported cloud services/protocols:
Cloud providers
- Amazon S3 Simple Storage Service
- Box
- CloudMe (using WebDAV)
- Copy.com
- Cubby (using WebDAV)
- Digitalbucket.net (using WebDAV)
- Dropbox
- Dump Truck (using WebDAV)
- GoDaddy (using WebDAV)
- Google Docs
- Google Drive
- HiDrive (using WebDAV)
- Livedrive (using WebDAV)
- MyDrive.ch (using WebDAV)
- NetDocuments (using WebDAV)
- Skydrive
- SugarSync
- Ubuntu One
- WEB.DE (using WebDAV)
- Yandex Disk (using WebDAV)

Supported protocols
- FTP
- FTPS (SSL/TLS implicit)
- FTPES (SSL/TLS explicit)
- SFTP (SSH File Transfer)
- Samba/CIFS/Windows Share
- WebDAV (HTTP/HTTPS)

I use a program called Silent Sifter on our Mac desktop. I think it was like $9 or something but it was very worth it.  Upon initial set up, it got rid of all my duplicates and filed all my existing scattered photos by year and month within that.
What I love about it is that you tell it what folders you want to "input" (Dropbox folder, whatever...) and then where you want it to "output" (I created a folder simply called "Photos - Master").  Then you can tell it how you would like the files to be named and organized (subfolders).  You can then set it to automatically scan and sift as any changes are made.
What this means for me is that anytime I take a photo on my Note 3, it is automatically synced to Dropbox (because I set it up that way in Dropbox).  Then Silent Sifter kicks in on my computer after seeing a change has been made within the Dropbox folder.  It will look at the EXIF data on the photo and I have it set to sort by Year > Month (because I do Project Life style scrapbooking).  You can go as far as sorting by Year > Month > Day > Moment.  I NEVER have to touch a cord again!  So glad I found this program! Especially because Macs are IGNORANT with Android phones...don't even recognize them being connected without additional software - such a P.I.T.A.
I'm sure it can do more than I have even figured out with it yet - I'm not super tech savvy but I try!

Two questions: 1) maybe you've got a link on where to find that program? 2) does it meet the OPs requirement of "moving" the pic (not just copying it, but also removing it from the device)?


text:
Android Beam - vCard Not Init'ing
When I try to send a contact from one nexus 5 to another, Android Beam fails (everything is enabled). Other things such as a pic, a Play App link, etc. work just fine.
When I pull the log, I can see vCard fails to init.  I'm not using any special apps. Just plain stock Android running 4.4.2. Any ideas what's causing this issue?
01-20 14:18:56.187 W/ContactsProvider(16573): Failed to init VCardComposer
01-20 14:18:56.187 E/ContactNfcHandler(30975): IOException creating vcard
Any thoughts?
Thanks,
Steve

Do you have enough storage available? If so, have you tried to reboot?

No, memory\storage is not the problem. Something else is going on.


text:
Google Hangouts: Conflicting online status information
Another "I don't quite understand what is going on in Google Hangouts" type of question....
So - when I view Hangouts via my Android app (running under KitKat), my girlfriend's status is ALWAYS shown as online (green speech bubble next to her picture), even when she is not online.
Conversely, if at the same time I log into my GMail account, her status is  shown as NOT online (no green line under her name). How can she be both online and offline!!?
What the hell is going on here?! Has anyone else had this issue?

Google Hangouts is a little odd. It doesn't really have a concept of online/offline. It just knows about conversations you've had with other people. If you send a message to someone who's not "online" it'll still reach them. If you call but they don't answer it doesn't mean they're not "there". It is a bit weird, and you're not the first person to wonder about it. (There's more than a few questions here as well as [webapps.se] on this topic.)

Not to mention, in the Android app you can set whether people can see your "status", while you can't do that with the Gmail Hangouts app. (And if she's still using Google Talk instead, well, then all bets are off.)

I’m voting to close this question because Google Hangouts has been deprecated and migrated to Google Chat.

Once you sign-in to the Google Hangouts app in an Android device, you will always appear online until you sign-out of the app.  Shutting down the phone, or even uninstalling the app won't do it.  I'm not sure why she appears offline in Gmail.

But why is the status different between gmail and the app? One says my girlfriend is online whilst the other says she is offline.... Its very confusing!


text:
Receiving text messages multiple times
The problem is that I sometimes recieve bizarre text messages: two different kinds.
1st kind: I receive a text message multiple times after receiving it a first time.
2nd kind: I receive a duplicate of a text message days after the real one was received.
I have a Wiko Cink Slim Android device running 4.0.4.
It's a rather low power device (512 MB RAM, for example) but I get by fine with it.
I have tried a variety of SMS clients: stock, Hangouts, Textra, Hello... So far same problem.
I live in France and have a plan with a newer operator Free Mobile, which both piggybacks Orange's antennas and also has its own antennas. I have forced my phone onto Orange's antennas because I read online that sometimes the antenna switching could provoke problems like mine. So far no difference.
However, the problem occured especially when I turn on my Wifi or my Data connections. When I do this, many different applications run and it slows down the phone a lot. Then, I get multiple repeat text messages.
I am leaning towards this hypothesis...

Has anyone had a similar problem?
 Anyone have a solution?


text:
Notification bar turns green when I'm having a phone call (Galaxy S4 Plus)?
Whenever I talk to someone and the Phone app and the phone call in progress is not in the foreground, the entire Notification bar turns all green on me. See the screenshots below. When I return to the phone call it disappears (i.e. turns back to normal/black).

Is this normal? What does it mean then? Does this happen to any one of you with a Galaxy S4? Is it a bug? If this is a "feature" of the phone, how can I get rid of it? I've looked at settings but couldn't find anything relevant.
The phone is a Galaxy S4 Plus (GT-I9506) on Android 4.2.2 (stock ROM and everything, brand new, retail version, unlocked).

I guess it just means I'm having a phone call... in the background... sort of like a reminder? No?... I dunno... I would still like to get rid of it if possible.

The green is a notification that you're still on a call.

Okay. It's as I suspected then. Is there a way to disable it?


text:
How (where) do I browse to the /data/Tombstones (on the System Partition, I think)?
Trying to delete some files from my System partition.
Someone suggested deleting /data/Tombstones
(I.e., what's the Path to it so I can browse to it)
Using Astro File manager I navigated from the SDcard0 up until I got to what seems to be the root. It has folders like:

acct
cache
config
data (which is empty)
...
firmware
...
tombstones (which is empty)
system  (is this the system partition), it does not contain a Tombstones folder.

on unroot device
adb shell or adb pull may no permissions read /data/tombstones.
adb bugreport
but adb bugreport can dump those files (indirectly).
// Tested on android 10.
$ adb bugreport ./output.zip

got files in zip
bugreport/FS/data/anr/*
bugreport/FS/data/tombstones/*

refs:
https://stackoverflow.com/a/58128529/4896468
https://stackoverflow.com/a/47681111/4896468
https://developer.android.com/studio/debug/bug-report.html

If /data appears empty, the app showing that most likely has no root access ("root" in the sense of the privileged user, not the start of the file system). In order to browse that place, root is required.
Not all file explorers support this. For one, there are several specific "root explorers" around. I'd rather recommend ES File Explorer, which I use for years: it offers a lot of features you will welcome after solving your issue – and yes, "root access" is one of them. Provided your device is rooted.
And yes: what you're looking for is /data/tombstones, where "core dumps" of crashes are stored.

Argg... unfortunately, one of the symptoms of the problem (which I think is being caused by the System partition being corrupted or full) is that I can't install anything. I've removed things but still can't install.. It starts installing but never completes.

Is there any way to access that from a Windows PC (via usb connection)?

Sure, but on the same pre-condition: your device must have root access. Then you could utilize adb shell, make yourself root (su), and cd /data/tombstones. As for how to get ADB up and working on your PC, take a look at Is there a minimal installation of ADB?

You will need root access to do anything to /data, /system and tombstone which you mentioned. Once root access is obtained you don't need to do that manually - apps like SD Maid (link) will clear tombstone, cache and other places to free up space for you.


text:
Galaxy Tab2 fails to see functioning Netgear router
We have a Samsung Galaxy Tab2 10.1. It previously connected fine via Wi-Fi to our Netgear router from anywhere in the house. Last night, it stopped connecting and no longer displays the router in the available routers list, even though many neighbour's routers are visible (but password protected, of course).
I have rebooted the router. We have four Mac laptops and two iPhones, and all connect wirelessly to the router without problems.  I have entered the SSID and password manually (and correctly) several times, but no joy. The Galaxy simply states Out of range under the SSID of our router.  Not so surprising as the machine fails to "see" our router at all, even though the router is broadcasting its existence to the Macs just fine.
One last thing: the Galaxy sees fewer of the neighbour's routers than the Macs, and shows a weaker signal strength for those it does see - but I have tried it right next to our router without any recognition. The Macs see our router as full strength from most of the house.  Suggestions?

Check the MAC address on your tablet, and compare it to the MAC address listed for the tablet on your hot spot in the configuration window. If the two MAC addresses are not the same, your hot spot will not connect and an IP address will not be assigned.
I am currently experiencing this problem where something keeps changing the MAC address in my tablet . I have not been able to resolve it, including performing a full factory reset.
I am certainly open to any advice or suggestions on this issue.
Thanks


text:
What are the hardware requirements for Battery monitoring?
I looked at the hardware compatibility list, but there is no mention for a requirement of a battery monitoring functionality in the hardware. But, all phones display the battery level with the BatteryManager API.

Why are you asking this question? Are you planning to create a hardware (or a custom ROM) that doesn't show battery information?

As far as I know, there is no particular requirement.
You will get battery monitoring details when you send particular commands to the battery.
That is, the battery itself will have hardware for that.


text:
Is there a way to force my application to run at the background
This is not a duplicate of this question - Is there a way to force an app to remain running in the background no matter what? because it mention about Android ver 4 and also about lack of memory.
My question is is there a way to force a particular android apps for Android version below 4 to run in the background when the phone is sleeping? Also, I should be able to call those android apps that I specific to run in the background to come to the foreground for me to interact with.
The problem is that some apps, they stop working when the phone when to sleep (due to power saving). Some apps even prompt errors. However, I need them to run in the background. Also, I know that I can use 'Force close' to force a apps running in the background to stop but I just could not find a way to make a particular android apps to run in the background whenever I needed.

It's up to the developer of an app to specify what it should do in the background. Apps have two kinds of component. (Actually, there are more kinds, but they're irrelevant to the question.)
The first, activities, can display on the screen, and can only run in the foreground. However, when you leave an activity with the home key, it gets an opportunity to save its state, so when you next run the same activity, it can appear in the same state you left it. (For example, an email app might display the same email you were looking at before, instead of going back to the inbox.)
The second kind, services, run in the background, and don't display on the screen. They have to be written in a different way to activities, to make sure they don't run down the battery, and they have some control over when they start and stop running.
If an app doesn't save its state, or gives an error when you come back to it after using a different app, you should report that to the developer of the app, so they can fix the bug.

My question is is there a way to force a particular android apps for
  Android version below 4 to run in the background when the phone is
  sleeping?

It depends on the app.
If it can run in background, just press Home button, or open any other app (i.e.: without Exiting this app), It will be running in background.

I should be able to call those android apps that I specific to run in
  the background to come to the foreground for me to interact with.

Just open that app again (i.e.: Switch to that app). It will start working in foreground again.


text:
Why is my Galaxy S4 still not appearing as a device in Mac OS X
I am trying to solve the problem of having an empty list of devices when running adb devices. Why is it not appearing?
I have tried the following to no avail:

Installed Kies and ran Tools > Install driver; then restarted
Turned off the Mac OS X firewall in
run sudo adb devices instead of just adb devices
Read the user manual from Samsung, which simply refers me to use Kies
Attach S4 to a different macbook in case the USB input is faulty
Try both different USB inputs in my Macbook Pro

The output I see after doing a fresh restart and plugging in the S4:
./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

(with nothing more shown underneath)
Also, even after installing the drivers using Kies, the device does not appear there.
I am running OS X 10.9 on a Macbook Pro. The phone lights up and does start to charge when it is plugged in to any of the 2 USB ports on my Macbook.
What else can I try to have my brand new S4 appear in this device list?
EDIT It seems according to this thread (http://forums.androidcentral.com/samsung-galaxy-s4/282817-pc-cant-detect-galaxy-s4.html) that it may just be a faulty cable. I'm currently using the cable that came with the S4. I'll try other cables.

Answer: I was using the cable that Samsung provided with the phone
Solution: Go get a USB<>MiniUSB cable that was provided with a digital SLR a few years back and use that instead. The S4 now appears in the adb output and in Kies just fine.
<sarcasm>Thankyou Samsung</sarcasm>

Same issue and same resolution for a brand new Samsung Galaxy S7 (in addition to enabling Developer Options and USB Debugging).

If using a better cable doesn't work be sure to enable the USB debugging feature under Developer options > Debugging

Enable USB Debugging mode solve the problem! For those who don't know how to enable it (it's very hidden on Android 4.3 onward), see this.

This worked for me: try unlock screen after phone is connected. Screen lock seems to block access to the device from USB as well it seems.


text:
How to detect incoming call is a forwarded call?
I want to know if the incoming call is a forwarded call when my Nexus 5 is ringing. Is it possible?

Check out Forwarded Call Alert Free ROOT. It also has a paid version, and an XDA thread.
There may also be other apps that can do this that I may not be aware of.

Doesn't work on my N5


text:
Free (libre) SSHD for Android?
How can I install a sshd server (with scp support) on Android without relying on Google Play Store for my safety?
Rooting the device or compiling the application is not a problem, but so far I'm unable to find proper instructions. I don't need a GUI either, some kind of on/off switch would be nice tho, but that's not required.

Welcome to the Android Enthusiasts – and thanks for sharing your solution with us! However: it would be much preferable if you'd post the answer as answer, instead of editing it into your question. Would you mind separating it?

I tried, but there was a time limit to answer my own question, was about to do it later when it timed out, but you were faster. I've edited my question now instead.

As you already figured out, there's SSHelper hosting its own .apk. But you might also wish to check with F-Droid, and find out there are even more SSHd's to download without using Google Play Store.
Edit: As it turns out, I wasn't aware F-Droid also features forums, and the above are only forum links. To compensate: You can also find some SSH Server apps on 1mobile, e.g. SSH Server. The website allows you to simply download the .apk from your browser, no login required. Other than with F-Droid, I'm not sure concerning their reputation, though.
Apart from that: In my experience, it's always worth checking the resp. dev's website, where they sometimes host their own .apk files for download. If not, asking them helped me as well :)

What you link to are forum posts discussing sshd's. But if you take a look at the actual repository, there are no sshd's availiable (unless you count the one included in the fullfledged chrooted version of Debian, Lil' Debi, that is a really cool idea, but seems a little overkill for just running a ssh server).

Ouch – sorry, unfortunately you are correct: I wasn't aware of the fact F-Droid also features forums. To make up for my error: please take a look at What are the alternative Android app markets? I'm pretty sure at least AndroidPIT has some of those servers available. AndroidZoom as well. I'll update my answer in a minute...