Is there a viable alternative to MTP for file transfer? Since the latest versions (ICS+?) no longer have mass storage, is there any viable alternative to MTP?

The protocol seems inherently broken and the decision to regress to this format seems like a very 'iphone-esque' move (dumb things down, take away power from the users).

There seem to be numerous problems (eg) with files not showing and it seems to me that transferring a file should be simpler than requiring a system reboot - I am unreasonably demanding that way.

I'm aware of tools like Wi-Fi file transfer but often I find myself in areas without wifi, with just my laptop, phone and a usb cable. The other day, for example, I was one a plane, which is an environment decidedly non-conducive to using a wireless system.

The following methods are tested on Windows 7; Ubuntu based Distribution and Slackware with desktop environment KDE 4.1x. Nothing can be said about Mac. The answer is intended to serve as a consolidated guide for the various methods out there.

Few following methods requires USB Tethering to be enabled. This can be achieved by instructions mentioned below:

  Some of this information applies only to devices running Android 5.0 and higher. If your device is running 4.4 or lower, the Menu icon looks like this  . If your device is running 4.3 or lower, the Settings icon looks like this .

  Set up and use USB tethering connection (including instructions for Windows XP)

  1. Connect your device to another device using a USB cable.
  2. You'll see a USB icon and a notification Connected as a media device or Connected as a camera at the top of the screen. For the purposes of tethering, the type of connection doesn't matter.
  3. Open your device's Settings menu .
  4. Under "Wireless & networks," touch More > Tethering & portable hotspot.
  5  Check the box or turn on the switch next to "USB tethering." When the connection is made, you’ll see one of the following notifications and you can connect to the Internet (your icons may look slightly different if your device is running Andriod 4.4 or lower):
     Portable Wi-Fi hotspot active
     USB tethering connection active
     Multiple tethering or hotspot connections active

  To stop sharing your data connection, uncheck the box or turn off the switch next to "USB tethering" in the Settings menu or simply disconnect the USB cable.

   USB tethering with Windows XP

  If you're using a computer running Windows XP, you need to install a configuration file before tethering your device to your computer.

  1. Follow the steps above to turn on USB tethering for your device.
  2. Download the following configuration file (tetherxp.inf) to your Windows XP computer. Typically, you can right click on the link and choose "Save As". (If your browser adds “.html” to the file name, you’ll need to edit the name to remove the .html extension and replace it with “.inf” instead.)
  3. Connect your mobile device to your computer using a USB cable.
  4. When Windows XP's New Hardware Wizard opens, select No, not at this time, then click Next.
  5. Select Install from a list or specific location, then click Next.
  6. Click Browse to browse to the directory where you installed the configuration file you downloaded in step 2, then click Next.
  7. When Windows XP finishes installing the software for Android USB Ethernet/RNDIS, click Finish.

  (Source)

Method #1

This method uses USB Tethering and an app to access the phone storage.

Procedure:

Install MTP-Alternative USB Drive from Play Store.
Open MTP-Alternative app, select  CONNECT AND ENABLE USB TETHERING and choose Enable USB Tethering.
Come back to app by tapping Back key one time or opening the app from its icon in your launcher.
Instructions for Windows and Ubuntu will now be displayed in the app. Choose your OS: Windows or Ubuntu and follow the guide there.
Alternatively, you can follow the instructions mentioned below to save the network connection either in Windows or Ubuntu (Linux).

For Windows:

  Make sure you have administrative privileges. Download and install this Microsoft Update.
  The WebClient service needs to be enabled for accessing network folder. To ascertain the service status, press  + R to open a Run dialog box. Type services.msc and click OK. Services window will open with a list of services.
  Scroll down to see WebClient and check the corresponding Startup Type. If its not Disabled then close the window. If it is then do

  Right-Click -> Properties -> General -> Startup Type -> Automatic -> Apply -> OK.  You can also choose Manual over Automatic to save System from start-up overtax.
  Now press  + R, type regedit and click OK`, choose Yes and Registry Editor window will open.
  On the Toolbar click Edit -> Find. In the dialog box, corresponding to Find What field, type WebClient. Uncheck Values and Data or otherwise, check only Keys below Look at. Click Find Next. It will search and should show an entry already selected. Make sure (at the bottom panel) the location of selected entry is

  Computer/HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\WebClient.
  On the WebClient entry, click the right direction arrow to access the content inside it.
  Click Parameters. On the right hand side, click BasicAuthLevel -> Modify. In Value data field, change the value to 2 and click OK.
  If there was no BasicAuthLevel entry then create it by doing Right-click in empty white space, choose DWORD (32-bit) Value and name it to BasicAuthLevel. Follow step 7.
  Restart the system now for all changes to take effect. You will have to open MTP-Alternative app to connect the phone again to PC now.
  To map Phone Storage, open My Computer.
  Below the Address Bar click Map Network Drive.
  In the corresponding Folder field, type \\192.168.42.129@8081 and click Finish. A window will open with the content of / directory of your phone.
  If you have only Internal [SD card] in Smartphone then enter sdcard folder. Otherwise, enter storage folder and enter into your desired storage.
  You can  access this network drive in My Computer -> Network Location. You can also rename this drive by doing Right-Click -> Rename over the drive, enter the name and hit Enter. Note that the drive won't be accessible if the smartphone with above mentioned instructions is not connected to the PC.

  (Source: ykasidit, Yeehawup, MTP-Alternative)

For Ubuntu (Linux) with KDE 4.1x:

Launch Dolphin file browser. In Places click Network.
Click Add Network Folder -> WebFolder (webdav).
Enter any Name, leave User field blank, enter 192.168.42.129 in Server field, enter 8081 in Port field. As per step 13 of Windows OS, type either /sdcard/ or /storage/ in Location field, check Create and icon for this remote folder and click Save and Connect. A window will open with the storage contents now.
The network location is saved in Places -> Network -> Name where Name is from step 3. You can also pin this folder into Places by doing over that folder Right-click -> Add to Places.

Method #2

This method utilizes ADB interface to access your phone storage. It has already been extensively covered by many users and some answers can be accessed here. To make it short, below are the instructions quoted from some answers by Android Enthusiasts users.

Installation of ADB in your OS

  In fact, it is not necessary to install the entire SDK if one does not want to use it for development. To be able to run basic ADB commands in the context needed by an average user, a rudimentary installation is completely sufficient. I will try to explain how to do this, and hopefully cover the most used computer systems.

  Requirements

  First, you will need the basic binaries. These can be found on the official download page, for Linux, Windows, and Mac.

  Windows users

  If your computer is running Windows, you will also need the special drivers for your device (no generic solution here, so you need to check this out yourself; usually, those drivers are offered for download on the manufacturer's website).

  Linux and Mac OS users

  Linux and Mac OS users might need to make their device known to their operating system. For Linux, you find the necessary steps described in my answer here. Not being familiar with Mac OS, I can not speak for it.

  Installation

  Linux

  For Linux, this is quite easy: Simply unpack the downloaded binaries into a directory of your choice. At the time I'm writing this, this will only be two files: adb and aapt (the latter being used by QtADB, and not necessarily needed to execute ADB commands directly). Adjust their file permissions to make them executable (e.g. from the command line: chmod 0755 adb aapt). Finally, it's a good idea to include the chosen directory with your $PATH variable, so you can call adb from wherever you are. A good place for that is at the end of your ~/.profile file to include an additional line like export PATH="~/bin:$PATH" (if you extracted the binaries to ~/bin).

  Windows

  The Windows download holds a couple more files. Also extract them into a directory of your choice. If you want them to be callable from wherever you are, without preceding the complete path, you need to add that path to your environment variables as well. Not being a Windows user, I must leave the "how to do this" to you.

  What else?

  You should be done at this point, and can use the full powers of the ADB command line.

  Further readings

  Everything about ADB (A reference for everyone at XDA Developers)
  ADB for Dummies (again available via XDA Developers. If you miss the guides as I did firstly: The first article is consisting of links only, colorful as they might look :))
  Android ADB Quick Guide

  (Source)

And,

  I do not really understand why anyone would prefer downloading an old version of unknown origin from a malware-ridden website to downloading the latest official version directly from Google itself. I guess to each its own.

  Here are the links to the Google repository:

  The latest version of the platform tools (contains just a few binaries - less than 10Mb in size each):

  Windows
  Linux
  Mac

  For users of Ubuntu and Debian (distributions I personally use) I have put together a small bash script which finds and installs the latest version of the platform tools - Installing Android platform tools (ADB) on Ubuntu

  (Source)

To access Phone Storage in Ubuntu (Linux) using ADB interface :

  I cannot answer the Windows part – but the Ubuntu part I can answer for sure, as I'm using that as well and mount my devices from my computer, sometimes with full r/w access. What I use needs ADB tools to be installed on your computer. If you didn't already install them, see e.g. Is there a minimal installation of ADB?

  Prepare your Droid

  First a basic requirement, applying to any OS which might run on your computer: To be able to get full access, the ADB daemon needs to be running in root-mode. This is not the case with stock ROMs, even if rooted, by default (though many custom ROMs have it enabled by default). So first check: If an "ordinary" adb shell directly brings you to the root-prompt (#) without invoking su, you're fine. Otherwise, you will need a helper like adbd insecure: Run it, and enable the "patched insecure mode". Optionally check the box to have that accomplished automatically on every boot of your device.

  Prepare for write access to read-only file systems

  Second, again independent from the OS on your computer: to read and write to file systems, they need to be mounted in read/write mode. You can accomplish that via adb shell anytime you need to write there (I don't recomment leaving those partitions in permanent read/write mode), e.g. issuing a mount -o remount,rw /system for the /system partition.

  Mount your Droid

  Now let's go for the specifics. I mount the Android file system via ADB, utilizing FUSE. The tool for that is adbfs-rootless. Compiling the code is easy given the instructions there; that done, copy the resulting adbfs binary to a directory in your $PATH. Then create a mount-point on your computer; in my example, I will use ~/droid for that. Now here we go:

# Mount the Android FS:
adbfs ~/droid
# Unmount it again:
fusermount -u ~/droid

  To ease the process, I've created two aliases:

alias mdroid="adbfs ~/droid"
alias udroid="fusermount -u ~/droid"

  You surely already have guessed: mdroid stands for "mount droid", udroid for "unmount droid".

  A different approach to manually mounting/unmounting is using Midnight Commander with a specific VFS: mc-extfs-adb is doing that. A version I've spefically adapted for Ubuntu is available in the download area at IzzyOnDroid, where you can simply pick it (installation instructions included).

  Both variants have their pros and cons: mc-extfs-adb takes quite a while on first access (while it caches the entire file system structure) – but then is pretty fast browsing the file system (as it is cached), only slowing down when you copy/edit files remotely. Using adbfs directly starts up much faster, but then always "hesitates" for a second when switching directories (as it does not cache the entire structure, but only reads on demand). I usually prefer the latter, but YMMV – hence I've given you both options :)

  (Source)

To access Phone Storage in Windows using ADB interface

  Windows File Explorer by default doesn't let you access the Android root files. You'll need to download a different application (to your PC) for that. Many places (like this guidingtech.com tutorial recommend Android Commander. Another recommended file explorer program is Droid Explorer.

  (Source)

Method #3

This method uses an app and USB Tethering. This method has roots in this answer (this answer only mentioned the possibilities but not the actual usage in steps).

Procedure:

Download a file server app that allows WebDav/FTP/SSH/Samba server creation. You can either look on this list by Izzy here, or choose them viz., WebDav, FTP, Samba, SSH, Multifarious. Google is your friend if none of them helps.
Following Instructions are for {WebDav,FTP} Ultimate (Free) and Servers Ultimate Pro (Paid).

Using WebDav Server Ultimate :

Enable USB Tethering.
Launch WebDav Server Ultimate.
Go to Add -> WebDAV Server ->.
Enter any name in Server Name. Choose a Port number greater than 1024 which you can remember (e.g. 5000) and enter it in Run on port.
In Document root, choose / to remain consistent with Method #1.
Uncheck all the options. You may choose to run this server automatically whenever you launch this app. To do so, check Start directly when app starts clean. Tap Back key once and choose Yes to save server settings.
Tap once on newly created server entry and choose Start/Stop. You will get a dialog box with Information The server has been started. You can close the app (including the server) by sliding left the many icons at the top of the app and choose Exit. Note that without choosing the Exit, the server will continue to run unless stopped explicitly.
You may now use procedure explained in Method #1 for either Windows or Linux. Note that for Windows, the address will now be \\192.168.42.129@5000 and for Linux, it will be webdav://192.168.42.129:5000/.

Using FTP Server Ultimate:

Enable USB Tethering.
Launch FTP Server Ultimate app.
Go to Add -> FTP Server ->.
Enter any name in Server Name. Choose a Port number greater than 1024 which you can remember (e.g. 6000) and enter it in Run on port.
Uncheck all the options. You may choose to run this server automatically whenever you launch this app. To do so, check Start directly when app starts clean. Similarly, choose Respawn (auto restart when server crashed).
Go to Users (adjacent to Settings at the top), tap Add, leave Username and Password blank and check Auto write access. You may choose to restrict the PC by choosing Force stay in document root.
In Document root, choose / to remain consistent with Method #1.
Tap Back key once and choose Yes to save server settings.
Tap once on newly created server entry and choose Start/Stop. You will get a dialog box with Information The server has been started. You can close the app (including the server) by sliding left the many icons at the top of the app and choose Exit. Note that without choosing the Exit, the server will continue to run unless stopped explicitly.
You may now use procedure explained in for Linux. Note that for Windows, the address will now be ftp://192.168.42.129:6000 and for Linux, it will be ftp://192.168.42.129:6000/. To map ftp in Windows, follow the following instructions from Step 13.

Using Servers Ultimate Pro:
Note that this app requires certain other packages(free) to be installed.

Enable USB Tethering.
Launch Servers Ultimate Pro app.
Go to Servers. Tap + icon and scroll down to tap FTP Native Server.
Enter Name, choose a Port number greater than 1024 which you can remember (e.g. 2121).
Under LISTEN ON NETWORK INTERFACE, choose rndis0 -Ipv4 (192.168.42.129).
Check Start directly when app starts.
In the LOCKS, check Enable WIFI lock.
At the top panel of the app, go to SPECIFIC and uncheck everything except Allow upload.
In Document root, choose / to remain consistent with Method #1.
Touch floppy icon to save settings.
Tap the server entry once and choose Start.
You may now use procedure explained in Method #1 for Linux. Note that for Linux, the network location will be ftp://192.168.42.129:2121/.
For Windows, follow steps 1-11 in Method #1 For Windows.
Click Connect to a website that you can use to store your documents and pictures.
A new windows with title Add Network Location will be shown. Click Next -> Choose a custom network location -> Next.
Under Internet or Network Address, type ftp://192.168.42.129:2121/sdcard/ and click Next. You can replace sdcard with storage.
Check Log on anonymously and click Next. Type a name to recognize this in future and click Next.
Check Open this network location when I click Finish and click Finish. A new window with your phone's storage content will show up.
Step 14 of Method #1 applies here too.

Note that for WebDav server in Servers Ultimate Pro, the settings are similar to one covered in aforementioned procedures in Method #3.

About MTP-Alternative

  USB file transfers with PC - without 'MTP' problems.

  No more USB ‘MTP driver not found’ or ‘can’t find my files’ issues - Supports both Windows and Ubuntu GNU/Linux!

  'MTP-Alternative' shares this device's storage as a 'Drive' to Computers via USB Tethering instead of the default android 'MTP' file transfer method and makes you avoid the 3 common 'MTP' problems.

About WebDav Server Ultimate

  A free, secure and complete WebDAV Server! The app supports adding multiple users, has WebDAV over SSL/TLS (HTTPS) support and can be set to automatically start a WebDAV Server when your device is connected to a specific WIFI network!

About FTP Server Ultimate

  A free, secure and complete FTP Server for transferring files using an FTP client. The app supports adding multiple users, has FTPS Implicit / SFTP / SCP support and can be set to automatically start an FTP Server when your device is connected to a specific WIFI network!

About Servers Ultimate Pro

  ★★Run over 60 servers with over 70 protocols!★★

  Now you can run a CVS, DC Hub, DHCP, UPnP, DNS, DDNS, eDonkey, Email (POP3 / SMTP), FTP Proxy, FTP, FTPS, FTPES, Flash Policy, Git, Gopher, HTTP Snoop, ICAP, IRC Bot, IRC, ISCSI, Icecast, LPD, Load Balancer, MQTT, Memcached, MongoDB, MySQL, NFS, NTP, NZB Client, Napster, PHP, Lighttpd, PXE, Port Forwarder, RTMP, Remote Control, Rsync, SIP, SMB/CIFS, SMPP, SMS, Socks, SFTP, SSH, Server Monitor, Styx, Syslog, TFTP, Telnet, Time, Torrent Client, Torrent Tracker, Trigger, Unison, UPnP Port Mapper, VNC, VPN, Wake On Lan, Web, WebDAV, WebSocket, X11 and/or XMPP server!

Note:

WebDAV may limit the file size upto 4 Gigabytes only.
File transfer through WebDav enabled by MTP-Alternative wasn't very responsive and created a cache size of 800 MB for me in Android.
2. issue didn't arise on Linux and worked smoothly.
I prefer Servers Ultimate Pro with FTP Native Server. It works flawlessly on both Windows and Linux for me.
I only use adb push|pull commands of Method #2 for data transfer. It is mentioned for covering the common options as an alternative.
If you're rooted, then you can port forward in Servers Ultimate Pro.
There could be methods that I'm unaware of yet. Please post them as an answer.


Can't establish a reliable connection to the server google play? Ok so i have samsung galaxy s3 i rooted it a week ago and it worked flawless then afterward when today i opened google play it says no connection .i tried all methods like setting date and time cleaned data and cache but nothing orked the last option i was left with was factory reset i did it but nothing worked when it restarted it asked for google account and when i tried to sign in it prompt saying cant establish a reliable connection .Now when i researched more about it i came to know about a file hosts and to edit it i installed total commander when i tried to edit it it closed saying not enough memory but when i opened it with es file explorer it opened when i put a # mark before everything and saved it it gives an error saying it cannot be save
file size of hosts is 1.1mb
please help any help will be appreciated

Try to use root browser,enable root browsing, find the hosts file and add a # and a space after it. Save it and reboot your device. In some cases you need to clear data and cache.


Does restoring a TWRP backup restore everything, including the ROM? Suppose I were to do the following:

Make a backup with TeamWin Recovery (TWRP)
Delete everything (not the backup of course) including my ROM and all
Flash a new ROM, then after having fun with all that, delete everything once more
Restore the previous backup via TWRP

Would my ROM, my apps, and my data, all be restored to their original state?

Yes, your earlier ROM will be fully restored as long as you backup system partition as well since that's where the ROM resides. If you wants your apps and apps' data, then you should back up data partition.

Note: Backup feature doesn't backup SDcard's content. If you delete all the data of the SDcard you will not be able to restore it.


Android tablet presentations: networking and equipment? To start, a bit about myself.  I follow instructions really well, but I'm otherwise clueless on the how or why that things work when it comes to electronics.  I've built PC's several times from parts, but only because I did what I was told, and everything worked out each time.

What I want to be able to do:  I want to be able to hand out two 10" Android tablets to my clients when I meet them at their homes to do real estate listing presentations.  I want both of those tablets to mirror a device that I hold, running a powerpoint presentation, so that as I move the presentation on and am talking, it will likewise shift on their screen (it can't be automated, because I get sidetracked by a lot of questions).  Essentially, I want them to be able to hold and look at my presentation, while being able to look up at me while I'm talking them through it.

Limitations:

1) I don't want to use the internet to accomplish this, as it wouldn't be professional for me to request to use their wifi, and some people don't have wifi.

2) I would also prefer not to use a mobile hotspot requiring a data plan if possible (though I'd consider it if there were no alternative).

3) I would really like to mirror on two devices from one, so that I can hand out more than one tablet to owners.  Again, if this isn't possible, one would do.

So is this possible?  Would this be something I could do with bluetooth, or perhaps a wireless router used to connect the devices offline?  I honestly have no idea, nor if I'm even on the right track.

Thanks in advance for your help.

There are many possibilities for making this happen using different apps/services. But...kindly note: Playing a same ppt from single source on all three devices (one yours, and two for your clients) doesn't seems to be possible until they are connected to the same WiFi router (may be a offline router) but to be able to share screens using some screen-cast app or remotely controlling their presentations using team viewer sought of apps, the basic necessity is, that they all must be on same subnet.

let me know if i can help you further in accomplishing your this task..

Hope that answer your query as of now..

Well dude, this part has nothing to do with your question asked above, Its just a little piece of advice from my side.

Instead of taking pain of carrying three 10" devices and those too wont be collectively able to cater the need of more then 2-5 of your clients, i would suggest you to carry this device. As this definitely seems to be more useful for the kind of solution you are looking for. :)


Record and play sound from Android to a computer - Jack disconnects periodically / Jack undetected - Depending on Android version I would like to control audio IO of my android phone with a computer. I'm currently using a usb audio sound card with a input mic and line output ports connected to my computer. A phone is connected to an adapter jack 4 pins to 2 jack 3 pins (reference). The adapters mic input is connected to the sound card line output and the adapters line output is connected to the sound card mic input. Like this, I can theoretically record phones output with the computer and play a sound on phones input from the computer.
I have with me 3 phones devices, one android 10 (Redmi Note Pro 8) an other one is a android 9 (Samsung Galaxy A40), the last one is an android 4.0.3 (LG p700)
Everything works fine on the 4.0.3. The phone can detect the cable and I can record the phone output and play on the phone input.
But on the two others devices, it's not working.
On Android 9 : the phone can't detect the jack cable of the adapter, but when I plug earphones with mic (jack 4 pins), it's working. I think that isn't an hardware issue.
On  Android 10 : the phone can detect the cable but changes state every seconds (detected/undetected). That means it is switching between earphone output and speaker output which is impossible to record or play. Like android 9, i can plug earphones, and it's working.
I personally think this may be related to phone impedance that is checked by recent version of Android.
What should I do to record and play on audio IO of a phone from a computer?
It's possible to me to develop an app on android and create a program on the computer to initialize the connection. Stereo recording isn't the objective here, mono will be enough.
(I cannot use in my case other protocol like USB or Bluetooth to record and play on phones)
EDIT 1 : Concerning OMTP/CTIA standards
To know the standard used by each device, I did this experimentation. On my previous setup, I’m able to find that it is a CTIA standard (found with an ohm-meter, mic and output line are separated). I know then my Android 4.0.3 is working with a CTIA standard.
I have with me wires, a sound card (reference), and jack 4 pin to wires adapters (reference) (the adapters are respecting OMTP standard but we don't care because we are using 2 of them)
Firstly, I created a normal DIY setup
This setup works fine for the Android 4.0.3. Then i guess my sound card is a CTIA standard. But unbelievably, it works fine with Android 9, and don't work with Android 10.
Now, I know that my sound card, Android 4 and Android 9 are all CTIA standard
Secondly, I decided to create a crossover cable setup. Like this, I will force an OMTP standard with a CTIA sound card.

As expected, this setup do not work on Android 4 and Android 9. But on Android 10, an headset without mic is detected. But I'm unable to listen/play a sound on the device. When I'm switching cable side on Android 10, the headset is periodically connecting/disconnecting like with the first setup (before edit).
To conclude, I guess that my issue isn't related to OMTP/CTIA but to the protocol used by devices to find plugged headset. With the Android 4, the jack port contains a little switch to know when a cable is plugged. On the others devices, this switch is present but do not have a direct impact on the detection of a headset. I guess the switch are used to launch a program that could detect the type of the audio device plugged (headset with mic, headset without mic...)

Ok, after many attempts, I have found where the problem lies.
TRRS is respecting a standard of electrical impedance.

This standard isn't respected by sounds cards, impedances were highly different.
I tried to simulate an headset only by using resistors.

This jack is detected as headset on all my devices (Android 4.0.3, Android 9 and Android 10).
I found that the impedances are used here to find the type of headphones (TRRS or TRS), when the type is unknown, each phone acts differently. In old version, the audio port is enabled. In newer version, it's disabled.
Another info : depending of the usb connection of the phone and the sound card, noise could appear in the signal. This noise can be high enough to avoid its use.
To conclude :
In my case, I'm unable to create an electronical component that would take out the signal and send it to a jack. I created a solution that could record the signal from Bluetooth.


Can a developer with an app in the market also distribute to un-registered (rooted) devices? I'm looking to root a tablet device, to limit access to certain settings, and to remove the ability to get to the Market (long story).

However, I do want to get some apps that are available on the Android Market onto the device.  Is there any restrictions to app developers selling their apps in the market to also distribute their applications outside of the market.

Links to good references get bonus points.

Thanks!

I don't think there's anywhere to cite where Google has said that putting your app on the market is not exclusive, but I'm sure it's allowed, since there are a lot of different alternatives to the Market and you can even download versions of apps available on the market through other means. In certain cases, like Tasker, getting it directly (not through the market) is even encouraged by the author.


Unable to use google play service in Samsung SM-A7009 I have a SM-A7009 with sdk api version 21. gapps are not installed by default in this devices.

I have successfully installed Google Service Framework, Google Account Manager, and Google play service as a normal third-party app(not system app).

But Google play service setting cann't run with the following error from logcat

E/AndroidRuntime( 6610): FATAL EXCEPTION: [bif] processing com.google.android.gms.GOOGLE_SETTINGS_OPERATION
E/AndroidRuntime( 6610): Process: com.google.android.gms.ui, PID: 6610
E/AndroidRuntime( 6610): java.lang.SecurityException: You need MANAGE_USERS permission to: query user
E/AndroidRuntime( 6610):    at android.os.Parcel.readException(Parcel.java:1540)
E/AndroidRuntime( 6610):    at android.os.Parcel.readException(Parcel.java:1493)
E/AndroidRuntime( 6610):    at android.os.IUserManager$Stub$Proxy.getUserInfo(IUserManager.java:629)
E/AndroidRuntime( 6610):    at android.os.UserManager.getUserInfo(UserManager.java:528)
E/AndroidRuntime( 6610):    at android.os.UserManager.isManagedProfile(UserManager.java:482)
E/AndroidRuntime( 6610):    at xyc.a(:com.google.android.gms:2071)
E/AndroidRuntime( 6610):    at ydc.f(:com.google.android.gms:88)
E/AndroidRuntime( 6610):    at ydc.d(:com.google.android.gms:84)
E/AndroidRuntime( 6610):    at com.google.android.gms.tapandpay.settings.TapAndPaySettingsIntentOperation.b(:com.google.android.gms:21)
E/AndroidRuntime( 6610):    at gzl.onHandleIntent(:com.google.android.gms:96)
E/AndroidRuntime( 6610):    at com.google.android.chimera.IntentOperation.onHandleIntent(:com.google.android.gms:95)
E/AndroidRuntime( 6610):    at bie.run(:com.google.android.gms:1873)
E/AndroidRuntime( 6610):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/AndroidRuntime( 6610):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/AndroidRuntime( 6610):    at java.lang.Thread.run(Thread.java:818)
V/ApplicationPolicy( 1053): isApplicationStateBlocked userId 0 pkgname com.google.android.gms.ui
W/ActivityManager( 1053):   Force finishing activity com.google.android.gms/.app.settings.GoogleSettingsActivity

Did the ROM have done special settings to prevent gapps from running in this device?

How can I run Google play service without root, also without flashing a new custom ROM.

The device (SM-A7009) is targeted for Chinese market, where gapps service usually not accessible.

Following list are more information about the device.

[ril.product_code]: [Not Active]
[ro.build.product]: [a7ltectc]
[ro.product.board]: [MSM8939]
[ro.product.brand]: [samsung]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.cpu.abi]: [armeabi-v7a]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: []
[ro.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.product.device]: [a7ltectc]
[ro.product.locale.language]: [zh]
[ro.product.locale.region]: [CN]
[ro.product.manufacturer]: [samsung]
[ro.product.model]: [SM-A7009]
[ro.product.name]: [a7ltectc]
[ro.product_ship]: [true]

My sympathy to all who imported devices from China but want to use GAPPS...

Found this CWM recovery for the exact model. Not verified by me but members from local forums reported fine.

Unlock bootloader with CROM first (download page in Chinese).

Flash this recovery with Odin, boot into it, make a nandroid backup (just in case) and install a compatible GAPPS package (uninstall what you've installed first), no root required. You can also easily obtain root with it when needed later.


Convert installed app to system app I used Link2SD and Titanium too. Both of them failed. I want to convert a GPS Spoofer to system app. I tried to move it manually,  but in all 3 cases, the app is completely removed from the drawer. Is there any method?

I am on Samsung J200G rooted with TWRP flashing.

SuperSU version v2.73 installed by you is systemless as confirmed by you using methods mentioned here How to find that I am rooted with Systemless

Systemless root does not permit changes to be made by you to /system  by default. See Systemless Root for details. This is most likely the reason that you are unable to convert installed apps to system apps

To enable this, you have two options:

Follow instructions here  Enable /system write in TWRP - Systemless root to make /system writable and then try to install. This should solve the problem (I am also on systemless root but made it writable following this). If this doesn't work,  next option  below
Revert to traditional root - see
Switch over from systemless root to system (traditional) root


Whats app registration issue. Stuck on the 'Initializing' page I 'Cleared Data' on whatsApp by mistake while closing some applications. Ever since, WhatsApp is trying to re-register me and I am stuck on the 'Initializing' page for the last 48 hours. However, I can continue to receive WhatsApp notifications and see that I am receiving messages. But if I click on WhatsApp, it takes me to the 'Initializing' page! Any solutions to this?

Please try to to make sure of the version of the messenger you have is (Version 2.11.169), and then try to download the application manually from whatsapp website (http://www.whatsapp.com/android/) and install it manually, while installing it it will ask for replacement, hit yes and continue installing, this will give you the previlage to avoid losing all previous data and to recover whatsapp's data.


Can I change system locale by command? For some reason I need to change system locale temporarily.
Can I change system locale using some command? or script?
So that i can run it with tasker's built-in shell.

You can do this with the Secure Settings plugin. Parts of it require root, so I'm not sure whether this will work if you're un-rooted. It works perfectly for me, but I'm rooted.


insufficient storage even with marshmallow sd card formatted for internal space and plenty of space When I try to install an app from the Play Store I am getting the "insufficient storage" message but I have 20 GB free on my SD card that is formatted for internal storage. I am using a Moto G 2nd generation. Why can't I install new apps?

I have the same phone & same SD card setup. David Coleman has good advice, but here are some additional points.

Many apps will not even show the word "Change." That means they cannot be moved to the SD card. Keep looking for ones that do have that word showing.
At least on my phone, every time I tapped on "Change" it came back with an error message. Ignore that & try it a 2nd time, right away. Nearly every app I tried to move to the SD card "failed" the 1st time, but succeeded the 2nd time.
Clearing cache can also give back some space. 3rd party apps like App Cache Cleaner don't work with Marshmallow, but clear caches one by one, or clear them all by getting to "Internal storage" again & then choosing "Cached data."
Apps like AppMgr III do not fully automate the move/change to SD card process, but they do semi-automate it. This is important because I've discovered that every time an app updates, if the older version of the app was on the SD card, the updated version still goes to internal storage!! Very frustrating. I believe I noticed this happening with Lollipop, too. It means we can't assume "once moved, always moved." AppMgr III or such can reduce the frustration.


Languages in Nexus 4 from Germany I hope my question is not too strange. I would like to buy the current Google Nexus 4 16GB in Germany from Google Play. But I am interested if anyone can confirm that it has English language installed in in the system languages. I am concerned that it only has German.

Thank you very much.

It will indeed have English. The default language may be German, but it can be changed in the settings.


No cell service in Moto E after restoring Stock ROM backup from CWM. My Moto E wouldn't boot for some reason, so I rooted it and installed:

CWM,
installed a stock ROM for my specific device model,
backed it up and then installed CM12.

Too buggy so I went back to backed up ROM.
Issue:
Ever since I installed that stock ROM (downloaded from the Internet), however, I have had no cell service at all. No text messages, not anything.
Also, my IMEI is the same as the IMEI printed on my phone, and I tried renaming apnf_conf.xml to .bak (or something like that) via instructions on XDA. It shows no cell bars in my status bar, and when it boots it's in Airplane Mode (but Wifi and BT are on). When I turn off Airplane Mode, it makes no difference to anything and I can't turn it back on.
So if I could get some help with this that would be great because I really don't want to pay for service I'm not getting.

I've faced a similar issue when I flashed CM12 into my Moto E XT1022 and reverted back to stock.

The solution was to boot into fastboot mode, erase modemst1 and modemst2 and flash the NON-HLOS.bin of KK ROM.

You'll need the stock ROM files in order to do this. NOT A ROM BACKUP.

The commands to use:

fastboot erase modemst1
fastboot erase modemst2
fastboot flash modem NON-HLOS.bin
fastboot reboot

After the reboot, it might take some 5 minutes to get a signal. IF you still don't get a signal, try this:

1) Open the dialpad and type: *#*#4636#*#*

2) Head over to Phone Information and scroll down to Set preferred network type.

3) Try changing this value after waiting for a few minutes.


How do I install Google voice search on a rooted gb custom rom? I recently moved to X-gamer, a gb based stock rom. I flashed gapps for gb thinking I would get back voice search and talk. However it seems only talk got installed. Voice search link on Google play shows 'item not found'. How do I install Google voice search?

In Android 4.1+ (Jelly Bean), it was merged with Google Now.

But Google Now isn't available for 2.3 (Gingerbread).

You have to search & download the last apk-File of voicesearch.

P.S.: If you have "Connections Errors / Server-Problems": Try reset the cache of the app.


Loss of Image quality when set as lock screen or home screen wallpaper This is my original wallpaper:

After setting it as Lock Screen wallpaper, its quality got reduced and this is how it looks:

Even when set as homescreen, the image quality is reduced.

How to improve the quality of the lock screen/home screen wallpaper?

I have found the solution. The original image size was huge (about 2600 pixels wide). So I used Photoshop and transformed this image to 960 x 480. Now the image looks the same way when set as lock screen or home screen wallpaper like below:


How to type a curly brace ("{") in CyanogenMod 13? By chance, I got hold of a Samsung Galaxy S III (S3) Mini, rooted it, and upgraded it to CyanogenMod 13 (Android 6.0.1). When trying to connect it to my WiFi network, I could not do so because my WiFi password contains a curly brace, and it seems I can't type that with the virtual keyboard.

I am quite sure there is a way to do that, so how to type a curly brace in CM 13's AOSP keyboard? Should I install another keyboard?

On Samsung keyboard:

Touch Sym, then 1/2 the curly braces are under 7 and 8.

On AOSP Keybord, Google Keyboard, Gboard:

Touch ?123,  then =\< you'll get all symbols there.


Broken screen while debug mode was disabled. How can I re-enable adb? The screen of my phone is physically broken, so it doesn't display anything, but the touch aspect does seem to be working, as I can unlock my phone, and get haptic feedback.

Before I go to get it replaced, I'd like to back up some personal data from the built-in memory to the SD card. I'm fairly certain that if I can get adb to recognize the device, then I can use Android Screencast to see where I am touching the screen and do what I need to do. Problem is, when I plug it in, it's not recognized, while my emulator is.

I suspect that I might not have USB debugging enabled, which I think is necessary for adb to work. If this is the case, can someone give me screenshots of their Droid X (running 2.3.X) going from the home screen, through all the menus, to activating debug mode? Hopefully I can do it by dead reckoning and adb from there.

Edit: I haven't changed anything about the ROM or launcher; it's all stock.

Had exactly the same problem recently (on a friend's Nexus S running stock Android 4.0 with a completely broken screen & digitizer and adb switched off):

Get a recovery system running with adb enabled. Then use adb console to access the device's data and create a backup. On Nexus S you cannot use the sdcard to get the data off the device, so you need to use adb for that.

Prerequisites:

Phone does have fastboot mode with boot command enabled
Phone still works (except for the screen)
SDK installed (with working adb + fastboot executables)
CWM recovery image downloaded to /tmp/cwm.zip (has enabled adb when started)
Linux with installed uudecode (part of package 'sharutils' on Ubuntu)

How to do it:
a) Start device in fastboot mode and boot the CWM recovery this way

me@workstation:~$ fastboot boot /tmp/cwm.zip

b) wait some time for CWM to boot, then log into the device

me@workstation:~$ adb shell
shell@android:/ $ mkdir -p /tmp/backup/data /tmp/backup/sdcard

Replace DATA_DEV and SDCARD_DEV by the real devicenames
depending on your phone, it's most likely one of these:

DATA_DEV: /dev/block/mtdblock*
SDCARD_DEV: /dev/block/mmcblk*
use df command to find candidates by size.

shell@android:/ $ mount -oro <DATA_DEV> /tmp/backup/data
shell@android:/ $ mount -oro <SDCARD_DEV> /tmp/backup/sdcard
shell@android:/ $ exit
me@workstation:~$ adb shell tar czf - /tmp/backup \| uuencode foo | uudecode -o - > /tmp/backup.tar.gz

Caveats and further explanations:

Why uuencode? ADB console seems to intercept the data stream and obviously inserts a carriage return before each single line feed. Uuencoding the data before transmitting it via adb's stdout protects against that.
Does not work on encrypted devices
You can also just repeat the process on unmounted devices and transmit all of the /dev/block/* one by one and figure out which one is for what afterwards
You need to find a suitable CWM recovery image yourself


Rooting Unknown Device Actually i want to root not-branded tablet. That table is running Android Jelly bean 4.2.2, Kernel 3.0.8+.

Current my status:

From the start i have root access in adb shell
I managed update su binary from legacy to 3.1.1 (su binary located at /system/xbin/)
I also installed Superuser app as System app
And busybox already existed and i think there is no need for updating

You may think the device is rooted, but it's not. Even Superuser app can't access root permissions.

I don't want to use one click solutions and Thanks in advance.

To make sure applications can access the root, you may need to enable it from the Developer Options menu in your device's settings. Once in the Developer Options menu, look for the root access option and select from 'Apps only', 'ADB only' and 'Apps and ADB'. You might have to accept a warning about security, too.

If developer settings isn't visible, try the usual method of hitting 'Build Number' several times in the Phone/Tablet Info section in the settings.

Source: I had a problem similar to this after rooting my S3 and installing CyanogenMod 12.


How can I wipe cache partition in ASUS Fonepad 7 (K00Z) tablet? I'm running ASUS Fonepad 7 (K00Z, with KitKat updates installed). Here is what I already tried by referring to this and this guide:

I started the phone in fastboot bootloader by pressing the Power + Vol-up button, but it has only these five options:

Reboot.
Reboot fastboot.
SDCARD Download.
Factory Reset.

There is no Recovery mode where I can delete the cache partition.
I also turned on the developer options in settings and then run this command from my linux laptop: adb reboot recovery. But the tablet just starts and quits the recovery screen saying "No command found" or something like that.

Is there any hope of being able to delete the cache partition?

Edit

The issue is still unresolved, but I went a long way towards learning new things in Android testing, thanks to @Izzy. Primarily,

USB Debugging using Android SDK is very helpful. For instance, adb reboot-bootloader will restart the phone/tablet to the bootloader. Of course, the device must be recognized by the computer connected through USB which leads to
UDEV rules should be properly setup (for Linux OS; I'm using I'm using Ubuntu 14.04) or the proper vendor drivers should be installed (for Windows). This Q/A is very helpful in this regard.
fastboot erase cache was supposed to help me, but somehow, my ASUS device isn't being recognized by lsusb while the tablet is on bootloader screen (and thus, logically, neither by fastboot devices). I've raised a ticket about this with ASUS and awaiting a reply from there.

see if this helps :

I installed the temporary custom recovery to root my device, may be you can use that custom recovery to clear the cache.

Search for the methods to root this device.

I will post the link if I can find


Use Samsung-type page swipe animation without installing launcher I'm a new convert from iOS to Android.

I really like the Samsung type animations when you swipe left or right from one home screen to another (i.e. the 3D box rotate). But I don't have a Samsung, and was wondering if there was an app I can use to do that on my device without installing a launcher. I really like my phone's look so I don't want to use a launcher.

That doesn't seem to be possible. AFAIK, transition effects are tied to the launcher.


Lenovo A859 touchscreen touches itself For about 2 weeks my phone's touchscreen is acting weird.

It looks like it touches itself in the upper left corner of the screen. I didn't find any pattern, it does this randomly for a random amount of time, only when the screen is unlocked.

I did a factory reset already and I installed Avast to scan it and nothing came up.

Is it a software or a hardware problem?

It's probably a hardware problem and you may need a new screen. Yours may be damaged.

It might also be a battery pack that has expanded from frequent heavy usage. This can push against the screen from the inside resulting in a similar effect sometimes.

It's also possible it's a result of being flexed in a certain way such that there is extra strain on the corner. I'm speculating that the corners are often used to hold the weight of the device.


Data connection takes a long time to start up My tablet has a SIM card that gets data over AT&T's cell network. Once the connection gets going it works great, but connecting to the network takes about 5 minutes. This is strange because it only takes a few seconds for the tablet to determine that it can detect the network at full strength; it just takes a long time for the little "H" to show up next to the signal-strength icon, at which point data exchange can occur.

What can I do to accelerate this? I'm running CyanogenMod on a Nexus 7 2012 tablet.

Reason 1 :
H (HSDPA) signal requires greater strength and a mobile tower that emits 3G (HSDPA) signal. In your case ,the phone connects to a 2G mobile tower (near your vicinity) and then searches for a 3G signals ( maybe that tower is somewhere far)

Reason 2:
Cyanogenmod maybe designed in such a way that it first connects to 2G and then swithces to 3G. You might want to head on to their support page for further information.


Remove internet access for pre-installed apps that you can't disable I don't like any of the bloat-ware that comes pre-installed with my phone. I don't understand why carriers think they're helping me by putting it on there and not letting me take it off. When they let you disable it, it is at least a step in the right direction. But certain apps can't be disabled. The worst part is that they use up data without being able to turn it off.

I want to disable internet access for pre-installed apps, is this possible?

With Android 4.x you can Disable carrier installed applications by going to the Settings -> Applications and select the app. You should then see "Disable" for the application.

Now, Samsung has found a way to prevent some applications to not be disabled, like their Launcher, Email client, stock browser.

You can also go to Settings -> Data usage and select the application and choose "Restrict background data". This will prevent the application from using the mobile network, but if you are on wifi, it will allow it network access.


Unable to set pattern lock on S4 KitKat 4.4 There is an identical question on stack already, but I've already tried the accepted answer:

4.4 Update (Sprint Galaxy S3) disabled pattern lock, can i reenable?

I had a rooted 4.3 Galaxy S4. I put off the OTA KitKat update for several months and then finally got around to updating it to 4.4 NC5. I used this xda thread for my instructions:

http://forum.xda-developers.com/showthread.php?t=2726868

This is the state of my phone prior to the NC5 upgrade(aka "the clues"):

Installed FoxFi, which requires installing a cert
Set up pattern lock (again for FoxFi)
Connected to company exchange server with stock android mail client
Device wasn't encrypted

Then I updated and The lock screen page in settings says that all the options are turned off by administrator. Here is what I've tried:

In Settings -> Security -> Device Administrators: Ensure everything is unchecked (nothing was)
In Settings -> Security -> Clear Credentials: No errors received
Tried booting into recovery and do 2 different wipe / factory resets.

Am I missing something here? Why can't I set my screen lock / pattern?

Try re-flashing the stock NC5 firmware using Odin. See this answer for instructions.

I have no idea why this is happening, but logically, I think that would have to work:

You've already tried clearing the sources of security policies that disable settings (credential cache and device administrators). Also encryption, but you say the device was never encrypted.
The problem persists after a wipe / factory reset, so it can't be caused by any of your apps or settings.
I'm 99.999999999999% sure that this cannot possibly be caused by a hardware issue.
I don't believe in black magic or possession by ghosts or demons.

So there's really nothing else left; whatever the problem is, it pretty much has to be caused by some problem with the firmware. Not only does that seem to be logically necessary, the circumstantial evidence heavily supports this theory: it happened when you upgraded the firmware, without (I infer) making any changes to the configuration or installing any apps.

And since the NC5 firmware isn't supposed to disable these settings, it's probable that either there's something wrong with the firmware you downloaded, or something went wrong with the upgrade process. So re-downloading from a reliable source (I've used the firmware linked above at least a dozen times, and never encountered a problem) and re-flashing should fix it.

One more thought:

Since I'm deducing that the firmware upgrade is the source of the problem, it might have something to do with the fact that you obtained the NC5 firmware from a source other than Verizon's OTA upgrade. I know that Verizon's OTA upgrades do more than just flash the firmware, as proven by this process for rooting an NG6 device (which I've used successfully) by temporarily downgrading to NC5, rooting, and then upgrading to NG6 from a non-OTA source.

Note that the instructions stress that it won't work if you leave out any of the steps, and the first step in the process is to take the OTA upgrade to NG6, then downgrade to NC5, root, and upgrade back to NG6 from a non-OTA source linked from the instructions. The fact that the author is providing his own link to the NG6 firmware, yet instructs you to start by accepting the OTA update and only use the non-OTA NG6 firmware he's providing in a later step, implies that while there's no problem using a non-OTA NG6 after you've done the OTA update, you'll have problems if you never accept the OTA update in the first place.

So, try re-flashing the previous firmware, then see if you can still get the NC5 OTA upgrade (or even the NG6 OTA upgrade). I strongly recommend taking a nandroid backup before trying this, because I've seen cases where downgrading the firmware can cause serious system malfunctions that I've only been able to remedy by doing a factory reset. Also, check whether the screen lock settings are enabled both before the OTA upgrade (but after the downgrade), and after the OTA upgrade.

I'm not 100% certain what the previous firmware was, but I'm pretty sure it was MDK, also available from the GalaxyS4Root page I linked at the top of this post.


Extract App Data from Nandroid / CWM Backup I use ClockworkMod Recovery, and Slimbean.

Recently, my slimbean started hanging at the loading screen and getting insanely hot. So I took a backup, and cleaned flashed AOKP rom. It's working fine so far. Initially, I tried to do a flash without clearing data. Then, a clean flash with "advanced restore"ing the data alone from the backup, but both resulted in the above-mentioned problem of hanging at boot screen.

Is there a way to extract the app-data from CWM backup and restore it manually? Or an app for this?

In addition to the well-known Titanium Backup app (for which you must purchase the Pro key to unlock the CWM/TWRP nandroid backup support), there is another app now: Nandroid Manager, which according to its description can restore apps from nandroid backups even with the free version (there is a Pro key too, but it is required if you want to restore special data such as Wi-Fi access points, Bluetooth data, user dictionary and browser data). However, I did not try using this app.


Alternative to Photosync to sync pictures into Picasa The version of Photosync I have installed fails to upload pictures after I take a few dozen of them in a short period of time. Is there an alternative app that will work and not take too much memory on my poor old 2.3.5 phone?

The Google+ app is too heavy for my phone.

If I'm understanding correctly, the Google+ app sounds like it has the functionality you're looking for. Within the app, press Menu -> Settings -> Instant Upload and turn the feature on. This will upload them to Google+ to a folder only you can see, and as Google+ and Picasa albums are the same, they'll be available on your Picasa account as well!


What is an Android dock? When is a phone considered "docked"? In Android's "daydream" settings, you can set "When to daydream" to "While docked" or "While charging." What does "Docked" mean? The only products I've seen that are sold as android "docks" are just stands that are shaped to prop up the phone at an aesthetically pleasing angle while charging - the phone doesn't know if it's in such a stand, though. I haven't found an Android equivalent of the music-playing docks that the iPhone can connect to.

The developer documentation describes 4 types of docks: Car, Desk, Low-End (Analog), and High-End (Digital). (The documentation implies that #3 and #4 are subtypes of #2.)

So, what is a dock? How does the phone decide if it's plugged into one, and which kind it is? What can docks do - play music? Can they do other things? Is there some sort of open standard defining how an Android phone talks to a dock (if that's even possible)? Can anyone point to example products representing each type of dock?

Preface: I am not an expert in the kernel and hardware driver-related topics. This answer is based only on finding and my limited understanding. I possibly use many wrong terms since I am not really familiar with them.

What is a dock?

A docking station is a device that is capable to communicate with the Android kernel to fire docking-related events and/or modify the docking file state.

How does the phone decide if it's plugged into one, and which kind it is?

The Android system is observing the docking-related events and the docking file state. When a device is docked, the kernel driver fires an event or modifies the file state, which make the Android system notice it, then it will broadcast the event to the apps system-wide.
The docking mode may depend on how the kernel is programmed, for example:

Using a single state file with multiple values (e.g. 0: undocked, 1: desk, 2: car)
Using multiple state files (e.g. /whisper/state for car dock, /smartdock/state for multimedia dock)

What can docks do - play music? Can they do other things?

A docking station can make the system and apps do anything that is programmed. One example is showing a different layout on docked state. It may also open a music player app and play music automatically on desk mode if it is programmed as such, or open a map/navigation app on car mode, etc.

Is there some sort of open standard defining how an Android phone talks to a dock (if that's even possible)?

The standard is mostly based on Linux kernel driver using uevent (event-based) and state file (polling) as previously mentioned. However, the responsible kernel and Android code can be customized, also as previously mentioned.

To put simply:
[Docking station -> microcontroller] -> USB -> [device driver -> kernel -> event/state file -> dock observer -> apps]

Additional references:

Kernel source code for a dock driver

Another kernel source code for hardware consumer? (HWC)

GitHub - slayher/CM7_Mecha_issue - Does not switch to desktop dock mode

Unix & Linux Stack Exchange - What is the difference between kernel drivers and kernel modules?


Reset Galaxy tab without losing apps in SD Card I have an old Samsung Galaxy Tab, it keeps on lagging and has delays. I want to reset it, if I do will the newly reset Tab still acknowledge the apps stored in the SD Card? Thank you.

Short answer

No.

Explanation

One purpose of a reset, and why it's called factory-reset, is to set it back to the state it came from the factory. This means, all user apps and user data is "removed" (de facto, /data and /cache are wiped). Usually, only internal storage is affected this way, and SD cards are left untouched unless explicitly specified (I write "usually" as some manufacturers/ROMs deviate from this).

That said: your "apps on SD card" will be gone even without the SD card being touched, as:

app2sd doesn't move the entire app to SD card (but only parts)
Android would forget about those apps anyway, as information on packages installed resides in /data/system/packages.xml – and you remember, /data gets wiped by the factory-reset.


Say caller name feature I am missing that feature from Nokia devices, Is there a chance to make my Xperia X10 say callers name when I have incoming call

The application SayMyName Dessert does this quite well.


Cannot mount SD card, with error "SD card safe to remove" I have an HTC Desire S, which my cousin bought for me from China.

Android version: 4.0.4; HTC Sense version: 3.6; Software number: 1.0.0.S510e

The MicroSD card no longer works. Whenever I reinsert it, I get the message, after a few seconds, "SD card safe to remove". I've tried reformatting it and have run fsck on it.

I think the card used to mount read-only before, as it used to unmount whenever I took a picture; this started happening after the most recent update. I kept trying to take pictures and reinserting the card would fix it but it seems now it won't mount.

How can I fix the MicroSD card so it'll mount?

I'm assuming you mean MicroSD, not SD. Sounds like the card is broken.  You could try formatting it as ext3 or FAT and see if either work.  Also, see if it works on a PC (you can get a MicroSD/USB adapter for next to nothing).


How can I make my keyboard more responsive? I've recently switched from my iPhone 3GS to this HTC Evo Design 4G (4.0.3) because I get free service on the latter phone, and my setup is coming together nicely for the most part, but I have one huge stumbling block: the keyboard.

I've used iOS for ~6 years and I figured the new keyboard would take some getting used to, but I just can't type quickly on any Android keyboard I've tried (stock, Google Keyboard, Perfect Keyboard, etc) because it physically won't let me. It's unable to handle inputs in quick succession. To test this, I tried typing 'a' and 'h' alternating very quickly on each device. On the iPhone the result is "ahahahahahahahahahahaha", but on my Evo it's "ahhhhhhhhhahhhhhh". Elsewhere, input on the device is fairly snappy.

Any suggestions? I've tried Googling the issue with no luck. I type quite a bit and it's driving me nuts that I have to slow down for it to recognize all my inputs!

After checking this on a Samsung Galaxy S 3, a Nexus 7, and a Nexus 10, with several different keyboard apps, I couldn't see a similar issue, so I suspect this problem is specific to that model of phone. Perhaps HTC skimped on the touchscreen for this device, or did a poor job with the touchscreen integration. If that's it, there's probably nothing you can do but hope that a software update will fix the problem.

Alternatively, it could be a problem with that particular phone. Try giving the touchscreen a wipe with a damp cloth. Try to get access to another phone of the same model and check if it has the same problem: if it is only your phone, you should take it back to the shop and have them fix it.


Samsung Galaxy S3 Stock Calendar Entries Gone! I have a Samsung Galaxy S3 running Android version 4.3. I have always used the stock Calendar app that appears on the home screen of my phone. Recently I installed the Google Calendar app to see which I liked better. I decided I liked the Calendar app that came with my phone better and I uninstalled the Google Calendar app. Since doing that all the entries on my Calendar are gone. It no longer syncs with my Google calendar online. When I go to Menu>Calendars all the calendars that it normally syncs with Google are gone. Sometimes when I open this they are there and checked, but when I click on Done then they all disappear again. When I try to add an existing calendar and enter my gmail address and password it tells me that an account for that user already exists. I am beyond frustrated. I wish I'd never tried the Google Calendar app. All I want is to go back to being able to use the stock Calendar app for my phone and have it sync with my Google calendar online as it did before. Any ideas or suggestions?

Same happened to me. I just reinstalled the google calendar app and all my entries returned on my Samsung calendar.

I think you just need to have the app installed to make it all work properly; I've never actually used the google calendar app which is why I uninstalled it.

Hope it works for you too.


How to access functions previously assigned to the hardware Search button on HTC Sensation XE I presently have an HTC Desire handset which has a physical Search button. If I long-press on that search button I get a pop-up screen titled "Complete action using" and then I have three options of programs to run. I have the options of running my AutoRotate Switch program, running the Quick Compose feature of my SMS program or running a Voice Search.

I find this jolly handy mainly for the auto-rotate Switch fast access.

However, I understand that the HTX Sensation XE handset doesn't have a hardware Search button, ( or maybe no dedicated UI search button at all) so is there an alternative method of getting at this list of application short cuts on the new handset?

Alternatively does the version of Android on the Sensation XE ( ICS I believe) have any kind of QuickLaunch feature that applications can be added to?

Rob

The Sensation XE (which is externally identical to my Sensation barring colour) does have a hardware search button, located immediately below the touchscreen, furthest to the right:

I haven't noticed a setting on android 4.0 to allow you to customise the behaviour of the button, however.  The default behaviour is to launch the Voice Search App.


Is there a way to show OTP messages on screen without opening OTP messages? I am having problem switching between apps when using banking apps or online transaction on android phone when they sends OTP and I need to enter the OTP code.

Sometimes when I switch to inbox to read and remember the OTP code, When I move back to the browser page to enter the OTP, the page gets reloaded and either it sends OTP again or triggers invalid page as the page gets reloaded.

I need some way to show the OTP code on screen as soon as the message arrives in inbox so I can see and enter the code without switching between apps. Can someone help please?

Try Multi Clipboard and OTP Viewer. While this does Multi Copy or is a Clipboard manager, This also reads One time Passwords and show on a floating widget that actually resolves your issue.
Since you want to use OTP codes without switching to inbox, this app shows the OTP message in a floating widget and the code floats on screen as soon message arrives in your inbox.

Note: I'm affiliated with the company CV Infotech which has developed this app.


News features from 2.2 to 2.3 version of Android Possible Duplicate:
  What's new in Android 2.3 (Gingerbread)?

Which new changes/features are present on the 2.3 from 2.2 version of Android?

The top half of the Android 2.3 Platform Highlights page has a summary of the user-facing changes and new features in Gingerbread.


How to Chromecast Spotify? How can I Chromecasting Spotify from an Android device?

App Image or only sound.
With or without Internet connection.
Utilizing Downloaded tracks, when available.
With my device as mobile Hotspot?  I tried Screencast, but it wants a Wi-Fi connection.  (Youtube works OK).
What about a Kindle?  (Now I have a Samsung phone running as hotspot, and a Kindle Tablet - if I could use the Kindle, I would also circumvent the hotspot issue).

Can it perhaps be difficult to find support for Kindle and Spotify, because the Chromecast intended for selling stuff for Google?

If your device is rooted, you can use BubbleUPnP (in the Play Store) as an Xposed module. Then you can cast the phones audio to your chromecast or TV via DLNA.


Gallery thumbnails locked I have a problem with my gallery thumbnails for a few days now. Thumbnails are generated in the .thumbnails folder but they are not displayed in the gallery, there is instead a picture with a lock.

How can I solve this? I have already tried to clear data but it didn't work. It seems like there is a broken permission in the gallery application.

I have exactly this problem. There is no gallery locker on the phone. I have removed the thumbnails from the DCIM directory, and Android has re-scanned the SD card and created three sets of thumbnails: Camera, Whatsapp and Wahtsappvid. But when I view them in Gallery, I get the same symptoms as above, with each thumbnail showing as above. If I click on one of these 'blank' thumbnails, the picture displays ok. If I use MediaSee it seems to display all the pictures as thumbnails.
Perhaps of interest may be that the picture above looks like a Motorola Defy Mini phone, which is what I have got. Sorry if this is the wrong way to ask this question, but this is the only post I have seen which shows the problem I have got.


How to use Google Assistant in car while paired to Bluetooth, but without changing audio input to Bluetooth? My car has Bluetooth, and I use this mostly for phone calls, though occasionally for music. So my phone is paired, and automatically connects to my car when it starts.

Occasionally, while driving, I'd like to use Google Assistant. eg: "OK Google, Note to self..."

Currently this is pretty annoying because I usually don't have the "input" for the sound system set to Bluetooth, yet my phone is trying to route all media audio, including Google Assistant, through Bluetooth. So I before I can use Google Assistant I first have to change the input. Then the car automatically tells the phone to start playing music. I have to then stop the music I didn't want to be playing in the first place. Finally I can use the assistant. Doing all of this while also trying to pay attention to the road and remembering what I actually want to ask the assistant is not fun.

(To make matters worse, it seems my wife's car actually re-sends the "start music" command if there's no audio for a couple of minutes.)

I do not want to completely disable media audio over Bluetooth, as I do use it occasionally.

So what is the solution? Can I have Google Assistant always use the phone's speakers? Can I have the phone ignore "start music" commands via Bluetooth? Something else?

If you have the newer android 7.0 OS version, yes there is a way:

Go to - Settings -> Sound and Vibration -> Separate App Sound
Once there, tap "app" and select "add application", then look for the google assistant app (labeled "Google" with the "G" trademark icon that has a small inner grey circle around it within the app icon bubble).

Set this app up with the audio device "phone", and it should work solely through the phone speaker/mic from then on, even when your car Bluetooth is connected.


Short, less than 160 character SMS being split I'm receiving SMS messages that are being split into multiple messages. These messages are well below the 160 character limit. For example, I checked three at random that were split and they only had 82, 91, and 79 characters.

The messages aren't split after the same number of characters.

I'm see this problem with a sender who has an iPhone 6 on sprint, and I have a Samsung Galaxy S5 on MetroPCS (T-mobile). I've tried different SMS apps on my phone.

What might the problem be?

One possibility is that "characters" is not what you think. SMS was originally designed for single-byte languages, so in languages that use non-Latin characters, one "character" in that language counts as 2 or 4 characters in the  SMS message. The problem is particularly noticeable in Chinese. Emoji also count as multiple characters for this purpose.

If your correspondent is writing in Chinese or other non-Latin languages, or makes heavy use of emoji, they won't be able to write 160 characters.


Tablet Market: How to know if a game supports tablet size? I'm shopping the android market on my tablet (TF Prime) but can't seem to find anywhere if an app/game support tablet size.

I don't want to spend money on a game that is zoomed so much that I can count the pixels =)

How to tell if an app in the market supports tablet size?

One way is to ask the developer via the contact information provided in the application's Google Play page.

Where an application or game has a free- or paid-version, you could just try the free version.  Unless it's stated in the description that the paid version actually supports higher resolutions, it's usually a safe assumption that if the free version looks a certain way, the paid version will look similar.

A final way is to simply buy the application and try it within the 15 minute refund period.  If you're not pleased with the way the application or game is formatted for your screen, simply refund it.  Keep in mind, though, that you're only allowed to refund an app once.  If you re-install it after refunding, you will no longer have the option to refund and will be billed immediately.


Bypass Swipe to unlock in Android 5.0.2 I have upgraded my Sony Xperia Z1 from Android 4.4.4 to Android 5.0.2 and now, when the screen is locked, I first have to swipe before I can enter the pattern. When I go to Settings -> Screen Lock, there is an option None, but it is greyed out because of

Disabled by administrator, encryption policy, or credential storage

What does this mean and how can I change this?

You have set a custom VPN, encrypted your phone or something else that requires a lock screen on your phone. To disable that you will need to decrypt, remove your VPN's to get only a swipe lockscreen back.

On Android Lollipop, Google has added the swipe-up before you can enter your pattern. I don't know why the did that, but they found that usefull.

Hope my answer helps!


Can ROM APKs self-update without violating Google Play policies? Last year Facebook's hands were slapped by Google for updating their APK outside of the Google Play update process. Google then introduced language in their Developer Program Policies.

  An app downloaded from Google Play may not modify,
  replace or update its own APK binary code using any
  method other than Google Play’s update mechanism.

How is this to be interpreted across two cases?...

Is making the APK available for download for those that do not want to enable a Google account on the device a violation of this policy?
If an APK ships with the ROM, is it considered an "app downloaded from Google Play"? Can such an app be eligible for updating through other means? Can such an app update itself? In other words, are APKs originating from a ROM exempt?

No and no. In the first case, the app isn't downloaded from Google Play, it's downloaded from another source. In the second case, it's shipped with the ROM, and has no ties to Google Play. However, if you supply the APK via other means than Google Play, you can't use Google Play's update features.


Phone randomly black screens, forced to remove battery and reboot I have looked through the site, and it doesn't seem this has been answered yet.  Once a day, at some point I pull my phone out of my pocket and it refuses to wake (black screen only).  It isn't off, because the power button does nothing. I have to remove the battery in order to reboot the phone.  I have looked for an app to help me find the cause (i.e. Log Collector) but it doesn't help because this isn't as simple as an FC, I am unaware when it happens until I pull my phone out.  Is there a way to debug/find the culprit?

My info: Samsung Galaxy Gio GT-S5660, Froyo, rooted
Note: I am running SetCPU (no profiles) and Tasker, they are suspects but I haven't been able to get an app to give me a continuous log.

I think I had the same problem recently. When I pressed the phone's power button to wake it up, the display would turn on, but stay completely blank. It happened multiple times a day for me and I got frustrated, so I tried three things and one of those seems to have fixed the problem. Knock on wood.

I reformatted my external SD-Card.
I removed almost all of my media files from the phone.
I disabled JuiceDefender's CPU frequency scaling

My prime suspect was the SD-Card, because the problems started to occur, when I inserted it, but I cannot be sure.


Change week day names on specific locale Where Android stores strings like week day names, months, etc for each locale?
I dug into SettingsUI, framework-res, but didn't find anything related into res/values/arrays.xml or strings.xml. Could it be into the linked odex file?
I'm using a modified by me LG stock Rom KK 4.4 on a G2

Found /system/usr/icu/icudt51l.dat
http://site.icu-project.org
Need to tamper with that file


Why do you sometimes have to press the device rotation tile twice for it to function? I have a auto rotate quick tile  which was originally on stock Android on my Nexus 6p running Android 7.1.2 nougat. I realized that in some cases, after I press the autorotate tile to change from portrait mode to auto-rotate or vice-versa, it doesn't change and instead stays at what it was before (auto rotate or portrait) until I press the tile again. This occurrence seems to be random and at other times the tile works perfectly normally with each press. How do I make it so that this tile works with one press every time?

When you tap that button, what is actually happening is a settings file in the phone is updated. If it isn't working on the first tap, it's either caused by lag, or an issue with the quicksetting pane itself. There isn't much you can do as far as a real solution besides a factory reset or using a custom ROM.


how do I get my google play store to start working for my Samsung galaxy exhibit (T559)? I was going through my app settings and accidentally uninstalled all my updates on my Google play store, it lets me pull up the old version but it will close out and say it has stopped working . I have tried to fix it but it won't work.

You can download the apk version from this link:
Google Play store 5.5.12

And install it after you downloaded it.
You might change the security settings of your phone to download apps from other sources.


Are there options to modify the task manager for Android's new update Lollipop? I have a Samsung Galaxy S5, and for the past few months I have held back on getting the Lollipop update. One of the big reasons why was because of this- not being able to go to the home screen through the task switcher button.
(by pressing on something other than the apps in the navigation window)
 I finally got it today, but I just want to know if it's possible to do this in the Lollipop update, because I used it frequently in the Kit Kat OS. I want to be able to navigate between apps and the home screen without having to ex-out all my apps or repeatedly press the home button.

Thank You for your time.

So it turns out you can't edit task manager behaviors. The option to go to the home screen through the task manager has been removed, probably because it hindered users switching between apps, which must be why the switching app windows are are considerably larger in Lollipop.


Samsung S3 4.3 update - Cannot change notification sound? My phone is a T branded device. It's got that AWFUL loud and NOISY notification/startup sound. It wakes the dead as well.*

Back with the 4.1.2 update, I changed it to one of the stock notification sounds, and it was working. Just as you would expect it to be. Now, after the update, even if I set my new notification sound, it won't change. Even settings say I have "Temple bell", but then I get this aaaaawful T-mobile sound.

[*] When I bought the phone I set up an alarm. The alarm was so loud I almost had a heart attack. Yes, that default sound is that bad. It's terrible.

Thanks to @Shywim's comment, I checked the settings of the Messaging app. Indeed it's got a custom notification sound settings. (You can adjust the settings only if your phone is not muted.)


Download a file without SD card on android 2.3.4 So I just booted up my old Xperia Neo and found myself to be unable to do almost anything.
I actually just wanted to download an app from the Playstore and test it.
But when I open the Playstore, I get Error while retrieving information from server [RH-01]. Googleing how to fix that I found a post where someone mentioned that you need to install "gapps".
So I downloaded that using my PC.

But I cannot connect the internal phone storage to my computer, only the empty SD-card slot. No matter if I'm in MTP or MSC mode.
So I fired up the browser on my phone and tried to download the files directly. But now my browser says "An SD card is required to download gapps[...].zip". I do have enough storage left on my phone.

So basically the phone is bricked.

Android version:  2.3.4
ROM: Xperia Slim v2.20
Root: yes
Browser: default
File explorer: none

Well, you could use a long method. But it works.

Step one: download Aptoide here

Step two: Install it. Obligatory warnings will pop up, just tick the Box "unknown sources" in settings > security.

Step three: Search for ES file explorer, and install that too.

Step four: Find your GApps link, and copy it

Step five: add that link as a bookmark in ES file explorer

Step Six: open link, and download GApps using ES file explorer.

If This throws up the need for an SD card, use the settings in ES file explorer to fine tune it to internal storage.

Step Seven- Flash your GApps package (you have root, so I assume you know how that works.)

Step Eight: Profit! Oh and clear your cache and Davlik, and reboot.


Is it possible to detect a keyboard paddle press plugged in the headphone/microphone port? I know that some devices headphone ports (maybe all of them? any reference here would be good) have 3 channels, for stereo sound and microphone. So I was wondering if it's possible to detect something like this pedal on these devices.

If it's possible, using the audio recorder would be enough? I'm studying possibilities for an app here, and this sounds promising if possible.

Sure you can, there's a product that uses the audio port as an extra button, check this:

http://gizmodo.com/add-a-button-to-any-android-phone-with-this-genius-head-1221431712

Maybe this is more like a comment than an answer, but actually i can't add comments untill i reach 50 points.

By the way, as microphone it's an analog input for the android, you can set a trigger point on certain value to detect an (On/Off) state, for example:

If microphone values are in a range from 0 to 1024, you can set that if input it's less than 100 consider it as Pedal Pressed, if it's greater than this, pedal it's not pressed.

You just need to read microphone input and convert it to it's analog values instead of treating it as audio.


Can a 3G android phone support 4G? I own a Samsung galaxy note 3 N900 which is a 3G phone.

Its specification include

HSPA+ : HSDPA 42.2 Mbps and HSUPA 5.76 Mbps

In my area, Airtel is providing 3G at the speed of 2 Mbps and 4G at the speed of 10 Mbps.

My phone does not support 4G but it does support 10 Mbps download speed.

Will that 10 Mbps 4G plan work on my phone or not?

your phone doesn't support 4G it supports 3G++ which almost 4g and supports high speed downloads , the short unswer to your question is you can't use the 4g plan proposed by your carrier due to your phone's hardware limitation.
the bright side is HSPA+ is not so bad you will not notice the difference.


How can I turn off all sounds and LEDs apart from my Alarm? How can I deactivate all sounds and LEDs, except the alarm? When I'm sleeping, I don't want to be disturbed by anything except the alarm.

Priority Mode added in Android 5.0, allows you to 'snooze' alerts until you turn 'All' mode back on or for a set period of time. You can trigger it by touching either of the volume buttons.

In Android 5.1, you can set priority mode to be enabled until your next alarm, which means you can set it right before going to bed and when your alarm goes off it will be back to 'All' mode.

NB. This also applies to 'None' mode as well as 'Priority'

As for the LED's i don't think it is possible with stock android to turn them off just when in Priority mode. It might be possible using an app such as Lightflow Lite (Full) which allows you to configure the LED notifications for your device.


How to Disable Screen When Using Visual Voicemail? Anyone know of a way to get the screen to automatically turn off when listening to a voicemail? I'm used to the feature of my HTC Evo and HTC Hero, where the proximity sensor automatically detects my face and turns off the screen. This doesn't seem to happen with the visual voicemail app, which is pretty annoying.

On multiple occasions I have accidentally deleted and called the person that left a message for me giving the impression I have fat cheeks. :(

You could use Tasker to handle the proximity thing.  Additionally have you tried clicking the power button?


Permissions and owners of /system/etc/hosts Can somebody please tell me what permissions, owner & group I should give to /system/etc/hosts file? My current script is:

#!/system/bin/sh
ln -s /system/etc /etc
touch /etc/hosts
chmod 644 /etc/hosts
chown root:root /etc/hosts
echo "IPADDR DOMAIN" >> /etc/hosts
svc data disable
svc data enable

Can someone help me with the following?

chmod 644 /etc/hosts
chown root:root /etc/hosts

Those are the correct permissions and owner/group for hosts.

Beyond that, you would need to add additional information to your question for further assistance.


My phone's screen is broken; I'd like to transfer files to my PC, but can't, because Charging Mode is enabled by default My phone's screen is broken and I'd like to transfer files from it to my pc, but I can't acces them as Charging Mode is enabled by default. Does anyone have any idea how I can get access to my files through my pc? My phone is a rooted Motorola Moto X Style, running Cyanogenmod 13.

Thanks alot!

You might be able to access MTP mode via TWRP (Which i guess you have installed...) If you've installed TWRP, simply boot into recovery and connect your USB cable, you should be able to access your device via MTP then.

If you're not using TWRP, you can

download a TWRP image
boot your device into bootloader mode
use fastboot boot twrp.img to temporarily boot into TWRP

Another alternative, again from recovery-mode, would be using adb pull to retrieve the files. This is usually supported by all recoveries.


How to backup original firmware and personal data before firmware change? Before I try a custom-built firmware, I would like to backup the original one from my 2.1 SE Xperia phone. I know some original firmwares are out there to download but I would trust my own one better. How can the original firmware be backed up?

Please check the backup tag wiki, which already gives you some "first-aid" advice. Take a closer look at the Nandroid section, as that is what you will need:

First, you will need to install a custom recovery (see e.g. recovery-mode). The most common choice here is clockworkmod, as it is available for most devices. Depending on your device, there might be other choices available. For your Xperia, there probably is no Amon Ra Recovery (which is very similar to already mentioned ClockworkMod recovery), but there might be e.g. twrp. This custom recovery will replace your stock-recovery, and add some useful functionality -- one of the new features being nandroid backups. Your device-firmware will remain untouched when you flash the custom recovery.

Once you've installed the custom recovery, you can boot into it with a special combination of keys. On most devices, you need to hold the Vol - and Power keys pressed simultaneously on boot, until the recovery menu appears -- but that key combination might differ for your device (and the custom recovery chosen). Check the documentation/readme/hints where you downloaded your recovery.

Bootet into the recovery, there will be a menu item for backup (it may be labeled "Backup" or "Nandroid" or "Nandroid Backup", but you will unmistakenly identify it). Here you can create (or restore) a nandroid backup, which includes an image for each of your device's partitions (i.e. all that would be touched/changed when flashing another device-firmware; it will, however, not backup/restore your device's radio-firmware).

Examples of ClockworkMod (source: XDA, LaptoppMag)

The screenshots show you the ClockworkMod menu of two different versions (I marked the entry you will need to create/restore backups). The first screenshot shows a complete Nandroid backup being made, and you can see in the light-gray test all the "Backing up" lines, indicating each backed-up partition.

Having created such a Nandroid Backup, you can return to this state of your device-firmware anytime. It would also include your apps and data; so if you don't like the custom ROM you've tried, simply boot into your custom recovery, and restore your backup.


What audio file formats does Android support? What audio file formats does Android (ICS in particular) support? If this depends on the device, how can I find out?

The Supported Media Formats page of the Android SDK documentation (under the "Core Media Formats" subsection) outlines all of the formats that vanilla Android supports. Audio codecs specifically noted are:

AAC LC/LTP
HE-ACCv1
HE-ACCv2
AMR-NB
AMR-WB
FLAC
MP3
MIDI
Vorbis
PCM/WAVE

As the documentation also notes, manufacturers can provided decoders for additional media formats, meaning that this can potentially vary by device a bit. I'm not aware of any simple way to determine which extra formats are supported by a device aside from simply copying a sample over and attempting to play it with the stock music player.

Similarly, specific apps can potentially provide software decoding for additional codecs. MX Player provides codecs in the Play Store, for example.


How to add a contact on the device only? WHenever I try and add a contact, it only gives me the option to choose which account to add it with.

How do I get the 'on this device' option?

On some devices, the "local phonebook" simply doesn't exist. But you can add it, e.g. using an app like MyLocalAccount. Here's this app's description from Google Play:

  This app does represent a local contact account. This is helpfully for devices without local contact account (f.e. Nexus series) if you don't want to sync your contacts with Google servers. These contacts can be synced then f.e. with MyPhoneExplorer to your PC.

If you wonder why MyPhoneExplorer is mentioned here: the app is from the same developer, so a well-known one. It wasn't updated for a while, but I've not yet found an alternative to it. Worth a try at least – it's free.


Certain NFC tags cause NFC to stop working This is a very strange problem, so I'm sorry if I describe in in a confusing way.

For the past few days, I've been playing around with NFC on my Oneplus One phone. I installed a few apps (NXP TagInfo and Trigger, most notably), and they work fine. I wrote a simple app to scan and display the ID of a tag. This was all working fine with the NFC tags I have lying around (Tag inside a water bottle: NfcV. Other tags: NfcA (I think). They're unmarked, and this is all I know about them).

But suddenly a problem started: One tag, which is inside of a water bottle, scans fine. But the other two tags I have don't. When I try to scan them, they 'break' the NFC on the phone, and it becomes unable to scan the water bottle. I have to turn NFC off and on again to fix it, at which point it scans the water bottle just fine. This problem is very consistent.

I have a Nexus 4 which was able to scan all of the above tags and display the ID, but not read or write the actual data on the tag. My Oneplus is able to read and write data to the tag in the water bottle.

I don't understand what could possibly be causing this. As I previously mentioned, the tags worked just fine earlier. I haven't updated the phone or made any significant changes over the past few days.

Phone: Oneplus One, rooted, running CyanogenMod 11S (The stock software the phone shipped with)

This is normal1 behavior. The Android NFC stack is known to die when the communication with tags is interrupted during certain communication phases. So what you are experiencing is a poor transmission between the phone and the tag. In those cases where the communication between the phone and the tag drops in the "wrong" moment, the NFC service dies and you have to manually restart it by disabling & re-enabling NFC from the settings app.

1) Read "normal" as "you have to accept that things are like this" but not as "this is intended/bugfree behavior".


Import SMS messages from Samsung .nef file to Sony Xperia S How can I import my SMS message from a Samsung phone to a Sony one?

New PS Studio gave me a .nef file that I can't import to my Sony phone.

Use SMS Backup & Restore assuming those are both Android phones and you shouldn't need to deal with a .nef file.


Is there way to switch between proxy settings on ICS? I have an Xperia S running 4.0.4. I often need to switch to a proxy for accessing a test server. I can do this fine by modifying my Wifi connection, selecting to show advanced options and then entering the proxy information manually.

The problem is that if I then need to disable the proxy, ICS 'forgets' the settings so I have to enter them manually each time. I need the proxy to work with Adobe Edge Inspect and so browser-specific proxy options are not the answer.

Is there a reputable third-party app which will let me switch between proxies for the current network connection?

Just try ProxyDroid

This app need root permission and IPTABLES support.

It's a full feature proxy application including support for HTTP/Socks proxy types, global/individual proxy mode, multiple profiles.

Binding configuration to WIFI's ssid or mobile connection is also supported.


Connecting tablet to VGA projector Is it possible to connect an Android tablet to a VGA projector to make presentations of what's on its screen – and if so, how can this be done?

TL;DR:

I am searching the market for purchasing an Android tablet. The only feature that I want it to have is being able to be connected to VGA projectors for making presentations concerning my Android applications. So before buying any device, I need to know if this is possible (not looking for "device recommendations" explicitly here, but for the technical possibility).

I've searched similar question but I didn't find a definitive answer. I know I must also buy a converter but I've found out that is more difficult than it sounds. So I would like to hear some suggestions, better yet if you have achieved such a connection.

Yes, it's possible. Some devices even have an official (branded) adaptor for doing this, such as the Asus Transformer TF-101. As you surmise, though, if the tablet doesn't support it, external convertors are quite unwieldy and typically need their own power supply, as they typically have to buffer a whole frame at a time in order to work.

Newer data projectors support HDMI or even MHL input, which allows you to use any tablet or phone with micro-HDMI or MHL output, with the appropriate cable.

Using either method, the presentations don't have to be of what is on your screen. Android 4.1 and up provide a way for apps to send different visuals to the external display from the built-in screen, so (for example) presentation apps can show your slide on the big screen and notes and controls on the tablet itself.


Is voice recognition on Android Wear performed on the device? The recently announced smartwatches based on Android Wear extensively rely on voice recognition for user interaction.

Is the voice recognition performed on-device, on the paired smartphone, or in Google's cloud? Or is it a mix of those three, e.g. online with an offline fallback?

While I don't have any official source, from testing it's clear that it's cloud based.

Watch paired, handheld with internet connection -> Works.
Watch paired, handheld without internet connection (e.g. airplane mode) -> Doesn't work.
Watch not paired (e.g. handheld turned off) -> Doesn't work.


How to prevent applications to donwload data automatically? I have many applications installed on my Samsung Galaxy Tab 10.1. And it always download something from internet, in order to update and upgrade applications. It does it all the day and night, when I am in my home or business WiFi and when I am in mobile network.

How to disable this "feature"? I don't want any blind upgrades, only by my explicit permission.

Also, of course, I don't want to replace numerous downloads with numerous asks for permission.

This is part of Google Play Store settings. Select Do not auto-update apps in the following path:
Google Play Store>Settings>Auto update apps>Do not auto-update apps

This is a global setting, but it may be overridden by a specific setting at the application level. For instance, an application may have a specific setting to update itself, especially if that application came from a 3rd party source. You will need to check those application settings individually and prevent auto-updating there. However, this is not generally true, in fact I think it is a violation of terms, if that application comes from the Google Play Store.


How can I stream audio from my phone over wifi to a speaker or receiver? I have a Galaxy Nexus and would like to be able to send music from it to speakers or a receiver.

Since I use a few different apps to listen to music (Spotify and Pandora mostly but sometimes also Audible) I don't want to have to use a specific player.

And I'd like to do it all over WiFi because Bluetooth doesn't provide enough range for me (I've tried, many different ways).

Is there a way to do this with android?

What I'm not looking for:

A way to stream to or from a PC.
Anything involving BlueTooth.
A new music player app on android - I want to stream music from any app on my phone to a wireless receiver or speaker.
Anything involving software running on a PC.

This should work when my PC is off. I should be able to pull out my phone, open spotify or pandora or audible or google listen or whatever and hear the output on any speaker in the house.

You would need to get the speakers accessible over wireless somehow.

This does that: https://store.google.com/product/chromecast_audio

Alternatively, you could plug your android phone directly into your speakers and remotely control your android phone over wifi with a laptop/PC. May need to be rooted for this however.