Samsung S Galaxy II (i9100): possible with stock Google Android OS?

It is very unlikely that Samsung will ever release an unmodified Android firmware for the Galaxy S II. They've never released one for their Galaxy S family of phones without their TouchWiz "enhancements".

Historically the only Android devices that have run the stock OS have been the very early phones released by each manufacturer (before they'd written their own customizations) and the Google Nexus series of phones. If you stray away from that you are going to get modified firmwares, interfaces and apps.

One of the big downsides to using a phone that has extensive manufacturer customizations is that this means that they will generally be a lot slower in pushing out updated versions of the Android OS to you. Phones with manufacturer customized OS's are normally updated months after the Nexus devices, if ever. This is because the manufacturers have to do lots of work and testing to re-integrate all of their changes and customizations back into the OS every time the base OS changes. Factor in the fact that phone companies often drag their feet in certifying the updated OS's on their networks and you have a huge set of delays before the updates reach your phone.

The big upsides to a customized OS is that the manufacturer will often add a lot of features that aren't available to stock OS phones, eg Samsung's TouchWiz offered built-in wireless tethering well before it was added to the stock OS in Froyo, both HTC Sense and Samsung TouchWiz add remote phone tracking and wiping features to the phones (in most geographic regions), their media players can generally play more formats, and the interfaces often look "nicer".

Your main option for "clean" firmwares running the stock OS for non-Nexus phones is to use unofficial custom ROMs. Many of these use the stock Android interface and apps, with only minimal changes to either. See these questions for more on custom ROMs: What is the difference between: Rooting, Jailbreak, ROM, Mod, etc, and What is the meaning of “flashing a custom ROM”?

Also see this previous question: Android phones without custom UIs

UPDATE: Since this answer was written one things has changed. In mid-2013 Google started offering "Google Play Edition" phones for sale on the Play Store in certain regions in addition to their own Nexus line of devices. These "Google Play Edition" phones tend to be some of the more popular, higher-end GSM phones and are offered with the plain Android OS with Google Apps, and without any manufacturer or carrier modifications, just like Nexus phones. So far these phones have been getting OS updates much faster than their manufacturer modified brethren.

So far the phones available on there in "Pure Google" versions include the Samsung Galaxy S4, HTC One, LG G Pad 8.3, Sony Z Ultra, and Motorola Moto G.

As these are generally the exact same hardware as their manufacturer branded siblings there are often fairly simple ways to apply these "clean" OSs to branded phones (but do check that you really do have the same hardware, some of these phones have variations with the same name, but different hardware in them, eg they may be available in GSM, CDMA, LTE versions with totally different radio hardware and SoC CPUs).


Just go to your External Storage.
check the hidden files shown.
there will be some folder files with .ext format.
If there is these files, then install again Vault app from Google Play Store.
Wait for some seconds, It will automatically restore it.
and if you don't find any file over hidden area then


How to avoid entering Cloud credentials in many apps

You might want to take a look at Cloudii. I don't use the cloud myself, but if this app keeps it promises, it...

  is the best app to manage all your cloud services within a single app. Cloudii brings full service integration as well as a powerfull synchronization tool.

It even integrates multiple cloud services (currently: Google Drive, Dropbox, Skydrive and Box -- more to come). According to its description, it lets you both navigate your cloud-stored files and keeping them in sync (the screenshots support this idea).

Note, however, that the free app is a 14d trial only, which afterwards requires an in-app purchase. I don't know the price, but as one comment put it: I'll be glad to buy the developer "coffee"!


How can I sync an Exchange 2003 inbox to an Android 4.x device?

I was just suffering from the same issue with an Exchange 2010 server. The problem was server-side not client-side.
Upon investigating the event log for the Exchange role, I noticed the following error entry:

Exchange ActiveSync verfügt nicht über ausreichende Berechtigungen zum Erstellen des Containers "CN=Oliver Salzburg,OU=..." unter dem Active Directory-Benutzer "Active Directory operation failed on server.something.de. This error is not retriable. Additional information: Zugriff verweigert.
Active directory response: 00000005: SecErr: DSID-031521D0, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
".
Stellen Sie sicher, dass der Benutzer über geerbte Berechtigungen verfügt, die 'domain\Exchange Servers' erteilt wurden, um für Objekte vom Typ "msExchangeActiveSyncDevices" die Befehle 'Inhalte auflisten', 'Untergeordnetes Objekt erstellen' und 'Untergeordnetes Objekt löschen' auszuführen, und dass der Benutzer über keine verweigerten Berechtigungen verfügt, die diese Vorgänge blockieren.
Details:%3

English Version

Exchange ActiveSync doesn't have sufficient permissions to create the "CN=,OU=,DC=thenet,DC=gen,DC=nz" container under Active Directory user "Active Directory operation failed on .thenet.gen.nz. This error is not retriable. Additional information: Access is denied.
Active directory response: 00000005: SecErr: DSID-031521D0, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
".
Make sure the user has inherited permission granted to domain\Exchange Servers to allow List, Create child, Delete child of object type "msExchangeActiveSyncDevices" and doesn't have any deny permissions that block such operations.

It boils down to a permissions issue for the Exchange server. It isn't allowed to change the ActiveSync settings in the Active Directory.
To resolve this, follow these steps:

Open Active Directory Users and Computers.
Click View and then check Advanced Features.
Navigate to the user that is causing the issue (the location is noted in the event log entry) and open the Properties for the user.
Go to the Security tab and click Advanced.
Check the checkbox Include inheritable permissions and click OK.


Downloading coming from the list of devices allows to download a .img image which can be transferred via MTP-USB connection and installed after selecting Images in the Install file browser. When asked to select between boot and recovery partition select the recovery partition (selecting the boot partition has at least no effect and might be harmful).

It's possible to flash a newer version via fastboot as well.


It really depends where the contacts are stored. If they are stored in your phone, then even if you sync, they will not get deleted, but if they are stored on your Yahoo account, then as soon as you sync, they will all disappear.

To check where they are stored, go into your regular contacts app and find a contact that also has an email address with Yahoo. If under the contact, where it says connected via, there is just the Yahoo logo, that means that the contact is there through the Yahoo account, and therefore it will be deleted as soon as you sync your contacts, but if it has a Sim card icon or a phone icon, then it means that it is saved in your phone/Sim and will not be deleted.

In this screenshot, in the place where you see the Sim card icon, that's where you should look for the Yahoo icon.


You don't have to get angry with mobile. I also had this same problem because of two reasons

OS is not compatible with the device(i installed DN5 ROM on electron-team.com)
Mobile batter's life time expired.

Why 01??

When your OS is not suit to your Mobile it will hangs. So when its hangs it will automatically restart your device. This will happen when  using FB long time or some high end apps.

Why 02??

When your battery life is end, your battery not keep actual percentage of capacity. When you plug it shows Battery Full. but in 2-3 Minutes it will get down. As well as battery lost dealing with mobile OS. and it will be get reboot as usual.

after fixing those now my device is not reboots  or any other problem.

Find your firmware version on Sammobile Website by searching on search field.


Can you link an Andoird phone into your home internet without having to pay for a monthly service?

I bet your home router supports WiFi. It's the same wireless networking technology that laptops use to connect to the Internet. Android devices have WiFi too, you can enable it and connect to your router to use its Internet connection.


How to choose where to install an app either to sd card or device?

You can  unmount the SD card from the settings. To do this: Go to Settings -> Storage -> Unmount SD card.

Removing the card  physically is not needed.

You can later remount the SD card whenever you need it back by using the settings again, still without actually removing and inserting the SD card.


Haptic feedback on samsung galaxy s3 mini

Haptic feedback is still there. Go to Settings > My Device > Sound and it should be around the bottom of the options. It is labled haptic-feedback

Your keyboard should have its own option, but it depends on the particular keyboard.

Samsung Keyboard: Click on the 'cog' icon beside the space bar.  Click 'Vibration'.

SwiftKey: Settings > Sound & Vibration > Keypress Vibration.


Since I cannot comment on a reply to my own post, I will answer it saying that user AI E. nailed it. I have already done that, and would love to help other users do the same. I have succesfully installed it on an AMD processor on a Dell Computer -- if anyone needs help like I did, just let me know.


Flash Galaxy S3 with Broken Screen and Debug Mode Not On

The answer came thanks to @hnkotnis at xda-developers.com and his info (and experience) on how to get into "Download Mode" without seeing the screen.

My review of what I did to get Heimdall connected without root, debug mode, and a screen/lcd to see:

First, I am on linux (debian) so no Odin, I used Heimdall and Heimdall Frontend:
* disconnect USB
* pull battery
* let set for a minute
* Press HOME+Power+VolDown for 2 seconds beyond the vibrate (total of about 5 seconds)
* wait 3-4 seconds
* press the VolUp button
* plug usb in
* press "Detect" in Heimdall Frontend

You should get a "Device detected" in heimdall frontend. I also noticed a difference when connecting the usb cable with in "Download Mode" versus not in Download Mode.

Normal USB Connection

Jan 28 10:29:13 xia kernel: [1119572.140189] usb 5-8.3: new high-speed USB device number 31 using ehci-pci
Jan 28 10:29:13 xia kernel: [1119572.233321] usb 5-8.3: New USB device found, idVendor=04e8, idProduct=6865
Jan 28 10:29:13 xia kernel: [1119572.233332] usb 5-8.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
Jan 28 10:29:13 xia kernel: [1119572.233338] usb 5-8.3: Product: SAMSUNG_Android_SGH-T999
Jan 28 10:29:13 xia kernel: [1119572.233343] usb 5-8.3: Manufacturer: SAMSUNG
Jan 28 10:29:13 xia kernel: [1119572.233349] usb 5-8.3: SerialNumber: e70a909e

USB Connection when in "Download Mode"

Jan 28 10:30:18 xia kernel: [1119637.932207] usb 5-8.3: new high-speed USB device number 32 using ehci-pci
Jan 28 10:30:18 xia kernel: [1119638.024825] usb 5-8.3: New USB device found, idVendor=04e8, idProduct=685d
Jan 28 10:30:18 xia kernel: [1119638.024834] usb 5-8.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 28 10:30:18 xia kernel: [1119638.024840] usb 5-8.3: Product: MSM8960
Jan 28 10:30:18 xia kernel: [1119638.024845] usb 5-8.3: Manufacturer: Sasmsung
Jan 28 10:30:19 xia kernel: [1119638.113455] cdc_acm 5-8.3:1.0: This device cannot do calls on its own. It is not a modem.
Jan 28 10:30:19 xia kernel: [1119638.113598] cdc_acm 5-8.3:1.0: ttyACM0: USB ACM device
Jan 28 10:30:19 xia kernel: [1119638.114388] usbcore: registered new interface driver cdc_acm
Jan 28 10:30:19 xia kernel: [1119638.114391] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

You can see the thread on the xda forum here: http://forum.xda-developers.com/showthread.php?p=49840347


How to install games directly to SD card without going through phone or internal memory

Go through the one time steps mentioned on this link.


Back in 2012 google basically told developers that the Menu button was going away. Although it's not an official Android "rule" (not that I could find, at least), it's a strong Android guideline that phones no longer have menu buttons. It's a very recent development, and we should be seeing the majority of menu-button phones leaving the wild this year (my personal Galaxy Note 3 has a physical menu button but I'm due to upgrade in November).

As for why, I honestly don't know. It's the subject of some debate, but nobody seems to be able to site an official Google source as to why they did it. Maybe it's so the bottom OS navigation bar on touch-screen only phones (like the Nexus 5 and 6, and the Moto X) could disappear without hiding app-relevant actions. Maybe Google wanted fewer buttons on phones with physical/soft button. Maybe Google just felt like it. I couldn't find any source that gave a specific reason as to why it was done.


How to install an APK on an Android Tablet PC?

There are a few ways to install an app:

Post it online (with something like Dropbox) and navigate to the
URL in your tablet's browser
Use the marketplace if it's listed there
Use adb install to do it

Make sure on the device that you have checked the checkbox listed at Settings > Applications > Unknown Sources if it is not in the Market. This will allow you to install non-Market apps.


don't worry. Do just what I say:

Turn off you Motorola Moto G 2nd Gen(I mean moto G2).
Afterwards press and hold the Volume Up and Volume Down for about 2-3 seconds.
While still holding these keys press the Power button for a short while and release all buttons.

Then select option Recovery by using to navigate Volume Down, and to confirm Volume Up.
In the next step hold down the Volume Up for a few seconds when an Android logo appears on the screen.
While holding the Power button, press and release the Volume Up key.
Press Volume Down to choose "wipe data/factory reset", and then push the Power button to confirm.
Select "Yes--delete all user data". Use Volume Down button to scroll and Power button to select.
To restart the phone, select "reboot system now".

  Success! The hard reset is done!

  Source : All credits go to hardreset.info


How to browse file:/// URLs on my Android device?

Re-phrasing your question to reflect your real problem:

  How can I read my extensive, HTML-formatted documentation on my Android device?

there is an answer which would make it easy, comfortable, and even less storage-consuming:

You could convert the entire documentation to an eBook using Calibre on your PC. A good format would be e.g. ePub. As a result, your entire documentation would be packed into a single file. Now check the playstore for a nice eBook reader (my recommendation: Moon+ Reader or its payed version, Moon+ Reader Pro), and install it on your device. Et voila: You have your documentation available on your device. Added pluses (with Moon+ Reader): You can even set multiple bookmarks, highlight text, make annotations. And due to the integrated OPDS support and even pre-configured online libraries, you'd have a bunch of books at your fingertips.

Adding a dictionary app like ColorDict Dictionary Wikipedia or Fora Dictionary plus some (freely available) dictionaries, you could even look up things whenever needed, online or offline, as the second screenshot2 shows.


how to stop 3rd party video player from opening mp3 files

This is most likely caused by MoboPlayer being the only installed app having itself registered for MP3 capabilities. If you install any app which also announces this to the system (e.g. a second player), you should be prompted which one to use. Of course this would only offer MoboPlayer and that second app as choices.

Alternatively, you might take a look at Open With. I did not test it, but according to its description it should intercept here and offer you to select the target app you want to use. Not sure if it only integrates with the "Share" menu -- but certainly worth a try.


Unless your phone have two SIM card slots, support as you require is not possible. The market has adapters which goes into the existing SIM card slot of phone and will help you to switch between SIMs after shutdown.  The ONLY advantage of using this instead of swapping SIMs by conventional way is to keep both SIMs together with phone and reduce wear and tear on the SIM slot.

Samsung and other manufactures have dual SIM phones which have two SIM slots and the phone can be configured accordingly for usage. Having said that, watch out for terminologies like Dual Active, Dual Standby. Unfortunately confusion prevails even in manufacturer's web sites. So, to be sure try the behaviour before you buy.

You can read about these in the Wikipedia.


Do I need adb? Whats wrong with terminal?

The answer depends on what you want to do. ADB and SSH serve different purposes, though they have some things in common: you can remotely access your Android device, and execute commands on it. With ADB you can do a lot more -- you will get an idea if you read the ADB tag wiki and also follow the links contained there.
One more thing in common: both can be used interactively.
And one more shorty: they do not depend on each other.
SSH
To use SSH, you will need to install a SSH server on your Android device. If the latter is rooted (as a Linux user, I do not need to explain that "root" is the administrative account, and also known as the "super-user" who has full access to everything), you can set it up to use the default SSH port -- otherwise you need to chose one above 1000, as it is with Linux.
Now you can interact with the device: copy files with scp, or log in to the device directly. This way you reach a shell, and can work on the device like on any other Linux machine (almost -- of course there are some restrictions, like e.g. no X-Server being present, and a limited set of commands).
ADB
With ADB you can also establish such a "terminal mode", by simply executing the command adb shell without any arguments. This directly brings you to the shell prompt. Similar to ssh, you can also directly execute commands by simply pass them as parameters. In this case, as with ssh, you will be returned to your local terminal prompt once the command has been completed.
ADB offers additional commands, not only "shell". So you can e.g. use adb push or adb pull to transfer files (comparable to scp). All the other capabilities go beyond the scope of your question -- but above mentioned tag wiki should get you started here as well.
One last word on ADB: similar to SSH, this is a client-server model. Which means, to execute ADB commands from a client, you must have a server running. This is started when you enable "USB Debugging" in the settings of your Android device.


This mentions the apps in @Izzy's linked question.

If you have Android, use the following apps:

SMS Reader
DriveSafe.ly®

Source: Listen to text messages


How do I free up internal storage if I don't have any apps downloaded?

There are a lot of reasons that can cause this:

leftover artifacts from uninstalled apps or updates
download content from apps (videos/ photos from chat applications, maps for navigation, audio files for language learning apps, etc)
currently kept open browser tabs (my chrome had at one point 50 tabs, it reserved ~1.5gb of space even if closed it but kept the tabs)

If you do a backup of your contacts and other important data, you can try to reset it to factory settings with a wipe of all sd/ internal memory.
If you have a pc to connect your phone by cable AND the knowledge, you could browse the file folders and find the culprit (I would still recommend to clean the files over the phone afterwards but its easier to find what is taking the space)
You could buy as a well a bigger sd card as a temporary solution.


Normally phones should be able to install apps even if they are not signed. Normally your friend should be able to install your app. I was able to download the application, and I could also start the installation from the link.

Make sure that your friends phone has 'unknown sources' enabled in the security menu (enable Settings > Security > Unknown Sources). Because otherwise it will also not work (without using Google Play == unknown source).

No offense though, but I didn't test all the way through the installation, because I don't trust it well enough and I have no idea what the app actually does. For all I know it is a virus ;-)


How can I access the internal phone storage via ClockworkMod recovery?

/emmc is basically ok and accessible if you can 'mount' it. You already have a working CWM installed which comes with adb enabled. This gives you some options.
Boot to CWM recovery and mount your partition in the 'mounts and storage' section. It's now accessible internally and you can use the adb tool (ADB stands for 'Android debug bridge', it's usually used to develop and debug things) to pull data off the device:

A windows tool (sadly discontinued): http://code.google.com/p/adb-file-explorer/
by commandline: adb pull /path/to/folder or adb pull / to pull all currently mounted data partitions
Another GUI: http://sourceforge.net/projects/adbbrowser/?source=recommended

PS: I prefer the command line adb tool (2nd solution). I have little experience with the gui tools. But generally they should work as well.

Here's how I usually do it (using only the commandline):

me@workstation:~$ adb shell
~ # mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/block/mtdblock4 on /cache type yaffs2 (rw,nodev,noatime,nodiratime)
~ # mount /sdcard
~ # exit
me@workstation:~$ cd /tmp/
me@workstation:/tmp$ mkdir htc_sdcard
me@workstation:/tmp$ adb pull /sdcard/DCIM/100MSDCF/ htc_sdcard/DCIM
pull: building file list...
pull: /sdcard/DCIM/100MSDCF/DSC00110.jpg -> htc_sdcard/DCIM/DSC00110.jpg
pull: /sdcard/DCIM/100MSDCF/DSC00114.jpg -> htc_sdcard/DCIM/DSC00114.jpg
[...]


Setting default storage location in 4.0.4?

If the "DEFAULT STORAGE" is not showing there then you should use any third party application. App2sd,AndroidAssistant, CleanMaster or Link2SD should do this. But if your device is rooted you should definitely try Link2SD, with some few tweaks it automatically transfers all apps to sdcard. Hope that helps.


How do does rooting in Cyanogenmod 10.2 work?

Flashing a SuperSU update zip via recovery will override Android 4.3's built-in Superuser. From then on, you can use SuperSU, but you will need to keep Superuser enabled in Settings.


Switching profiles based on networks availability

As usual: try with Tasker. Tasker can react on "network near" (check for WiFi SSID), you also can check signal levels and react depending on that. This way you could not even check whether a certain WiFi network is in reach, but also how strong its signal is -- which might prove helpful e.g. in an office building with multiple WiFi networks to determine which room you are in.


Share Links via Bluetooth without it being converted to HTML?

Same idea as roxan: Go to the market (oops, playstore) and look for an app named Pocket (formerly known as "ReadItLater"). This allows you to store URLs from many apps via the share menu to your free Pocket account.

As for your PC, there is e.g. a Firefox Addon available (for alternative choices, see the Pocket website. This is much more convenient than sharing via Bluetooth.


Terminal emulator's ssh trying to read /data/.ssh instead of $HOME/.ssh

This doesn't happen when you run ssh as root.
/sdcard is an unsafe(!) location for ssh client config and valuable keys (some users don't even encrypt their keys for reasons of laziness). Each app has read access to that location, so this is most probably set deliberately not to /sdcard/.ssh for security reasons.
If you have root access, create a symlink from /data/ssh_data or /data/.ssh to /data/jackpal.androidterm/ or create the folder with appropriate access rights for the terminal app (not system wide read/write though!).
By the way:
This might be fixed soon. See CyanogenMod's github commit log here. Excerpt:

Some users have / as home directory, some /data. This commit fixes ssh
and ssh-keygen trying to create /.ssh which is volatile and read-only
anyway.
To allow an app (e.g. Android Terminal Emulator) to use ssh
/data/ssh_client still has to exist and owner permissions need to be
set to the app user. This could be fixed by using the real data
directory (/data/data/"app") in a later commit.


Can two phones with different WhatsApp numbers use the same Google Drive backup?

No. You can have only one backup on  Google drive
From Drive product forums

Google Drive does not allow multiple Whatsapp backups in the Google Drive, and it overwrites the old one if ever.

Also see WhatsApp FAQ which clearly states that WhatsApp backups are incremental.


How to delete a file once it is created by an app?

Monitoring a directory for a newly created or modified file is a simple task for an app as Android provides an API for doing so.

Therefore a lot of apps include file monitoring capabilities, such as Automate or Tasker. In these apps you can monitor the file as add a trigger to delete the file that will be executed immediately when the file is created.


Is Google Authenticator data saved in the google backup cloud?

Google Authenticator in version 5.00 (as of now) permits backup, but only preferences are backed up, and the critical data (secret keys which creates those codes the user need) are not backed up at all. ADB can also back it up with the command:

adb backup -keyvalue com.google.android.apps.authenticator2

I'm making this claim based on the presence of the attribute android:allowBackup set to true, and presence of key-value pairs backup provisions in its manifest and a dedicated backup agent is also listed, named com.google.android.apps.authenticator.backup.AuthenticatorBackupAgent. This certainly wasn't the case with prior versions.


How to make lock and home screen backgrounds separate

By default there is no setting to change lock screen wallpaper. One way is to have a lock screen app like Go Locker which will allow to set lock screen wallpaper different than the home screen wallpaper. Another is to install a custom ROM like Cyanogenmod 11 which gives much more features over stock OS.


Is my Android device vulnerable to CVE-2019-2234 and How can I mitigate this before a firmware upgrade?

If I understood the problem correctly the vulnerability is located in the camera apps. Updating apps is the responsibility of the Google PlayStore or in case of Samsung there is also the Samsung "Galaxy Store" which is usually comes pre-installed on all Samsung devices.

Therefore in this case no firmware update is required.

In both cases Google and Samsung have simply updated their camera apps. As the vulnerability was a responsible disclosure the updates that fix this vulnerability should be already available and will be automatically installed by the Google Play / Galaxy  store.

Therefore Google and Samsung devices this vulnerability should be no longer an issue. The more important question is how many other camera apps of other manufacturer are also affected.

[Part 1] Regarding devices of other manufacturers there is no general way to be sure that their camera apps are affected or not. If the standard POC does not work and you want to make sure that the app is truly not affected you have to check every camera app individually if the vulnerability can be triggered in a similar way. To do so you have to decompile the app using the decompiler of your choice (Jadx, apktool, JEB, Ghidra, ...) and analyze the decompiled code.


How to evaluate generic no-name tablets?

Not easy to say. Android version is an obvious starting point and is much more important than with bigger names because with this cheap ones, you normally don't get any support and updates, so you will be stuck with the version that came with the tablet. Don't go below KitKat if you can afford it. Jelly Bean is the absolute minimum, never below that.

After having seen a couple of smaller tablets and related user problems, I'd say the second most important point is the memory. Cheap tablets come with smaller amounts of memory and while they usually offer a card slot, this can be very deceiving. Android only allows you to move apps between the first and second memory area (provided the app itself allows it, which is usually rare, so better not counting on it). And I saw quite a few tablets where the internal memory is already partitioned in two, the memory card coming in as third, for instance, a 8 GB tablet:

1 GB internal memory
5 GB secondary memory (usually named USB memory, even if that name is a bit misleading)
your memory card, say, 16 GB

In this setup, you can't move apps to the memory card, only to the secondary ("USB") memory. And because most of your apps will not move at all, you're practically limited to 1 GB of actual app storage that is hardly enough for the standard selection of browsers, video players, Facebook and similar stuff and the memory card won't help you, either. The problem is, the manufacturer will not tell you this, they will simply state that you have a 8 GB tablet, 6 GB available. Which is, of course, true, considering that 1 + 5 = 6 but this doesn't reveal the whole situation.

Somehow you have to make sure that it isn't partitioned this way, that you will have at least 2-4 GB of real, app-usable memory to play with. The more the better, of course. But you'll need either personal testing or at least a reliable review somewhere where they describe it precisely enough. If you can check it out in the flesh in a store, that would really help.


Bluetooth A2DP audio occasionally drops out for a second on custom ROMs

I have a Galaxy 2s with this exact problem but I wonder if I might offer a suggestion as to what could potentially be the cause. I have no idea how to fix it but I’m hoping that what I share here might help someone who knows more about the way these things work to be able to solve the problem.

I have spent much of my career working in Broadcast Radio, the problem I have heard my phone have with audio dropouts followed by either a ramp up of volume back to the previous level OR an audio dropouts followed by a momentary slight speed shift in the audio playback (sounds a bit like an old cassette recorded when the batteries are starting to fail) many people would probably not notice the later problem because it is very subtle and you have to know what you’re listening for.

Anyway, I believe this could be caused because of a lack of word clock sync between the phone and the bluetooth receiver. I say this because there have been times when I have had digital audio devices such as CD players that are connected to an audio console or digital amplifier and with both devices free running in terms of their clock synchronisation exhibit almost exactly the same symptoms.

You see all digital audio devices require that the audio data be put into frames much the same as regular Ethernet data is transmitted around a network is put into frames, however in order for the audio to be at the correct pitch and speed generally speaking both the playback device (Phone) and the receiving device (Bluetooth receiver) need to have the same word clock, otherwise you end up with the two devices running freely and the audio frames wont by in sync.
Depending on the Error correction implemented (sample rate conversion) on the receiver you can get really odd audio results. I think that this is what is causing this problem. Basically the Bluetooth receiver and the phone aren’t in sync so every few minutes you get a drop out.

It doesn’t seem to happen when you are talking on the phone which makes me think that when you have a call connection as this is bi-directional, the phone is probably synchronised to the Bluetooth device word clock. But when you are listing to music the connection is mono-directional so there is no sync.
Anyway just a thought. Maybe someone out there who understands the way these units synchronise can figure out a fix.


How to change SD Card after moving apps using link2sd

I tried copying the SD card to a folder and then to the new card. I used Linux Mint 17 running Nemo as root. If you don't have Linux installed, I would recommend a Kali Live disc, since it runs as root. Everything seems to have copied but the first boot of the phone gave me an inconsistent UID message. It was gone at second boot. Some apps worked, some worked after reinstalling, and others lost all of their data. If you try this, move the stuff you really don't want to lose back to the phone. Starting a game all over again when you were at level 200 really bites. Facebook and Messenger store everything on servers so they could be easily reinstalled


How to connect a Nexus 6p to Windows 8.1 in MTP mode

When you plug in the device you should see in the notification shade something that says USB for Charging : Touch for more options.

If you tap that, you will have a dialog open with the following:

Use USB for

Charging
Just charge this device
Power supply
Charge the other connected device
File transfers
Transfer files to Windows or Mac (MTP)
Photo transfer (PTP)
Transfer photos or files if MTP is not supported (PTP)
MIDI
Use device for MIDI input

You want to select File transfers to have Windows detect the device as an external media device.


How to install recovery after rooting Xperia M (stock ROM 4.3) to install custom ROM?

You have to unlock your bootloader to fiddle around with your phone. Without unlocking you really CANNOT do anything. Unlocking bootloader is straight. You won't mess up anything there. It's the installing of custom recovery which will bug you. Careful.


Internal storage space on a Motorola android phone

Firstly, what's the size of your device's internal storage, and what are these games you've downloaded? Because if you have 4GB of storage and downloaded something like Dead Trigger it would be obvious that you would run out of storage space.

If it's still unclear why you ran out of storage, I would recommend two steps for you:

Download file manager from play store (I personally use FX Explorer) and search for large files you've in downloads folder (or any other folders you could possibly junk).
Download  SD Maid and let it optimize storage for you.

That should help in most cases, if not, let me know ;)


Is there a screen capture app for Android which captures a video?

Look this app (tegra 2/3 incompartible).
Also may be usable this project for PC.


How to fire text message to particular mobile numbers when my device enters into geofence specified?

You don't need a specific application to do this: it can be done with Tasker. Use the AutoLocation plugin to set up a geofence event. In Tasker, create a profile "enter depot" (or whatever the area is), where the event is entering the geofence you defined, and the task is to send an SMS. (You can find "Send SMS" under the "Phone" action category.)

With the Tasker App Factory feature, you can also export an app of this configuration, to easily install on multiple devices.

I'm sure you can set up something similar using Automate or another automation app. I just know how to do it with Tasker because that's what I use.


Install Google Chrome for old tablet / phone

Google play store shows many apps as incompatible although they might work just fine. If you are okay with downloading third party applications, you can download the .apk file for Google chrome from http://www.androidapksfree.com/apk/chrome-browser-apk-latest-version-download/

Inform me if you are unable to install the application after downloading it.


Are there any issues in storing an Android battery?

Unlike Ni-Cd and Ni-Mh batteries, Li-ion batteries primarily lose their capacity by calender time rather than by charge/discharge cycles.  It's simply a fact of the chemistry.  From the time the cell is assembled, it will lose capacity over time, regardless of whether it's in active use or sitting in a warehouse.

Stored unused, you're looking at up to 15-20% loss of capacity per year (pg 4, figure 5b) with the battery just sitting on a shelf.  Though this is more a worst-case scenario, as the battery is being stored at 35°.

To help prevent this capacity loss, you should store the battery cold.  In the paper above, storing the battery at 5° C (a few degrees warmer than an average kitchen fridge, which is ideally about 1.6° C) reduced the capacity loss rate by about half.

Putting the battery in a nice airtight bag (a small ziplock is good) is highly recommended for fridge storage to prevent unfortunate incidents relating to spills and condensation.


Is there a way to make my HTC-Incredible phone use the optical joystick button to wake up?

This should actually be pretty easy and does not require rooting or custom ROMs, but you'll need a 'lockscreen replacement' app to do it.

The app 'WidgetLocker Lockscreen' allows 'Easy Wake' that allows you to customize which button (Home, menu, trackball, volume, etc) wakes the phone. Check it out on the market, it's $1.99.

There may also be other lockscreen replacement apps out there, but that is exactly what you need: a customizable lockscreen replacement app that supports the feature you requested. WidgetLocker is an example of this.


How to share contact via sms on Android 4.4.2?

Kitkat has only 3 defaults for this:

Bluetooth
Email
Gmail

Other options can be added with 3rd Party software, e.g. ES File Exploere adds "Share over LAN".

As per  the Google products page this is a know issue.

  I too am annoyed that this issue is happening with the Nexus 5.I can only hope that they will have an update that will resolve this issue.I work in the transportation industry in which I often have to send forward a contact phone number to another driver and at this point is very cumbersome not to be able to quickly Share a recent calls number with another driver.I've been checking the Play Store to see if there is an App dialer that will resolve this issue for me.

From  this Android Central thread  it confirms that this feature is missing and the solution is to copy and paste, or install 3rd party app.

Without installing a 3rd party application, there is nothing you can do for now.


Free / local voicemail / answering machine

Here is the google play link for Google Voice, if that's what you have been looking for.

Total offline answering machine functionality is not possible due to androids technical barriers. See this thread on XDA.

You can use apps like YouMail Visual Voicemail which sounds promising. If not, you can easily find many alternatives after a quick search on google play.


Application data is secure data stored on a partition with many restrictions.  Android does not allow you to move your data somewhere, where no such security for your data exists. If it would, malicious apps could easily steal user credentials, debit card info, etc. Therefore, Android does not allow you to move your applications' data.


Nexus 7 with AOSP, what is missing from stock?

The Nexus 7, like most of the previous Nexus devices Google has released or been involved with manufacturing, runs the same AOSP source code that you propose to compile and install yourself, with only the addition of Google proprietary apps and hardware device driver binaries (though these are often available separately or in the source tree).

There are basically two reasons to do this:

You are a developer working on modifying the Android platform itself.
A fix for a bug that seriously impacts you is available in a slightly newer version of the source and it's so serious that you can't wait for the fix to be released normally.

If neither of these applies to you, then you probably shouldn't bother.


Is it possible to disable the "Activate Google Now" reminder every time you use "Google Search Widget"?

Keep clicking on the Next button as if you are agreeing. Then you can choose 'No, Maybe Later` to opt out of google-now. When you perform a normal search under your previous searches/ suggested searches there is a link to "Get Google Now" again! You can click the big X beside it and it will not come back. However, some updates and reinstalling the search app may cause this to recur again, but the steps above will get rid of it.

(source: androiddevelopersltd.com)


What factors could cause a massive spike / drop in bitrate?

Bitrate is an average. As with any average, it is greatly affected by the size of the window it is averaged over. On average the temperature where I live is around 70 degrees F. But some days it’s 30 and some days it’s 120. But the average is 70. If you do daily readings you will see spikes. If you do monthly reading, you will see a sin wave, if you do yearly readings, the line will be pretty flat (not factoring in climate change).

Individual frame sizes vary massively depending on information density, motion, scene detection, and minimum key frame intervals. It’s a function of how video compression works and completely normal.

Research how video compression works. Specificity I/P/B frames and it will make sense.

Also note that available bandwidth changes very rapidly. Especially on wireless networks. And many video conferencing software will adapt to keep the call working.


How to use Android device as router without cellular connection?

If you have root access and don't mind working on CLI, a shorter version of script used for How to use Android in Wi-Fi repeater mode? can be used to create a hotspot network provided that your WiFi interface supports AP mode:

#!/system/bin/sh
set -e
#set -x

# this scripts creates a hotspot network

[ "$(id -u)" = 0 ] || { echo 'Not running as root!' >&2; exit 1; }

# check required binaries are on PATH
for bin in iw ip iptables hostapd dnsmasq
do
    ! which $bin >/dev/null || continue
    echo "$bin not found." >&2
    exit 1
done

####################
# define variables #
####################
SSID=MyAP                           # set this to your desired string (avoid spaces and non-ascii characters)
PASSCODE=foobarfoobar               # set this to your desired string (8 to 63 characters)
WIFI_INTERFACE=wlan0                # set this according to your device (check with 'lshw' or 'ip link show')
AP_INTERFACE=${WIFI_INTERFACE}-AP
DIR=/data/local/tmp/$AP_INTERFACE
SUBNET=192.168.43
IP=${SUBNET}.1

##########################
# start / stop tethering #
##########################
STOP()
(
    echo 'Cleaning up...'

    # don't print error messages
    exec >/dev/null 2>&1

    # hope there are no other instances of same daemons
    pkill -15 hostapd
    pkill -15 wpa_supplicant
    pkill -15 dnsmasq
    # remove RPDB rule and iptables rule
    ip rule del lookup main
    iptables -D INPUT -i $AP_INTERFACE -p udp -m udp --dport 67 -j ACCEPT
    # delete AP interface
    iw $AP_INTERFACE del
    rm -rf $DIR
)

if [ "$1" = stop ]
then
    STOP || true
    exit
elif [ "$1" != start ]
then
    echo 'Usage:' >&2
    printf '\t%s\n' "$(basename "$0") start|stop" >&2
    exit 1
fi

################
# basic checks #
################
if ! iw phy | grep -A10 'Supported interface modes:' | grep -q '\*[ ]*AP'
then
    echo 'AP mode not supported.' >&2
    exit 1
fi

if ! iw dev $WIFI_INTERFACE link | grep -q '^Not connected'
then
    echo 'First disconnect form Wi-Fi.' >&2
    exit 1
fi

##########################
# stop running instances #
##########################
STOP || true

#####################################
# create virtual wireless interface #
#####################################
if ! iw dev $WIFI_INTERFACE interface add $AP_INTERFACE type __ap
then
    echo "Couldn't create AP interface." >&2
    exit 1
fi

#####################################
# configure newly created interface #
#####################################
echo 'Configuring network...'

# activate the interface and add IP
ip link set up dev $AP_INTERFACE
ip addr add ${IP}/24 broadcast ${SUBNET}.255 dev $AP_INTERFACE

# Android doesn't look up into main table by default
ip rule add lookup main

#######################
# access point daemon #
#######################
# create configuration file
mkdir -p "$DIR"
cat <<-EOF >$DIR/hostapd.conf
    # network name
    ssid=$SSID
    # passphrase to use for protected access
    wpa_passphrase=$PASSCODE

    # network interface to listen on
    interface=$AP_INTERFACE
    # wi-fi driver
    driver=nl80211

    # set operation mode, 'g' for 2.4GHz band
    hw_mode=g
    # WLAN frequency channel to use
    channel=1

    # key management protocol; use pre-share key
    wpa_key_mgmt=WPA-PSK
    # enforce WPA2
    wpa=2
EOF

echo 'Starting hostapd...'
hostapd -B $DIR/hostapd.conf

################################################
# run a dhcp server to assign IP's dynamically #
################################################
# create configuration file
cat <<-EOF >$DIR/dnsmasq.conf
    # we dont want DNS server, only DHCP
    port=0

    # nameservers to be sent to clients
    dhcp-option=6,1.1.1.1,1.0.0.1

    # range of IPs to make available to wlan devices and when to renew IP
    dhcp-range=$IP,${SUBNET}.254,24h
    # where to save leases
    dhcp-leasefile=$DIR/dnsmasq.leases

    # respond to requests from a different IP broadcast subnet
    dhcp-authoritative
    # don't look for any hosts file and resolv file
    no-hosts
    no-resolv
EOF

# open listening port
iptables -I INPUT -i $AP_INTERFACE -p udp -m udp --dport 67 -j ACCEPT

echo 'Starting DHCP server...'
dnsmasq -C $DIR/dnsmasq.conf </dev/null

echo Done.

Now you can connect to Access Point MyAP using key foobarfoobar.

wpa_supplicant can also be used in place of hostapd for simple cases like ours, but the one shipped with Android doesn't seem to work. You need to compile binary from source, or try this one. Configuration is even simpler:

...

#######################
# access point daemon #
#######################
# create configuration file
mkdir -p $DIR/wpa_supplicant
cat <<-EOF >$DIR/wpa_supplicant.conf
    ctrl_interface=$DIR/wpa_supplicant

    network={
        ssid="MyAP"
        psk="foobarfoobar"

        # force create AP network
        ap_scan=2

        # key management protocol; use pre-share key
        key_mgmt=WPA-PSK
        # enforce WPA2
        proto=RSA

        # set mode to AP
        mode=2

        # channel frequency
        frequency=2412
    }
EOF

echo 'Starting wpa_supplicant in AP mode...'
wpa_supplicant -B -D nl80211 -i $AP_INTERFACE -c $DIR/wpa_supplicant.conf

...

hostapd, wpa_supplicant and dnsmasq all are part of AOSP. hostapd is used for wireless tethering, wpa_supplicant for WiFi connections and dnsmasq as DHCP/DNS server (up to Pie).
dnsmasq isn't necessary if you prefer static IP configuration.
If your device doesn't contain hostapd binary, you can get one from some other device or compile from source, or try this one.
For more configuration options, see hostapd.conf, dnsmasq.conf and wpa_supplicant.conf. See WiFi channels detail here.
Also make sure both hostapd (runs with UID 1010 AID_WIFI) and dnsmasq (drops to UID 9999 AID_NOBODY) are able to make outbound connections through firewall.
SELinux may also cause problems with this manual setup, so set permissive for testing purpose or define policy rules.
Since you don't intend to use internet, there is no need to configure NAT and packet forwarding.

PS:

In case if you have cellular connection, the only extra thing to be done is internet sharing. For extra steps see How to create a WiFi hotspot from the terminal?


The Milestone is an unofficial port, and USB tethering is not yet supported. There is a feature request on their issue tracker for this.

The most recent comment on the above mentioned ticket indicates that it's been fixed as of 7.1.0-RC15 and should now be included.


Turns out unlock via face recognition will be built-in in Android 4.0 Ice Cream Sandwich.


Can't save proxy settings after installing AdBlock Plus

Its not about adblock i guess.
Its is just that you have to give proxy server ip instead of hostname ( it looks something like 10.X.X.X ). it will enable save button.
So you put that ip in proxy hostname and save button will be enabled.
( It worked for me in my android)


ICS (Android 4.0.3), Samsung Galaxy S2, Exchange Email

I just had the same problem and I found a way of seeing the subfolders on my Galaxy.

On the PC, open your inbox and create a new subfolder (eg foo).

On your phone, open email and open your inbox. in Options, select 'Folders'.
You will see your Inbox with a small green arrow icon. Click the icon (not the Inbox title) and your folder list will expand.

Note that this only worked for me after I had created the extra dummy folder. Before I created the folder, I could see the green icon, but it would not expand the list of subfolders.


ICS: any way to restore the "combined view" email notification I had on Gingerbread?

I finally gave up on the stock email client for Android 4.0 because of this problem and others. Now I use Enhanced Email and I love it. Its screen-real-estate-efficient UI is based on the Gingerbread client and the dev team is very responsive to user suggestions and feedback. And it doesn't kill battery life like Touchdown.


How to protect my files from the Mobile repairers?

If your really paranoid about your data then backing up all your information to your PC would be one thing - syncing your contacts to your Google account.

If you have a later version of Android then should have encrypting software to encrypt your device and data. But to be safe, anything personal backup to your PC.


Android keyboard and remapping the CTRL key

I managed to remap the Caps Lock key to Ctrl using External Keyboard Helper Pro. It was really straightforward, just poke around in the settings and you'll find a way to create a custom mapping (Keycode 58 --> Left Control).


It is mostly because status bar icons vary from OEM to OEM. Each one has a slightly modified icon set to go with their overall skin/UI. And then icons will depend a lot on the features incorporated within a device. So, developing a full list of icon sets seems like a tough task. Because you'll eventually miss at least something used on a phone.
Other than that, 3rd party apps also show their icons up the status bar. And it's impossible to keep a track of each and every app.


You've got some kind of adware. Check your running apps and stop any apps that are unfamiliar-looking. Be sure to checked cached processes as well.


Xposed Installer is not necessarily a system app; however, Xposed framework itself , mainly /system/bin/app_process, is. If by "restore" you mean factory reset (wiping /data) then it will not go away.


The long SMS is converted to MMS and shows sending. How do I make sure it is sent?

It hasn't. The status would change if the message went through. Now you'll have to check you MMS settings from Messaging ->menu-> Settings -> Multimedia message settings and your MMS APN from Settings -> Wireless -> Mobile networks -> Access point names (or Settings -> More.. -> Mobile networks -> Access point names in newer versions).

After you have corrected these and verified that your carrier/operator has enabled MMS on your account, the message should be sent. Or you have to long-press it and select Retry.


How can I use the camera button to pause/resume mp3?

You have multiple choices on how to accomplish this:
Using a headset
If you've got a 1-button-headset connected, you can facilitate that button. There are multiple apps on the playstore providing enhanced possibilities to this -- just search for "headset-control. Having a Philips headset, I use Philips Headset, which works pretty well; you might have to try several of the available choices to find the one suiting you best.
Most of these apps offer things like:

configure a media player app to be started as soon as the headset gets connected
play/pause (or accept an incoming call) with a single press
skip forward (or reject an incoming call) pressing twice
increase volume by holding the button, decrease it by one click followed by holding it
skip backward (triple click)

Actions are usually configurable.
Without a headset
Re-defining a hardware button can be achieved e.g. using Tasker, which is an automation app for Android (to be more precise: it's the most complete automation app available; costs ~ 5 Euro, a 7-day-trial is available at the homepage, but it's worth every cent). The Tasker manual states:

Simulate Media Button: when selected, any media player which listens for Media Button events can be controlled. Without it, the only the Android system media player will respond.
Note: the Toggle Pause function may not work unless playback has already been started manually.

And yes: You can bind that action to...

Button: Camera
Button: Long Search

amongst others. You could even bind it to a "shake pattern" (e.g. shake left-right to skip a title).
Example:

Condition: Event → Hardware → Button: Camera
Task: Media → Media Control → Cmd: Toggle Pause


Locked out of my phone. How can I backup my sms?

Reset your google account password on a computer and login with the new password.


I want to flash my my Skyrocket I-727. There's an issue, though: My USB conneciton isn't recognized on any computer

What you need to do is head over to sammobile.com and download the latest firmware for your phone, then using Odin you can flash the new firmware.

If your driver issues are software related then this will work because Odin uses your phones "Download Mode" and that is a different driver all together, and if your truly stock and not rooted there is no way you could have changed it.

Samsung Kies will come with the needed driver for download mode to get that too if you don't already have it.

Also you can check out forum.xda-developers.com there is a lot of useful tools and guides there.

Another option if the Samsung Kies for skyrocket supports it is a firmware emergency recovery. It will install the latest firmware, and use download mode to do it.


What is the status icon that looks like a house?

This is the icon that symbolises that the Verizon Network Extender is in use - could it be possible that the restaurant you visit has had one installed/set up?

Source


There is a single list of contacts. But smartphones allow many different contact providers (Google Contacts, Facebook, SIM card, internal phone contacts, Skype, ...). But they are all shown within the same app in a single list. A symbol tells you where the contact came from.

I recommend to use Google Contacts as main contacts provider. Don't save contacts on the SIM card and the internal phone memory. Google contacts are automatically synced with your phone and the cloud. You can comfortably edit the contacts @ google.com/contacts. Every edit is instantly propagated to your phone. And if you change your device you simply add your Google account and all your contacts will appear there, too. No more SIM card contact importing/exporting.

In order to solve the problem of duplicate contacts from different contact providers Android provides a 'join contacts' feature, which merges the information from different providers into one single contact.


Why can't I see a folder in "/storage/emulated/0" on PC through MTP?

It seems to be a problem related to Media Providers. Due to some bugs in implementation of MTP, database of Media Storage app (/data/data/com.android.providers.media/databases/external.db) built from contents of /storage/emulated/0 isn't updated or is delayed or isn't properly communicated with the client as the files change, so MTP shows outdated / incomplete contents.

In order to force database updation, delete the file and run some media scanner app. Non-root users can delete this file by clearing data of Media Storage app.
But be aware, it'll also clear internal.db which will make ringtones unavailable and a new database will be built from /system/media on next reboot.

See this answer for more details.


External SD Card Detected, Files Not Showing

You say:

  Also, on a side-note, it says that the phone only supports a 32GB SD,
  but I have a 64GB inserted and it works just fine, seemingly. Could
  that also be it?

Yeah, seemingly. Did you expect anything different?

Could that also be it? YES, with surety above 90% for me.

You appear trying to kinda 'cheat' your manufacturer, by using a size your phone doesn't support on paper. Perhaps, that's affecting the consistency of displaying the contents on your phone. For some phones, like Sony Xperia Z2, the storage won't show up at all if it goes beyond the recommended size limit on paper.

Instead of trying to go beyond whats recommended on paper, kindly stick to 32 Gig storage or less, as your manufacturer says. If it doesn't work, then there's a problem. Until that, you're just messing up with phone.

If sticking to 32 or less storage capacities, the inconsistencies exists, then you might consider:

Trying your SD card in another phone to see if it works. If it works...
Try a different file explorer on your phone.
As a fallback, it might be an OS issue, and perhaps fixed in an update. Update your phone software.


Can I play DRM music from iTunes on my Android?

This has basically been answered in the comments above but I'll wrap it all up into an answer:

No, you can't play songs that have Apple's Fairplay DRM protection on your Android phone without removing the DRM protection (which technically violates Apple's toc).  As Edarerathis pointed out, Songbird doesn't actually support Fairplay DRM'd media, Quicktime does, so SongBird (like RealPlayer) uses Quicktime to decode the songs and play them.  It wont work without Quicktime installed and so you can't use this functionality in Linux or Android.


Can anyone explain all these Developer Options?

Please keep in mind these are Developer options, and may be of no use, or have a negative impact on the performance of your device.

Force GPU rendering

The GPU is the Graphics Processing Unit. It's very much like the CPU, but instead of crunching numbers and taking care of tasks for the operating system and hardware, the GPU renders graphical information and puts it on the screen for you.

The CPU can process graphical instructions just fine, but doing so takes time away from doing other computations, and can lead to lag while graphical instructions are processed

In Ice Cream Sandwich onwards, developers (or power users) are given the option to force apps to use GPU rendering, whether that bit is on or off in the app's manifest. This does not necessarily make the app faster, and may cause issues.

Disable non-rectangular clip ops

This is too technical for me to explain in great detail. Basically a "canvas" is used for drawing. The source Code for Android contains this:

/**
     * Turn on to **debug non-rectangular clip operations**.
     *
     * Possible values:
     * "hide", to disable this debug mode
     * "highlight", highlight drawing commands tested against a non-rectangular clip
     * "stencil", renders the clip region on screen when set
     *
     * @hide
     */
    public static final String DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY =
            "debug.hwui.show_non_rect_clip";

You could turn it off to create unusual (non rectangular) canvas areas. See here for more details on this

As  per @IanNi-Lewis points out in his comment:

  It's probably worth pointing out that "non-rectangular clip regions" is a little misleading. It should be "clip regions that aren't screen-aligned rectangles." If you have a rectangular clip region that's rotated by some non-multiple of 90 degrees, then it goes down the same slow path as a clip region shaped like a donut or what have you. (The "slow path" uses the stencil buffer, and probably doesn't need to be as slow as it is; it's a good area for future optimization.)

Force 4X MSAA

Force 4x MSAA  does not require a rooted device. This option does the same as any Anti Aliasing filter in PC games - smooths out all the pixelization and provides better rendering, which means better looking graphics. Users should know that this function is only recommended for devices that have GPU capable of native MSAA support.

From Wikipedia:

  In signal processing and related disciplines, aliasing is an effect that causes different signals to become indistinguishable (or aliases of one another) when sampled. It also refers to the distortion or artifact that results when the signal reconstructed from samples is different from the original continuous signal.

Disable HW overlays

Without a hardware overlay every application that is displaying things on the screen will share video memory and will have to constantly check for collision and clipping to render a proper image, this can cost a lot of processing power. With a hardware overlay each application gets its own portion of video memory, getting rid of the need to check for collision and clipping.

As @DanHulme put it: Windows in Android are always composited rather than rendered into shared video memory. Normally, SurfaceFlinger uses the GPU for composition, but it will use a hardware overlay when that's possible, which is faster and uses less battery. Disabling overlays means it will always use GPU rendering. It's only useful for debugging system integration or HW video decode: even app developers don't need to turn on this option


Unable to use Market because of my own mistake

Since you haven't mentioned, I assume you don't have nandroid backup.

  A NANROID backup is basically a backup of your Android operating system from the phone’s NAND memory, saved to the storage card.

If you had that, you could have just restored the backup.

Now the alternative is, if you know the programs that were deleted by the performed command you could try getting the apk files and adding them in /system/app and rebooting the phone.

I thing the best and easy way now would be to get the stock ROM for your phone and flash it.


How to get data (text and pictures) from server via http get request using a NFC Tag (NFC tools)?

You can do it with the following setting: Trigger (free) + Tasker (2.99$, if memory serves).
The basic idea is:

Trigger will read an NFC tag which will launch a Tasker's task;

Tasker will use Net -> HTTP Get to, either:

get html from your server and parse it to extract text data (mime type = text/xml) and save it in a variable and show it with Alert -> Flash

or:

get your picture (mime type = image/jpeg) and save it, then show it with another task.

If you want to change the image you get each time, use a first HTTP Get task to get the picture location on your server, and a second to get the actual pic. Depending on how your server is set up, you will have to fill the fields of the tasks with the right data (this is why my answer is so general, if needed I can try to go some more deeper with my explanation). Here you can find a basic guide to the use of HTTP Get and in this comment on the Tasker forum the use of the two phases request to get a picture from a server.


I recently bought a nexus 6p myself and upgraded it to Nougat (Android 7.0).
It burns like a stove after playing 10 minutes of any 3D games (in my case, Walking Dead: No man's land), and that's both before and after the system update.
I think the following article explains the reason pretty well, it's all about the processor:
http://www.androidheadlines.com/2015/10/huawei-nexus-6p-good-bad-ugly.html

I tried wrapping an ice pack with a towel under my phone while using it and it helped a lot.
I'm not sure if that's good idea though because people say that it will definitely cause condensation inside the device and void the warranty.


Does changing a PIN decrypt and encrypt everything again?

A phone is encrypted with a randomly generated dedicated key, then the key is encrypted with PIN and stored somewhere else.

When you replace the PIN, it's the key that gets decrypted and encrypted again. When you remove the PIN, the key is decrypted.

It's a bad practice to encrypt the device with an easily-changeable PIN because encryption takes time, and comsumes power.


You can install Link2SD, an app that allows you to uninstall any and all applications, system included.


Can't adopt micro-sd card on Moto Z2 Force

Moto removed the adoptable storage feature from their devices. It's not bad practice; I definitely like it. As for bad practice, I think it's a good thing, but it definitely requires more mindful usage of your device, which a lot of folks aren't used to.


How to assign my home button function to a custom launcher?

Go to Settings > Apps > Click on the "All" tab then find your current launcher (the one that is default now) in the list. In the App Info page you should have the option to "clear defaults". Click this and the next time you hit the home button you will have the option to select a different launcher.


Galaxy Ace 2 won't display images due to lack of memory?

You're out of RAM I think. Clean the RAM memory in Task Manager. Use any other apps like advanced cleaners which you can easily find in Play Store to remove other Junk files.
Post what happened.


How can I determine whether or not a phone can be upgraded to Android 7.XX?

I would suggest a number of things:

Check on the manufacturer's of the phone's website for hints or tips on capabilities that come with the phone, hardware specifications and all features of the phone
Check on technology blogs that do phone reviews e.g "Reviews Tabloid".
When Android 7.X.X is out check its requirements and compare with the specifications of the phone using Android 5.X.X and see if upgrade is possible.
Lastly try and find out if the phone allows for OTA updates.


How to stop apps writing to "Android" folder on the SD card?

Apps usually don't write data to external SD card, but starting with Android 4.4 up to latest release 10, there is no permission to stop apps writing to Android directory on external storage. The reason is more historical than technical.

ANDROID'S STORAGE JOURNEY:

Android provides two types of storage to apps: private (or internal) and shared (or external). As names suggest, private directories of every app (in /data/data/) aren't accessible to other apps, but data placed on shared storage is.

External storage used to be physically external SD card (with permission-less filesystem from FAT family) in early days when flash storage was costly. So apps used to place a lot of data on external SD card.

Android enforced WRITE_EXTERNAL_STORAGE permission as early as in Android 1.5 to control which apps could write to external storage, so almost every app had to request this permission.

As the internal flash memory grew in size, OEMs created a separate partition (usually named sdcard) "to provide external storage internally". Now there were two external storage: primary (sdcard partition) and secondary (external SD card). Since primary external storage was still smaller, apps continued to widely use secondary storage by placing files wherever they wanted, creating random directories on both storage.

In Android 2.3 FUSE was introduced to emulate primary external storage (/sdcard) over actual filesystem of sdcard partition which majorly remained vFAT. But the primary intention was to retain a permission-less virtual filesystem (like FAT) over a permission-aware Linux filesystem (like ext4) so that data could be shared among apps (UIDs).

Android 3.1 switched USB Mass Storage (UMS) to Media Transfer Protocol (MTP). It means that sdcard partition or external SD card was not mounted as partition when connected to PC. So actual filesystem contents aren't visible over MTP, instead MediaStore (one of Android's built-in content providers) provides an indexed list of files. Also apps can make use of this content provider. See details in this answer.

Starting with Android 3.2 apps write-ability to external SD card was restricted to only system apps (using WRITE_MEDIA_STORAGE permission). See details in How to move files to external SD card?. On rooted devices this restriction is hacked by mapping GID media_rw (1023) to WRITE_EXTERNAL_SRORAGE permission.

By the release of Android 4.0 (started with 3.0) OEMs started emulating /data/media on /sdcard as primary external storage, which eliminated sdcard partition. This was not possibly with UMS because /data could not be un-mounted from Android to mount on PC. This is true to till date.

Android 4.3 merged multiple fstabs used previously to a single /fstab.<device>  file and introduced voldmanaged flag for external filesystems to be mounted by vold. With Treble support in Android 8, fstab was moved to vendor partition and in DTB. See What is default “fstab” file in Android?

In Android 4.4 making use of FUSE-based synthesized permissions, apps were allowed to write to their "private directories" (inside Android/{data,media,obb}/ directories) on "shared storage" without requesting Storage permission. It made it officially possible for apps to use multiple external storage (primary and secondary). Also READ|WRITE_EXTERNAL_STORAGE was necessarily required to read external storage, including other apps' private directories.

Storage Access Framework (SAF) was introduced to let non-system apps write to SD card and direct write access to secondary external storage was strictly stopped. So now it was made clear that external storage is not always removable storage, the former could be physically internal. Transient storage like USB is in addition to these.

Coming to your question:

  I'd prefer that all the application data is on the internal storage rather than on the SD card.

Third party apps cannot write directly to public directories on secondary external storage, but cannot be stopped from writing to their private directories (1, 2, 3, 4), thanks to synthesized permissions based on directory structure:

  "The WRITE_EXTERNAL_STORAGE permission must only grant write access to the primary external storage on a device. Apps must not be allowed to write to secondary external storage devices, except in their package-specific directories as allowed by synthesized permissions. Restricting writes in this way ensures the system can clean up files when applications are uninstalled."

And:

  "Starting in Android 4.4, the owner, group and modes of files on external storage devices are now synthesized based on directory structure. This enables apps to manage their package-specific directories on external storage without requiring they hold the broad WRITE_EXTERNAL_STORAGE permission. For example, the app with package name com.example.foo can now freely access Android/data/com.example.foo/ on external storage devices with no permissions. These synthesized permissions are accomplished by wrapping raw storage devices in a FUSE daemon."

By accessing / creating their private directories, apps confirm if the secondary external storage is available. So in most cases the directories under Android directory on SD card are either empty, or the files are a copy of those on primary external storage. Though it doesn't make sense most of the times, but some app developers may prefer to save data on secondary external storage, it's up to their will. E.g. for quickly expanding raw video files or large OBB files as mentioned by Andrew in comment. Android's suggestion:

  "... the device has two different external storage directories, so you need to select which one to use when writing "private" files to the external storage.
  ...
  The first entry ... is ... the primary external storage, and you should use that location unless it's full or unavailable."

And the other one:

  "An application may store data on any or all of the returned devices. For example, an app may choose to store large files on the device with the most available space"

Since private directories on external as well as internal storage are deleted on app uninstall, the preferred storage for apps to store persistent data (like photos) is primary external public storage. This norm continues to till date. Therefore it's usually safe to delete Android and other empty directories (some Android versions also create standard directories) on external SD card but those would be recreated.

STORAGE JOURNEY CONTINUED...

SAF (file picker) was extended in Android 5 (for Directory Selection) and then in 7 (to Scoped Directory Access). Android 10 further extended it to Scoped External Storage Access entirely removing filesystem level access to primary external storage as well, replacing with filesystem APIs.

Android 6 introduced Adoptable Storage to use SD card as primary external storage by encrypting it (vold flag in fstab: encryptable=userdata). Now even apps and their data on internal storage can be moved to adoptable storage. See How to move apps from internal to external storage? This was previously achieved by OEMs and custom ROM developers by applying patches like "Default write disk" or "Disable Internal Memory" to AOSP. Apps like "Link2SD" also filled the gap on rooted devices.

Additionally Storage Configuration (storage.xml) was removed from framework-res.apk and merged to fstab. UUID based mount path was introduced.
Also many install-time permissions were shifted to runtime permissions and in order to make WRITE_EXTERNAL_STORAGE a runtime permission, mount namespaces were used. For details see What is the “u#_everybody” UID? and What is /storage/emulated/0/?

FUSE was removed completely in Android 9. sdcardfs is now used for emulation. Read full story here.


can't make or receive calls or send text messages

If the apps are missing from your phone:
Settings>Apps>All Apps, then scroll down to whichever apps are missing from your app drawer (eg. Phone/Dialer, Messaging). Click on the missing app(s), then in the app info screen, you should be able to enable it.

If the apps are there but you can't use the carrier service: Power off your phone, remove the SIM card (if possible) and then reinsert it in the correct position. Then power on the phone.


It's very easy. Follow steps

Install Google USB Driver From SDK Manager.
Now Open Device Manager.
Check for your device in Other Devices or Portable Devices
Right-click and click on Update Driver Software -> Browse my computer for driver software -> Let me pick from a list of device drivers... -> Have Disk -> Browse -> (C:\Users\Your user\AppData\Local\Android\sdk\extras\google\usb_driver) -> select android_winusb -> Now update your driver.

It should work perfectly.


Javascript not loading in browser(Miui10 Global8.9.6 beta_Redmi note4)

Apparently,the Redminote4 file manager doesn't recognise the link between separate html/css/javascript files(even though it get's perfectly recognised in a desktop environment).

The only option left is to embed all your html/css/javascript code into one large html file(not a good practise!) and open this file directly from the file manager.


Software recognizing phone numbers in documents?

Have you tried Google's Quickoffice? It detects numbers (and underlining them), and lets you click the number to open the dialer with that number.


First, the definition of a bootloader (as described by Technopedia):

  A boot loader primarily manages and executes the boot sequence of a
  computer system. A boot loader program is typically started after the
  computer have finished performing the initial power. It fetches the OS
  kernel from the hard disk or any specified boot device within the boot
  sequence, into the main memory. A boot loader is associated with only
  a single operating system. An operating system can also have multiple
  boot loader programs classified as primary and secondary boot loaders,
  where a secondary boot loader might be larger and more capable than
  the primary boot loader.

On samsung devices you can enter into download mode and plug your phone into a pc and open up Samsung Odin 3 and flash a bootloader by selecting BL and the file

Also flashing bootloaders is EXTREAMLY RISKY. Flashing the worng or incompatable bootloader is worst than flasing a boot.img that wasnt meant for your device. It will result in A hard brick and its very rare to recover from that unless you have a Programmer JIG/JTAG

Also flashing items in a locked bootloader is very dangerous because theres 100% cHance of Bricking your device if you flash a custom item..

And a bootloader is programmed into a ROM chip it cannot be easily changed fomating. Its better for you to not interfare with your bootloader unless you want to unlock it and root or flash things to your device.. Custom roms are made with these 2 CRITICAL IMGs BOOT.IMG SYSTEM.IMG

Also theres no need to make a custom bootloader because almost every device has the same bootloader type but differ from code and compatibility


I have my android connected to my pc via a wifi hot spot. How do I enable usb debbuging through the adb ? What is the commands?

Enable developer options and USB debugging of your phone:

Open Settings, then select About.
Tap on Build number seven times.
Go back, and select Developer options.
Scroll down, and check the Android debugging or USB debugging entry under Debugging.
Plug your phone into your computer.

For debugging Android studio via WiFi install Wifi Adb Ultimate plugin
https://plugins.jetbrains.com/plugin/9207-wifi-adb-ultimate


permissions to manage google drive automatically removed if app removed?

You'll want to log into your Google Drive via web browser:

Click the Gear icon
Select Settings
Click Manage Apps
Find the app in question, click on it and select Disconnect from Drive


If your Android is not root, you can try another pc program called Backuptans Android SMS + MMS Transfer. Connected your phone to computer via usb or wifi and then click the backup button to save messages on computer. And yes, MMS restoring from computer to Android is supported. Tested with my Galaxy S3.

PS: It also can work for an Android phone with broken screen. Just make sure your have enabled usb debugging on device first.


Where is the settings option to Divert or block incoming calls

Just open your call button, tap the 3 dots in search bar top right, then settings and you have both.


Are the AOSP Email and Calendar apps dead?

I cannot speak to cyanogen mod, however my understanding is that cyanogen mod has been taken over/morphed into what is now known as the  Lineage OS Distribution here: https://lineageos.org/ perhaps you can get more info there or check on the android open source project here AOSP Platform Email and here.
Regarding how to install them, see here.


Contact images missing from SMS list in hangouts

This ended up being an extremely simple fix but took me a long time to do.

Open the hangouts app and go to Settings
Select your Google account
Scroll down and click 'Sign out'
Back in the main listing, click the SMS dropdown
Click on your Google account

And that's it! All my contact images showed up correctly and change when I change their photo via the contacts app.


A factory reset deletes all the userdata that has been stored by the user and apps, including your personal files in internal storage.

A factory reset does not make any changes to the system and boot partition (where the underlying OS is stored) or any other non-userdata partition. During a system update, it is mostly the boot and system partition which gets updated and the update doesn't keep the earlier state of Android saved, so a new update overwrites the earlier updates.

In short, a factory reset wouldn't bring your device back to Android Oreo anymore. If the backup was stored in the cloud, the restore may be triggered during Setup Wizard post the factory reset so you can try that.


Why are Google Maps 9.5.1 running slow/freezing?

The Google Maps App is dependent on the Google Play Services app. Whenever you point out a location or a route, or even load a particular area of the map regularly, it records your actions so as to provide a better prediction the next time you access that particular app.

Those recorded actions are linked to your Google Account through the Google Play Services app, which runs in the background. This might overburden the RAM, and to free more space for it, the system terminates other activities which might be linked to the SystemUI. When they terminate, the SystemUI crashes.

When you deleted the data and the cache, it just made the app rebuild its data. The records would be with the Google Play services, which would be relinked with the app again.

When you wiped the data, all previous records would be erased even in Google Play services, so there would be much less data for the app to read while it loads. Hence the speeding up after a data wipe.


Why does the Google Maps app need my phone call permission?

If you receive a call, an app may wish to know this. It could then free some of the phone's resources (CPU/RAM) to allow the call to be answered quickly, along with lowering or muting the navigation voice, etc. Those permissions may also be related to allowing the app to call a particular location, or even put there for a feature not compatible with your phone or fully released yet.

Individual permissions encompass access to many different things, so not every permission is explicitly used for malicious purposes. That of course doesn't mean you shouldn't be cautious.

If you really don't trust an app, use a permission manager. Your phone may have one already built in, with no root required for pre android 4.4.2 devices. Or just download one from the app store. They will allow to you disable individual permissions for specific apps. For example, most games have no business with your GPS, so disabling it won't hurt anything. Be careful, because as I stated before, some permissions are beneficial for particular purposes.


Moto G (2nd gen) does not support OTG after Lollipop update

Formatting the drive with FAT32 solved the problem for me (it was NTFS before).


The charging issue may be caused thanks to some app which is running on background and a lot burdens CPU.

Try to kill all apps before/while charging to decrease CPU consumption

That 4 hours of nonstop usage are normal I think. If you were playing games or something like that you should be happy for 4 hours. :) So answer is: Yes, It's normal.

Look at this guide


I simply have Flipboard "Turned Off" in the Application Manager on my S3. I have no problems with other apps from turning this off.


From StackOverflow: How to install trusted CA certificate on Android device?

I spent a lot of time trying to find an answer to this (I need Android to see StartSSL certificates). Conclusion: Android 2.1 and 2.2 allow you to import certificates, but only for use with WiFi and VPN. There is no user interface for updating the list of trusted root certificates, but there is discussion about adding that feature. It’s unclear whether there is a reliable workaround for manually updating and replacing the cacerts.bks file.
Details and links: http://www.mcbsys.com/techblog/2010/12/android-certificates/. In that post, see the link to Android bug 11231 --you might want to add your vote and query to that bug.

11231 was closed in November of 2011 and the status was Released for Android 4.0 ICS.
Here are the notes associated with the Released status:

ICS does attempt most if not all of the items in this issue. If I missed anything, I'll open more specific issues to address the gaps.
Some details below, I plan a more formal blog post later. The following should all be visible in the Android 4.0 SDK if you want to try them out and give feedback.
Changes in Settings:

system certificate authorities (CAs) are now visible in Settings > Security > Trusted Credentials.
system CAs can now be disabled and reenabled
users can install their own CAs from Settings > Security (as well as other mechanisms such as via browser or opening from email attachment.
user CAs can be viewed and deleted in Settings > Security > Trusted Credentials
instead of a separate 8 character PIN for credential storage, access is now controlled via the lock screen

New KeyChain API

KeyChain.createInstallIntent allows applications to request credential installation in, basically making public the interface used by Settings to request installation. users need to confirm installation requests as before.
KeyChain.choosePrivateKeyAlias/getPrivateKey/getCertificateChain allow applications to request private keys and their associated certificates for application use. a common use case would be for client certificate authentication with https.

Email

Email now uses the KeyChain API to allow client certificate authentication for Exchange accounts

Browser

Browser will now use the KeyChain to prompt for a client certificate when the server requests one for authentication.

In March 2014, an enhancement request was created Allow users to install own CA certificates.

Many users (including companies) use self-signed certificates for SSL/TLS, either because they don't want to pay for it or because they just don't trust other companies and want to do it themselves (actually, there's no reason to buy a certificate when it's not required that anonymous Internet users trust your server).
At the moment, it's possible install a custom CA certificate in Android, but it's detected as "user certificate" which seems to be intended for client-side certificates. As a result, these certs are shown as "user certificates" in the GUI and since Android 4.4, a terrible "Network may be monitored" has been implemented.


Why wiping "Data" in recovery doesn't wipes my Media in Internal SD card?

Well this sdcard thingy is kind of tricky for the OPO. For me it seems like the device does not have an sdcard at all(not even an internal). Which would mean that the free space you see is actually an emulated internal sdcard taken from your device flash memory.

For emulating an sdcard a FUSE daemon is used where also your /dev/fuse device comes into play. This is probably the raw presentation of your flash memory made accessable via your kernel. Which is then mounted to /mnt/shell/emulated.

Additional Info about FUSE: http://en.wikipedia.org/wiki/Filesystem_in_Userspace#Virtual_file_system.

To back my assumptions about the emulated internal storage see the storage configuration file for the OPO:
https://github.com/evolve-bacon/android_device_oneplus_bacon/blob/lollipop-5.1/overlay/frameworks/base/core/res/res/xml/storage_list.xml

Now to your question why your /data/media directory is not wiped while doing a factory reset:

This is just a nice feature when there is no physical external sdcard(or even internal) present. So that you don't loose your important userdata like downloads pictures etc with a data wipe.

What Cyanogenmod did here was declaring an external sdcard on your emulated internal sdcard which resides in /data/media.

For full understanding see: https://github.com/TheOldUnas/Bacon-Lollipop-Boot/blob/master/boot/ramdisk/init.bacon.rc

Especially the declaration of: export EXTERNAL_STORAGE /storage/emulated/legacy and the FUSE daemon for /data/media: service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated

For final understanding compare on youe device the output between ls -l /data/media/0  and ls -l /storage/emulated/legacy and finally ls -l /sdcard. It is all the same as it is your from emulation, emulated external sdcard :D

For your comparsion between fastboot erase and data wipe through android/recovery. Fastboot is part of the bootloader and does not know about all this emulation mess so it will completely wipe data.


How safe is android compared to other mobile platforms?

This is too big for a comment, so here goes:

Both articles cite one and the same McAfee report.
McAfee is a security products vendor, hardly an impartial observer to the malware scene.
McAfee does not have products which for iOS devices, but they most certainly do for Android devices. And paid, too. Turns out they might have for both platforms. I can't be bothered to install iTunes to verify.
Android is the fastest-growing mobile platform, and with an absolutely crazy 73%+ growth rate, and now has 48% market share, compared to just 10% in the beginning of 2010.

No big surprise here -- this is just a marketing ploy by a security vendor to sell more products. The same trick they pulled off with other AV vendors that they did with PCs in the mid-2000s.

As an aside, security is not all that much platform-dependent as it is people-dependent. Most of the largest security breaches are caused by social engineering attacks rather than technical limitations. I have yet to see with my eyes an Android malware application, it has always been beyond me how people manage to get infected. See also this related question on whether you need AV on your Android (short answer -- no).

Your phone should be secure as long as you use common sense while installing and using applications. Don't trust anything that's on the Market Play Store, the same way as you wouldn't trust a random PC program, or a Facebook "app" for that matter.

iOS and Anrdoid security concerns pop here and there in the news occasionally, but from observing both markets for some time I'm fairly convinced that both platforms offer reasonable (technical) protection to their users, and offending applications are removed with short notice. Google has even removed malware applications from devices without user discretion at least once.


Why are there so many different Android kernels?

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

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

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

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

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

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

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

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

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

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

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

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


How to jump to next chapter when playing back videos?

It's likely because the player app you are using is not aware of the embedded chapters.  I recommend searching Google Play Store for video player apps that support this feature.

A quick Google search points to Simple Cinema and XBMC (not on Google Play).  I have not tried these personally, but this should start you off in the right direction.


How to turn on HTC One Mini with a broken power button?

I guess there's no other way than opening the case and manually shorting out power button pins for 1 - 2 secs.

It's not that hard, I've done that with my HTC Desire before. :) Just google for "disassemble HTC One Mini"

Just one tip: If the case refuses to open, do not try too hard, maybe you're just doing it wrong, think first, then do, it should open easily without putting much pressure and power
Good luck


How do I set reminders using Voice Actions in ICS 4 - Galaxy Nexus?

Try My Voice Reminder. Its a free app. Don't know if it supports ICS.


Chrome and Firefox cannot add specific URL to home screen

tl;dr
Using the browsers' "Add to Home Screen" (A2HS) feature may not open the expected link due to the browsers trying to comply with the standard of Progressive Web Application (PWA). Try other approaches instead, like using app widgets or 3rd-party apps altogether (examples below).
Progressive Web Application (PWA), Manifest file, and Add to Home Screen (A2HS)
To put it simply, PWA is an advanced web app that follows some rules. One of them is having a manifest file.

In order to call a Web App a PWA, technically speaking it should have the following features: Secure contexts (HTTPS), one or more Service Workers, and a manifest file.

A2HS is a browser feature to "install" a web app based on the configuration in the manifest file, which is linked on the header tag.
<head>
   ...
   <link rel="manifest" href="link_to_manifest_file">
   ...
</head>

One of the required fields in the manifest file is start_url that will be loaded when opening the "app".

The start_url member is a string that represents the start URL of the web application — the prefered URL that should be loaded when the user launches the web application (e.g., when the user taps on the web application's icon from a device's application menu or homescreen).

If start_url is invalid, it may return the document URL instead (i.e. the exact URL when the page is added to the home screen). However, since the manifest file is configured by the web developer, it might be difficult for end-users to modify/override this value.
In short, when a user adds a web page to the home screen, the browser will check if there is a manifest file, and if there is, it will try to use its value.
Some examples...

Wikimedia (including Wikipedia, Gamepedia, and possibly other wikis) has a mobile front-end extension that will only add the manifest file to the mobile view with start_url always pointing to the Main Page.
The manifest file:
<link rel="manifest" href="/w/api.php?action=webapp-manifest">
The content of the manifest file:
{"name":"Wikipedia","orientation":"portrait","dir":"ltr","lang":"en","display":"browser","theme_color":"#eaecf0","background_color":"#fff","start_url":"/wiki/Main_Page","icons":[{"src":"/static/apple-touch/wikipedia.png","sizes":"160x160","type":"image/png"}]}

This is why adding the desktop version works (and depending on the browser's configuration, it will redirect to the mobile view automatically), but adding the mobile view always returns to the Main Page instead.

Weather Underground always sets the manifest file regardless if it is viewed on desktop or mobile.
The manifest file:
<link rel="manifest" href="bundle-next/manifest.webmanifest">
Containing "start_url": "/", which is basically the domain itself.

Solutions and/or workarounds

Some sites only have a manifest file on mobile view, using desktop mode may mitigate this issue

Some automation apps may allow opening an exact URL. Tasker has "Browse URL" task and users can also add an app widget on the home screen as a shortcut to that task

Some 3rd-party apps can create a home screen shortcut to a URL

Changing user agent may work (e.g. by using XPrivacyLua as mentioned by user beeshyams in the chat room). According to the documentation,

Note: The start_url member is purely advisory, and a user agent may ignore it or allow the user to alter it at install time or afterwards.

(Idea, untested) strip the <link rel="manifest" href="link_to_manifest_file"> tag (e.g. using "ad" blockers) from the HTML when the page is loaded.


Have a look at Reminders, the successor of Google Tasks. You can switch back and forth between Tasks and Reminders by opening the web interface, clicking the arrow next to 'Tasks' in the sidebar and selecting 'Switch to Reminders' from the menu.


Smart lock not working anymore with trusted places

It might have something to do with this issue: Issue #79735: Smart lock feature (trusted face/device) not working when screen is turned off using software screen off command (DevicePolicyManager.lockNow)

In short: Smart lock breaks when any app uses "soft power off", i.e. your screen is turned off by an app or in any way except the hardware button or a normal timeout.

Note that when this is the case the small pulsating circle around the lock symbol (at the bottom of the lock screen) is missing, since all smart lock variants are disabled (e.g. trusted faces also doesn't work anymore).