text:
App availability after deletion from Play Store
I wanted to ask what would happen to an app (for example, Flappy Bird) that gets deleted from the Play Store. However, I still have it on my mobile.
I am changing my phone and plan to sell the old one. If I delete the app from my old phone's storage, will I still be able to install it from the Play Store, and will it exist in My Apps and Games at my account in Play Store?

If the app has been removed from the playstore list, it will also be removed from the My Apps list.

If the app is still in Play Store, yes, it will be visible in My Apps. If an app is removed from Play Store while it's installed in phone, the app will not be removed

@gokulnc not always true. Some Spyware and worse apps will be removed from both store and phone. But this is very rare

You will not be able to download the app once it is removed from Play Store, which means you can't install on new phone (and will not be available in your account "My Apps and Games", since it is not available on Play Store). So it doesn't matter whether your phone is old or new- even on your current phone, if you uninstall it , you can't install from play store, if the app is removed from Play Store

Availability
Some apps and games can be removed from Google Play by a developer or for policy reasons. If an item has been removed, it won't be available for download.

Source:  Google Play Help - I can't find an app or game
That is not the end of world. For starters, you can consider taking a backup of the game apk (of course, no updates from Play Store). Many ways to do this are suggested here - How to take backup of all installed APKs from Phone to PC?
Alternatively, apps and games removed from Google Play Store, may well be available on:

Alternate sources (possibility of getting updates): see What are the alternative Android app markets?
Internet:  download apk from internet and install (not recommended since you have no way of knowing for sure that the apk is free of malware or adware)

You can also use Airdroid to backup your apps easily on non-rooted devices.

You can transfer the apk file to your computer and then transfer it back to your new phone.
Or if you are going to have both phones together for sometime then just use the app MyAppSharer to send the apk from your current phone to the new phone.
Here's a link to the app.


text:
is fully charging new phones before turning it on a must?
I just got my Samsung note 5 shipped to my office. And I am wondering if I should charge it full before I turned it on

You can find a bunch of background in our charging tag-wiki (and with the questions using that tag).

No, not at all necessary.. This is generally a misconception.
Just switch ON the phone and start using it.
The charge will already be around 75%.
You can recharge it when the charge drops below 15%.
Additional References:

Many people think that the first thing they should do with a new smartphone is plug it in and charge it to 100%. This is simply a myth. Remember, smartphone batteries work best between 40% to 80%, and since most phones ship at half capacity, you should be good to go out of the box. As a side note: If you fire up your new smartphone for the first time and the battery is below 40%, you might want to consider taking it back because that battery could be very old.
Source: http://www.techrepublic.com/blog/10-things/10-common-misconceptions-about-mobile-device-batteries/

Technical Background:

Why fully charge Lithium battery powered devices before first use?
For safety during transportation and storage, from the factory to the warehouse to the store, one would like the battery to be mostly discharged so that it's holding less stored energy in case of some mishap. If a forklift spears a big box of product, you'd like a minimal amount of energy released from the dead short which may be caused by crushing or puncturing cells. Probably there will be some protection built into both the cells and the product to try to prevent fire, however it's still safer to have less energy to release. Airlines in particular may have rules or laws which describe how batteries should be transported.
For purposes of maximizing lithium battery lifetime, it's better to keep them charged between 20-80% of full capacity most of the time. It's very damaging to over-discharge a battery and may render the cells useless. While any product shipping with a lithium battery should have circuitry to prevent over-discharge, it's possible the load on the battery will never quite be reduced to zero even when the product is "off" or in full shutdown, as there could still be a low-power microcontroller watching for a press of the power-on button, some tiny current powering the battery protection circuitry, etc. While this circuitry might run "indefinitely" from a full battery, if the battery is run down to empty and then the product is left in a drawer for a year it's possible the battery could get over-discharged regardless of the circuitry trying to prevent it.
One possible scenario could be that the factory charges the battery, the device goes into inventory for over a year (due to the product not selling well), the battery loses most of its charge by self-discharge and a small amount of current powering the "off"-mode circuitry e.g. microcontroller. Then if the device is turned on with this nearly-dead battery in it, the large pulse of discharge current causes the battery voltage to dip to where the undervoltage protection triggers, which may or may not turn off the current before the battery has been run below its minimum voltage for some small amount of time, like milliseconds. It probably won't destroy the cell but isn't a good idea. Especially if the user sees the product doesn't turn on and keeps hitting the power button a dozen times before deciding it must need to be charged up.
To minimize tech support phone calls, it's better to tell the user to fully charge their battery before trying to use the product, so you don't get calls about the product "not working" when the actual problem is that the battery is simply empty. It's one less variable in debugging whether the product is faulty. A product may have features that take more power than the baseline mode, and might turn on and operate properly, but then appear to fail when a higher-power feature is turned on (when in fact it's shutting down or resetting). Turning on the backlight in an otherwise simple device, or wireless transmission, loud audio, fan or motor, anything that's a large percentage of power consumption. If the battery is fully charged, it will have enough energy to power all modes, so this problem is avoided while talking to tech support.
That said, there's a lot of mythology out there regarding how batteries should be handled. The customer care person is probably not an engineer, and may be going by some mix of training, passed-around heuristic, and made-up baloney that's designed to mitigate unhappy boss or unpleasant customer rather than detect "the problem".
Source: https://electronics.stackexchange.com/questions/95487/why-fully-charge-lithium-battery-powered-devices-before-first-use

source: Stack Exchange

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

sort: votes


text:
How to Block All App Notifications but Allow Phone Calls?
I have been looking in several Android forums today trying to figure out if there is a way to block all app notifications with a single action or setting but allow phone calls? I'm trying to make it where I'm not distracted during the day by all the app notifications but if family members need to call me they still can. In essence, it would be something like airplane mode except I can still receive calls. Once the setting is removed, all blocked notifications would then show up like the functionality with airplane mode so none are missed.
Does anyone know of a setting on Android for that or an app on the Google Play Store? I know about Do Not Disturb but that only seems to silence the notifications, not actually block them from showing up.

Your Android version and device? Is the Android rooted?

Android version is 5.0 Lollipop and my device is a Verizon Samsung Galaxy S5. It is NOT rooted. I have looked into rooting it but haven't found a successful way of rooting the Verizon S5 last I looked.

Notifications Off can easily do it. It requires root access however.

With root access
I used the application Notifications Off (you need root access). It is straightforward and simple. You simply uncheck all apps by one click and then tick only calls.
With no root access
Go to:
Settings-> Application Manager-> (select app) -> Disable all notifications (this varies according to your Android version)
I'm a afraid you have to do it for every app.

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


text:
Prevent WhatsApp from restoring media from Google Drive Backup
I recently uninstalled and installed WhatsApp on my Samsung Galaxy S2, and it started to restore my chats. I'm fine with my chats but after being done with the chats, it automatically started to restore the old media too, which would cause my phone to download data of 2 GB.
I want to stop it, but I can't find how to stop it. It used to restore only messages before having the Google Drive backup.

So disconnecting WhatsApp from Google Drive didn't exactly work out because my chats were also in that Google Drive backup.
However, here is how I was successful in restoring only the chats. (No media).

Install WhatsApp and verify the number.
Make sure your data connection is active. WiFi should be OFF.
Click on restore backup (Entire backup, including Media).
It will restore the chats first.
Then it prompts that the media will be downloaded over WiFi. Click yes (or next) and it takes you to your profile name and then you have all your chats.
At this point, go to Google Drive and disconnect WhatsApp from the Setting - Manage apps. (Settings - Data and Privacy - Apps and Services - Apps with access to your account, Third-party apps with account access)
Connect WiFi, or force it to try to resume with data.
It would try to restore the media but it would fail.
It would ask you if you want to skip it. Might have to try to dismiss the reconnect prompt first.
Click skip.

There you go. Only chats were restored. No media. It will prompt that media won't be restored anymore.
You can then reconnect aka relink the Google backup again in the WhatsApp settings.

I'm having the same problem. So far, the only working solution that I discovered is to disconnect WhatsApp from your Google Drive (during the restoration).
In a browser, go to your Google Drive → Setting (the gear icon) → Manage Apps → look for WhatsApp Messenger → click Option next to it →  click Disconnect From Drive.
The media restoration will stop.
If you don't want to restore your media, you don't need to use Google Drive. Disconnect WhatsApp from it (like shown above) before you begin to reinstall WhatsApp and it will restore your chat history (no media) from your local backup, which is located in ../WhatsApp/databases/ directory in your phone.

Easy.

Restore your WhatsApp as normal, also restoring the media.
On PC, go to Google Drive > Backups > right-click on selected WhatsApp backup, and choose "Turn off backup". Google Drive will prompt you either to delete the backup file in the drive, but you may choose to cancel, so it stays there.
Go to your phone and force stop WhatsApp.

Now the media restoring will show fail status.

You could simply delete WhatsApp, then delete your Google account from your phone. So that when you install WhatsApp, it won't download the media but the chats only. Then link your account again and it won't download the media.

Open Google Drive on your phone. Gear button > Settings > Backups. There you'll find WhatsApp backup with the date mentioned. Tap on it and it shows details of the backup. Use the gear button beside it and delete that backup folder. That's it. Give your WhatsApp a force stop and open. You're done ✓

Note: this answer might be outdated. Backups on Google Drive are now listed on Storage - Backups

It's very simple and 100% working:

Click Restore your messages and wait for loading all the messages
After the chat has been loaded, turn off the internet connection. Restoring media will now pause.
Go to Settings > Permissions > WhatsApp, and turn off the permission of storage.
Open WhatsApp. It will tell you to set the permission on. You have to close that pop-up window.
They will ask you to skip the restoration, and it skipped, but all messages will be loaded.

That's it.

Google Drive stores WhatsApp media backup files in hidden mode following this change in the Drive.
Delete or stop backups:

Using a computer, go to https://drive.google.com.

In the top right, click the gear icon > Settings.

On the left, click Manage Apps.

Find "WhatsApp" in the list. Note: If your backup is large, WhatsApp might take a few minutes to display.

Click Options > Delete Hidden App Data.

Note: this answer might be outdated. The current WhatsApp backup doesn't seem to have hidden app data anymore.

I think you should try to follow these steps;

Uninstall WhatsApp.
Download the APK from WhatsApp's official site.
Sign out Google account from your phone.
Install WhatsApp. Now, it may ask you to restore chats and media from the SD card.
Click OK, you may get your chats and media restored, whichever is on your SD card.
Done.

The question asks how to AVOID restoring Google Drive backup!!

Go to Google settings app → Connected apps → check where WhatsApp is, then disconnect it.

Delete the media after it has been restored. Media is located in WhatsApp\Media.

I guess this could be helpful in most places, but from the question it looks like the problem is to avoid downloading 2 GB of data.

First of all, don't open WhatsApp. Make your device's internal storage full. It will ask you to try again or cancel (automatic cancel).

This doesn't seem practical for those who still have more than 10GB of free storage...

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


text:
Using a US DOD CAC on Android
The US Department of Defence (DOD) uses a Common Access Card (CAC) for authentication on a number of externally available websites. It is possible to use the CAC with Firefox on Linux (e.g., see the Arch Linux wiki). From my understanding, the CAC is a fairly standard smartcard.
Are there smartcard/CAC readers and web browsers that are compatible with Android? If not, are there technical limitations that prevent it?

Arg, the military and their acronyms. Anyway yes there are some companies that are TAA compliant (Trade Agreements Act [19 U.S.C. & 2501-2581])
Thursby with PKard is one that is known to have a working model for both CAC or PIV (Personal Identity Verification) cards.
Reference
Samsung Knox also has a working system and they do have DOD contracts. I believe they are TAA compliant because they are from a friendly foreign country. At what clearance level though I am unsure about because of the foreign country thing. Reference


text:
How can I send incoming calls from unknown numbers directly to voicemail?
I have received incoming calls from an unknown number (no caller ID provided). When I answer, I get a recording which is clearly spam. Is there a way to send calls from an unknown number directly to voicemail so that my phone does not ring?
This is very similar to Call blocking with spoken message?, but I do not need a new message to play. Regular voicemail is fine.
I am interested in a solution for stock Android 6.0 Marshmallow. There appears to be the ability to block calls in CyanogenMod, which would be suboptimal, but I cannot find a similar setting in Marshmallow, either in Settings or in the Call application settings. Send blind calls to voicemail?
This is different from blocking a known number, as in
How can I reliably screen or block callers on a number-by-number basis?
This is different from How to block private numbers because I do not want to block calls, just send them to voicemail, and this option is not available on stock Marshmallow. The call application allows blocking specific numbers but not unknown numbers.

Possible duplicate of How to block private numbers

If you can describe under what conditions your voice mail gets activated it would be good, like for example, on call rejection, call not answered in xx second our anything else...This is specific to your carrier

@beeshyams I believe calls got to voicemail both when rejected and after xx seconds.

Automation is the preferred option. Many apps are available. I prefer using MacroDroid , since it is free (upto 5 macros) and easy to learn. To understand how MacroDroid works and the settings required for your Android version, see  my answer
Note

This is not tested on Marshmallow  as I am on KitKat
You will need to tweak timings in accordance with voicemail behaviour and "Doze" feature of Marshmallow
Voice mail is used solely for unknown callers
This solution also "mutes" unknown callers (no call ring sound) before diverting them to voicemail to minimise spam nuisance

Your macros would look like this

Unknown caller macro

Trigger: Call incoming → Select contact →Unknown Caller
Actions:

Volume Change →Ringer (Set to zero on sliding scale- this action will mute ringer for unknown caller)
Call Reject
Wait before next action (set time in seconds per voicemail behaviour so that call is sent to voicemail)

Constraints: None

Other caller macro (to reverse muting of call done for unknown callers)

Trigger:
Call incoming → Select contact →Any number
Action:
Volume Change →Ringer (Set to required volume on sliding scale- this action will unmute ringer for callers other than unknown caller)
Constraints: None

You can test with any landline number by choosing that as a contact. Also can change order of wait for xx seconds and call reject. This has the advantage of ensuring both happen so that at least one of them Will start voice mail


text:
Samsung galaxy S6 is secretly recording my phone calls and the environment around me
Verizon is my service provider. I have a folder on my phone called VZMedia under device storage. Within this folder are more than 10 recordings. The file format of these recordings are .amr. These recordings come in two types. first, some of these recordings are phones calls I have recently made. Second, some of these recordings are of noise around me. for example in some of the recordings I can hear conversations I've had with friends or a TV program I have on while I am at my apartment. the folder continues to be populated with new records every couple weeks. I reached out to Verizon and they said that folder and what it is doing is not associated with them. My guess is one of the apps I have maybe be the cause of this. But this seems like a serious breach of my privacy. I Google search has yielded no help with this issue.

This is funny, because they have an article about it, related to the S6
http://www.verizonwireless.com/mobile-living/tech-smarts/how-to-record-audio-smartphone/
The phone apparently has a pre-installed app for audio recording which may be malfunctioning

Found several messages about this.  I believe it has nothing to do with the voice recorder, as it uses a different format than AMR.
The one consistency i've seen with people experiencing this problem is that they're all using the 'Message+' app for text messaging.  It's got a microphone icon next to the input box and it's possible to accidentally activate it.
Go to settings
Applications
App manager
Message+
then
Permissions
You should see on/off switches for microphone, camera, etc.
Turn the Microphone and location switches to 'OFF'
This should eliminate the problem.


text:
Generic Chinese Tablet Stuck On "Erasing" Screen During Factory Reset
My generic Yuntab Q88 chinese tablet is stuck on the "Erasing" screen during factory reset. I don't know what to do because, I am a complete N00B at this. :/ What can I do? I can fix the Windows OS, but I can't fix the Android OS. I don't know how to fix this. I would really appricate Answers to my problem. The Android Version is 4.1.1 Kitkat.

If it's just a factory-reset, it should be safe to simply restart the device and try again (factory-reset doesn't really touch the system, it basically just removes user data).

@Izzy I have already tried that.

You could give fastboot a try then. It has commands to perform a factory-reset as well (fastboot erase cache and fastboot erase data, see e.g. Useful ADB and Fastboot Commands and How to Use them.

@Izzy, fastboot isn't really supported on generic Chinese tabs, and note the version no. in the question: 4.1.1 Kitkat????

@Tamoghna Chowdhury So, what do I do now?


text:
How to format a flash drive to fat32
So I'm kinda stranded after accidentally wiping out my whole internal storage.
I'm trying to install a temporary ROM e.g CM on it via USB OTG on TWRP.
My phone doesn't have an OS on it. I have no PC with me since I'm on holiday.
I tried downloading the 200 meg CM and found a flash disk lying around.
However it has the Xbox fuse file system on it, which TWRP is not picking up. All I have access to is my Android tablet.
So I'm trying to find some sort of file manager that allows the disk to be formatted. Any leads?

When you're in TWRP, get the device identifier for the USBOTG using blkid. Probably, it would be /dev/block/sda1. Then try busybox mkfs.vfat to see instructions for formatting. See this for more info: How can I format a flash drive using terminal emulator?

You could try any of the following:

The Android pendant (port) of GParted for Linux, AParted. It currently does not support the exFAT file system, but supports most common Linux file systems and FAT32, and it can detect unmounted partitions and format by block device id. It can auto-repair drives too. Here is it's online manual.
What @Firelord suggested:

Get the block device id of the flash drive by using the blkid command from TWRP's "terminal emulator" option under the "Advanced" button.
You could try mkdosfs -v [-n Label] BLOCKDEV KBYTES, where all the options have been explained above. This will format the block device to FAT32, if the binary is available (I think it is present in busybox and CyanogenMod), otherwise:
Do what @Izzy suggested in @Firelord's linked question:

(The working directory should be /system/xbin/ or /system/bin/, whichever has the busybox binaries installed to it. Also, all commands must be run as root (su -c before anything else))

mkfs.vfat [-v] [-n LABEL] BLOCKDEV [KBYTES]
What do those options stand for?
-v: Generate verbose output (reporting)
-n Label: Give the file system a name
BLOCKDEV: the file system (block device) you want to format
KBYTES: probably the block size in KB(I'm not 100% sure with this)
So the minimal thing to do would be:
mkfs.vfat -v /dev/block/uba1
(provided your drive to format is available as /dev/block/uba1 on your system). One more example, giving the file system a name:
mkfs.vfat -v -n MyNewDisk /dev/block/uba1
It should report success then -- or an error if it failed.

Shouldn't it be su -c  instead of su? Unless, -c is mentioned, what comes after su would be treated as the userid shell to be switched into.

Don't get it wrong, but posting unverified answers doesn't help much. Please make it a habit to verify things.

@Firelord, I actually meant "issue an su command before issuing anything else". That, at least on my devices, switches to the root user's context for any following commands.

These mkfs.vfat and mkdosfs commands, are the instructions to be followed from TWRP or from the Android OS? If you're in TWRP, you need not to bother about su because TWRP by default runs every command with root privilege. Since both /system/bin and /system/xbin are in $PATH, you need not to bother about the working directory either.

@Firelord, these commands can be run from either TWRP or the OS, but in this case I imply the OS whenever I do not specifically mention TWRP

@Firelord, TWRP asks for a starting directory on opening the Terminal. I thought the mentioned directory would be a safe option.

I would suggest you to try this tool -- Paragon exFAT, NTFS & HFS+ . It is available as .apk files on the net or you can download from Google play as well.
But i would seriously suggest waiting it out and doing formatting throiugh tried and tested methods via PC (just to negate any slight chances of renedering your drive useless which does happen when making file system changes using smartphones)
here are the links
https://play.google.com/store/apps/details?id=com.paragon.mounter

Nope. One of the 1st things I tried. It couldn't even see the fuse file system.

@HarrryPorter then you should wait it out maybe?

Nah. I already mkfs.vfat 'd at the TWRP terminal and formated it.


text:
Need direction on best course of action with an lg16c with Kitkat
I have recently started teaching myself Android systems, and I'm not sure if I bricked or what happened. Now I could seriously use some direction as to the best course of action.
Somewhere in the process of rooting, uninstalling, and tinkering, I lost the ability to use my on screen keyboard. Apps menu showed the keyboard as still working but it was and is unuseable  I got the bright idea to try factory reset, as I wasn't using ADB at the time  Now the phone is formatted but I can't get to menu to turn on developer options for usb debugging mode
The touch screen is still operational but the keyboard isn't functional so I can't even get past the initial setup screen.
Please someone, take pity on my stupidity and woeful ignorance. Any advice would be welcome. Its an LG L16C with kitkat
Oh yeah, before I had any idea what was what, I backed my phone up and then transferred the file to my pc. I haven't inspected the file as I have been tied up reading every piece of available literature on how to use ADB/SDK and trying to setup remote viewing/pc control and other such things.  Is it going to be possible to learn something from this other than don't make that mistake again?

Does the device have a custom recovery installed? Also, can you elaborate "Apps menu showed the keyboard as still working"?

UPDATE  I have gotten the phone to load to homepage, however, since I did a factory reset and the keyboard still isn't working I can't sync it with my google acct. Still no keyboard, touch screen is working though..  USB Debugging is enabled again.  no root access to my knowledge.  Any ideas on how to use any program or chain of commands to allow my pc to type so I can sync google/android market?

or...  perhaps there is something I am just overlooking completely..  there isn't a backup on the phone, though I believe I have one backed up to pc. Not entirely certain how to load properly though. link to instructions or a point in the right direction would be freaking excellent

If you can get your hands on a factory image then use fastboot to flash a new system. There by restoring everything back to stock. For a quick fix maybe check the play store for a keyboard app.

Flash successful. Thanks much, really learned shoot through this


text:
What does a lock icon on a contact mean?
One of the contacts in my list has a little lock symbol on it. What does it mean?

Android version: 4.1


text:
How to fix “Unfortunately Contacts Has Stopped” or Very slow contact loading
I have Huawei Honor 3c. Android v4.4. When I open my contacts list I get the Headers but no content. It may take 4-10 minutes before this refreshes. Once I get the list selecting an individual contact repeats the delay. In some cases once I get the contact selecting "dial" repeats the process yet again.And many times i'm getting the error Unfortunately Contacts has stopped working
I've been selectively uninstalling apps to see if one of these has caused the problem. Previously when I had this issue the only advice huawei could give me was to reset my phone to factory defaults. This worked but then the pain returns once system updates occur and apps are installed. Any suggestions? Are there any tools available the show CPU and/or memory utilization so I can see who the hogs are? This might give me a better indication of which processes are sucking up all the resources.

First thing I'd try is to lookup that app in Settings › Apps and push the "clear cache" button. No data lost that way, but often it's some "broken cache" causing issues like that.

The Running Apps option under Settings > Apps is probably what will tell you who are the greatest resource hogs.

This is very likely to be caused by a bug in an update, but check with other people who have the same phone to be sure. Assuming you want to keep your system updated, I suggest you move to another contacts app like Contacts+, which offer more options than the stock contacts app.
You might use CleanMaster to see which apps are causing the phone to go slow.
Meanwhile, I would suggest contacting Huawei (if you haven't done so already) so they will fix this issue in a later update.

I constantly had this happening. I tried all suggestions. The problem seemed to be with the stock phone app., as when I downloaded the Truephone app from Playstore it by-passed the 'contacts stopped' window and it works perfectly. So try downloading Truephone.

Although your suggestion may solve the issue, better you also provide the link to the app that you mentioned in your Answer so that OP or others can install and try it out!

In "Contacts Storage" internal app, I uninstalled updates and now it works fine. Remember to take a backup of all your contacts before doing so, as it would erase its internal database (cache).

I had the same issue. I uninstalled the true caller app then it started working properly.


text:
How does S Pen (Samsung) show cursor on screen?
I would like to know how does samsung android os show the pen cursor when I took the pen out and point over screen without touching the screen? It is a miracle for me. I cannot find any sources.

Break it down-How does the S pen work? offers a nice explanation along with a link to video too

S pen pulls power from the device wirelessly

Electromagnetic field that provides power to the pen can also be used to calculate its position relative to the screen. This, along with information from the S Pen button and the nib on the end are what is used to determine what the user it doing with the S Pen.

Pressure sensitivity is built in the stylus
To summarize

An electromagnetic field is generated from a circuit behind the screen. The S Pen picks this up and uses it to power itself and figure out its position relative to the screen. It sends this, along with information from the S Pen button and the nib at the end, back to the Note.

Edit: Video in linked post makes it clear ascend easy to understand


text:
Root Lenovo vibe p1ma40 with Lollipop 5.1
I'm trying to root Lenovo vibe p1ma40 with Lollipop 5.1 this particular device since last couple of day, without any success. So I need your help to do this, or not this particular device but it would be good if there will be generic solution for root of android device.
Below is list of techniques that I've already tried :
1) KingoRoot, and other apps - seems they are under development for this particular device.
2) SP Flash Tool(link) - device go to charging mode after step-8.
3) Fast boot(link- METHOD 1) - command fastboot boot recovery.img gives error as - FAILED (remote: download for partition 'boot' is not allowed)
or - command fastboot flash recovery recovery.img gives error as - FAILED (remote: download for partition 'recovery' is not allowed)
4) New Flashing Commands(link) - command fastboot flashing unlock_critical gives unknown command error.
Any help would be highly appreciated, Thanks in advance.

Unlock the bootloader first using the command: fastboot oem unlock (Note: Unlocking bootloader formats the User data (/data partition). So make a backup of apps/settings first).
Then flash/boot the recovery :)

That third link is specifically about Nexus 6P, so why are you using them on your non-Nexus 6P? The instructions there are bound to fail on your device.

@Gokul - Tried this command too. Even after execution of this command and then following method 3 as describe above gives error. And no this command doesn't format any data.

@Firelord - I've installed latest adb  with fastboot for Ubuntu and linux while in Ubuntu these commands are not displaying but in Windows these commanda are diplaying in help.

So I thought if it has something to do with android lollipop 5.1 then let me give it a try.

Just to make sure, did you do this step: click on checkbox recovery and browse to the extracted files and locate recovery.img for your technique 2 ?

Yes Gokul I did that also.

Did you install VCOM drivers in your computer (for doing that SP Flash Tool method) ? Where I found this hint: http://forum.xda-developers.com/showpost.php?p=64339913&postcount=2

@Gokul .. Really really thanks mate. You're life saviour. Please put your comment as an answer with some details, so I'll be glad to accept it.

Also I've downloaded "recovery.img" from technique 2 (http://www.cyberkey.in/how-to-root-lenovo-vibe-p1m)(He has also updated same  for VCOM drivers) is it reliable?

@Chitrang Yeah I think the recovery is OK. He has given screenshots also. So, go ahead :)

For the technique 2 that you have listed, you have to install the USB VCOM drivers in your computer so that SP Flash Tool can detect your phone and to enter Download Mode via the USB VCOM port.

This action will add the following drivers in to the operating system:
MediaTek DA USB VCOM Port
MediaTek PreLoader USB VCOM Port – for transferring the firmware to your device
MTK USB DEBUG Port
MTK USB Modem Port
MTK USB Port – for transfering PreLoader to your device (and recovery in case of bad or corrupt firmware)
Source:
  http://laurentiumihet.ro/technology/windows-10-mtk-vcom-usb-drivers-for-32-64-bit-drivers-installation-tutorial/

This should definitely work and help you root your phone.

For your technique 3 (using fastboot), I think you get the error:

FAILED (remote: download for partition 'recovery' is not allowed)

Because you need to unlock the bootloader to flash the recovery.
This varies a little bit for different phones.
The most common command to unlock bootloader is:

fastboot oem unlock

Before doing this, do this: (this might be required sometimes)
1. Go to settings -> About Phone -> Tap on "Build Version" until it shows developer, may be 7 times.
2. In Settings -> Developer Options -> Enable OEM Unlock.
After doing this, still if you're unable to unlock the bootloader or flash recovery using fastboot, I would recommend you to seek further help from the Lenovo Forums.

Hi @Gokul any help for this http://android.stackexchange.com/questions/135607/how-to-resolve-boot-loop-problem-on-android-pumpkinx-10-1-tablet

No need of any other methods. Just use kingroot. Its best. It didn't work for me for about 3 times. 4th time it worked.
Use latest kingroot app


text:
Monitor activites of an app and see what it is sending over the internet
Few months ago, I installed an automation app called MacroDroid, but after few days I uninstalled it. Now today, when I was checking apps in /system/app I stumbled upon an app called MacroDroidSystemHelper (com.arlosoft.macrodroid.helper)
I had granted the MacroDroid superuser access when I was using it so it may have made the app that I found today a system app.
I tried to launch it but it doesn't have an interface.
While checking its permission I came to know that it has the connectivity permission, hence, I have to find out what data it is sending to internet. How can I monitor its activities?
(Click image to enlarge)

Can you mention that app's version? I've v1.2 installed and it doesn't ask for network connectivity permission, but only "write settings", write secure settings and near field communications (NFC).

You may have some luck finding out some of the data that it can access by using XPrivacy.  XPrivacy can tell you what data/permissions it is trying to access, thus you would get a rough estimation of what it may be sending.  You can restrict that app from connecting to internet, should you find a need to.

It appears that MacroDroid now (I've v3.10.1) doesn't go with the approach of installing helper file inside /system as default option. Instead, it now uses it as a backup approach and only when you're having an issue with GPS/NFC. If you've that file inside /system then either it was installed when you were using a version older than v3.10.1  or you deliberately chose to fall back to older technique via its settings.
The latest version of that helper file is 1.2 and following are the permissions mentioned in its manifest:

android.permission.WRITE_SETTINGS - Allows an application to read or write the system settings.
android.permission.WRITE_SECURE_SETTINGS - Allows an application to read or write the secure system settings. Not for use by third-party applications.
android.permission.NFC - Allows applications to perform I/O operations over NFC.

In order to connect to network, it must ask the permission android.permission.INTERNET - not present in the manifest. So you can be rest assured that the app, on its own, won't be able to send any data.
That said, given the nature of the title, you don't need to monitor activities of an app (no benefits) if your goal is to find out what data it is accessing or is sending. You can use XPrivacy in this case. It requires Xposed Framework. XPrivacy can notify you when the app tries to access a privacy sensitive permission. That would give a rough estimation of the extent of data app may be accessing.  You can use a firewall to restrict app's access to internet and get notified whenever the app tries to access network.
Still, in order to see the data the app is sending, you would have to capture it or sniff it at least. Answers for Capturing mobile phone traffic on wireshark
 and Monitor network activity in Android Phones may prove to be helpful. (I've not tried any of the solutions there.)


text:
How to send a variable value to and receive it in a task?
I've a OnePlus One with rooted Cyanogen OS 12 and Tasker v4.8. I've a bash script in PC which when exiting requires a Tasker's task to be executed. I've seen the question Running a tasker task via SSHDroid (or adb shell) and although the accepted answer didn't work on my Android, the solution is very simple. To call a task, do:
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "TASK_NAME"

However, that's all I can successfully do. During exit, my script needs to pass the exit status to task so that I can continue my processing on device based on script's result.
The official guide for invoking tasks is meant for programmers, so that didn't help me. Per the thread Launch Task via Intent I attempted various ways to pass a variable's value, but to no avail.
When we invoke a task from an another task, we're given the flexibility to pass values using two variables. Those two variables can be received by the invoked task using the name %par1 and %par2. In my demo task, all I'm doing is Alert → Flash → Text → Show me: %arg1 %par1.

# For demonstration only, I created a task named "lol"

adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" "par1" --es "varValues" "received"
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" "%par1" --es "varValues" "received"
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" "Par1" --es "varValues" "received"    # I also changed the variable name par1 to Par1 in task
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" "%Par1" --es "varValues" "received"

All those said commands execute with this output
Broadcasting: Intent { act=net.dinglisch.android.tasker.ACTION_TASK (has extras) }
Broadcast completed: result=0

Even sending this broadcast works
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -d "task:lol" --es "arg1" "received"  # I setup a profile to listen to this intent and receive extra from it in a task linked to profile

But calling the task directly and then sending the variable value doesn't do anything.
So, where is the fault in my approach and/or how do I send to and receive in a variable value in a task only using command-line?
Note that I'm not looking for a workaround. I'm perfectly able to come up with many workarounds to receive exit status from my script on device, but using intent appears to be the most straightforward solution of them and I want to learn this technique too.
Update
I raised my query at:

official forums - Tasker : Invoke a task from command-line and pass variable(s) and/or data to it
subreddit Tasker : Can variables be passed when a task is called from a command-line?
privately to Pent, the developer of Tasker, using email

I received this  reply from Pent, both through email and on forum

You would have to be able to add a StringArrayList extra to the adb call with -e, don't know if adb can do that.
If so, to see the format you can look TaskerIntent.java http://tasker.dinglisch.net/code/TaskerIntent.java,
  the function addLocalVariable, if you understand java.

And that is exactly what I later surmised after posting this question.
Per the answer here, I believe a string array can be passed using adb. So I attempted some queries but again met a dead end.

adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" '{"arg1"}' --es "varValues" '{"time"}'
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" '{"par1"}' --es "varValues" '{"time"}'
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es "task_name" "lol" --es "varNames" '{"par1"\,"arg1"}' --es "varValues" '{"received"\,"again"}'

I also converted the intent to URI using am to-intent-uri and  tried sending the intent URI directly, with no success again.
New update
Based on the readings viz. 1, 2 and 3, I'm absolutely sure that a string array can be passed through adb shell am using --esa argument. Example:
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --esa "par" "lol, cat"    # value lol goes in par1 variable and value cat goes in par2 variable

That said, this query still fails:
adb shell su -c am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es task_name "lol" --esa varNames "arg1, par1" --esa varValues "lol, cat"

New update #2
You can use stock Android 6.0.1 as a testing ground.

I'm beginning to think that I need to pass string arrays and I've no idea how to proceed with that.

Am not sure if reading this right, you have an adb script, when finished, has to pass off a variable to a task in tasker correct? But the task in tasker is not reciving this variable, and you want it to receive the variable. Am I on the correct track?

It is a bash script, but yeah, at the end I want to call a task using adb and send a variable to it.

Okay, will post any helpful info if I find any, and good luck

@pure.by: thank you for suggesting this alternative and yes, I can use it, and I did use an another alternative to solve the problem. I posted this question for the sake of learning the most shortest method to achieve the target.

Based on @firelord's findings and am's in-app document (output of am, no arg). This worked on my phone running 6.0.1:
$ su -c 'am broadcast -a net.dinglisch.android.tasker.ACTION_TASK --es task_name TASK_NAME --esal varNames %VAR_NAME1,%VAR_NAME2 --esal varValues VAR_VALUE1,VAR_VALUE2'


text:
Can't add Google account after phone reset
I have a Leagoo Lead 3 running Android 4.4 KitKat. After factory resetting it, I'm no able to add my Google account.
The error I receive is

Couldn't sign in
There was a problem communicating with Google servers. Try again later.

Googling it, I find that the hosts file in /system/etc needed to be modified to comment out xxx.xxx.xxx.xxx android.clients.Google.com, but I don't have this line.
Also, I checked HTTP traffic with Fiddler and I just have this :

"200 HTTP Tunnel to 173.194.40.142:443" with body 0

It seems to be a good Google IP.
I don't know what to check now. Any help will be appreciated.

According to this post on Google Forums:

Check if two-step  verification been enabled on the account (https://support.google.com/accounts/answer/185833?hl=en&ref_topic=2784804)?
Try to open a browser on the device, go to https://mail.google.com/ and sign into your account.
Also try the Unlock Captcha function (http://mail.google.com/support/bin/answer.py?answer=78754):  https://www.google.com/accounts/DisplayUnlockCaptcha
You can try disabling IMAP (from the web-interface) and re-enabled it.  Or deleting the account from the device and setting it up again.

NOTE:  When two-step verification is enabled for an account, you need
  to create an application specific password (to be used in place of
  your regular password) for any client/application/device that doesn't
  know how to ask for the 2-step code (like your phone).
Check
  https://support.google.com/mail/bin/answer.py?hl=en&answer=1173270
From: https://productforums.google.com/forum/#!topic/gmail/zGCCBpsvusw

Other possible solutions:

[XDA Developers][Solved] can't acces/sign in google account after factory reset
[AndroidForums][SOLUTION]Cannot add Google account after factory reset

The first one works if you can't estabilish connection to Google servers, the second one needs rooting the phone (Remember: you do it only on your own risk)
Hope it help

Thank you for your help, but I finally flashed a rom to retrieve connection.
The first solution shouldn't have worked because I had no connection at all, like I saw it with fiddler and using anything as email and password did the same.
The second solution is what I tried like I said.

From QYOBZ's post on XDA Forums - [SOLUTION:] Can't Establish a reliable connection to the server/Playstore No Connect

ROOT your device (of course)

Editing the file
You will need a proper editor
Download and Install Total Commander and open it
OR DOWNLOAD BELOW

Browse with Total Commander to root/etc
(hint: on the right side of the screen there's a shortcut to system  folder.. look for etc/ and you will find it)
Tap mount R/W
Long tap on "hosts" > edit file > Totalcmd-Editor
Open etc/hosts and edit the file. Just put # before 74.125.93.113 android.clients.google.com.

SAVED
Edited file should look like this:
127.0.0.1 localhost
#74.125.93.113 android.clients.google.com

remember: based on my own observation it should be look like this:
127.0.0.1(just one space)localhost
#74.125.93.113(just one space)android.clients.google.com

Turn OFF your device.

(Not Necessary, Go to Next Step. But if the problem persist do Factory Reset..) Got it on Recovery Mode, Factory Data Reset, wipe data.

Reboot your device.

Once the phone reboots, input your google account information when the phone asks for it.

Sync to your account and contacts

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


text:
Core Prime G360T(5.1.1) soft brick TWRP issue
My main objective is to root the phone; as expected from an android newb. I bricked by phone, though this is a bit complicated than the usual.
Here's what I did.
1. Apply Kingroot One-click root (from pc)
2. Installed SuperSU = [failed to update]
-- checked (anyway) root from Root Checker = FAIL

Tried http://forum.xda-developers.com/galaxy-core/development/kernel-root-root-sm-g360t1-5-1-1-t3203522
-- checked  root from Root Checker = FAIL
Tried installing TWRP (Odin method)
(here's where things get messy)

a. Download mode (Vol up + home + pwr) goes straight to TWRP recovery
BUT
b. TWRP touchscreen controls do not work.
any solutions guys? I'd appreciate all the help! (And I'm also kinda desperate)

Touch is not working in the official TWRP release for Galaxy Core Prime. Current solution is to install modified TWRP for G360T1, the MetroPCS variant. Find it here. You should still be able to get into download mode again and Odin flash new TWRP.

http://forum.xda-developers.com/galaxy-core/development/recovery-unofficial-twrp-sm-g360t1-t3208853

just a note...main twrp functions work, things like OTG and rebooting menu doesn't. Kinda a WIP. If rooting doesn't work thru twrp,  try TrapKernel at http://forum.xda-developers.com/galaxy-core/development/kernel-root-root-sm-g360t1-5-1-1-t3203522  Came across your post trying to find my own solution. I am currently running twrp,  rooted,  de-samsunized,  and it's running smooth and clean.

Wow, that's good for you. unfortunately I had to get my phone "J-TAG"ed just to be fixed. Things went really haywire back then and I needed my phone pronto. I'm still on the lookout for stable G360T root procedures; but for now, I'll stick with an all stock setting. :D


text:
Device boots normally, but cannot enter recovery or fastboot
I have secondhand Vodafone Smart Tab 4G. It seems to me that previous owner messed something up.
The device boots normally but I cannot enter either bootloader, fastboot, or recovery. I have tried HW combinations, RebootManager software, and ADB commands. I would like to restore the device to factory defaults, but I have no idea how to do that.
I can connect by ADB:
~ $ adb devices
List of devices attached
1b54ef6a    device

But if I try either adb reboot bootloader, or adb reboot recovery, the device hangs on "Powered by Android" logo. If I try adb reboot fastboot it just normally reboots.
Trying to restore factory defaults from settings or running system update, the device reboots and hangs on "Powered by Android" logo.
Also the device is rooted.

I've faced a same kind of situation on a MTK device try just to re-flash the recovery.img and boot.img file and follow the Instructions to flash recovery without fastboot from the link below https://android.stackexchange.com/questions/36265/flash-boot-img-without-using-fastboot-usb this will surely fix your problem and you can access your recovery after this

Have you found a solution to this?

@Asu unfortunately no and I no longer own the device.


text:
Upload explorer error
I am trying to upload some files from my phone to a few sites.
Unfortunately, the file explorer doesn't show the files in any of the following lists... Recent, downloads, etc
The files are in the download folder but are not being displayed.
How do you refresh the file explorer so that the files are shown, and can be uploaded??


text:
Unable to find the vendor of my android tablet
I have salvaged an android tablet from my cousin's drawer and it has not been opened for one years, I guess. It's still running in Jelly Bean. I googled for it's vendor, but I can't find any. I could not find any config details or anything. I wanted to do some root level work on this tab.
The model number behind it is ACEPad D732. Just want to know the vendor name
Thanks for your help guys.

What does adb shell "getprop | grep 'ro.product.*'" give? More specifically,  adb shell "getprop | grep -e 'brand' -e 'manufacturer'".

Now that I think about it, when you boot your tablet, what do you see until it boots to home screen?

@Firelord ACE...

@Firelord, it shows ACE.

Then I suppose it is the name of the brand.

@Firelord, when give this adb shell "getprop | grep -e 'brand' -e 'manufacturer'", I am getting error: device not found. Although the tablet is connected in debugger mode however, I have failed to add the USB Vendor IDs in my ubuntu.

Don't bother about the adb at the moment. You can use a terminal emulator app to execute getprop | grep -e 'brand' -e 'manufacturer' or simply use a file manager to go to /system. There, open build.prop in a text editor and look for the terms brand or manufacturer.


text:
Run Android OS in a virtual machine on PC
I was trying to set up a virtual machine of Android 5.0 and it didn't work out that well. I got the ISO and Virtual Box. I created a virtual machine in VB and I selected the ISO and powered on the VM in Virtual Box. It loads and then it reboots. The Android OS just keeps loading and rebooting all the time. Please note I was able to run all the previous Android versions successfully on a VM with no errors.
How can I get Android 5.0 to work in a Virtual Box VM?

please recheck your steps: http://www.fixedbyvonnie.com/2015/03/how-to-install-android-5-0-lollipop-in-virtualbox-windows/

Can I download Android Oreo 8.0 from official android website and install it to Hyper - V as a VM???


text:
push entire folder with ADB
By mistake I deleted the .EXT folder (which contains a file "su") from the system/bin folder of my Android device.
Is it possible to use ADB to replace this folder?
I have a copy of the Bin folder and would like to Push this to my Android device with ADB push or ADB sideloader.

let's say you want to push entire C:\framework dir into /system/framework
put yourself in parent dir C:
adb push framework /system/

done
framework dir will be created automatically, so don't enter i.e. "adb push framework /system/framework/" or it will create a framework subdir
also assume adb is in path
of course you need read write permission, so in case of read only /system precede
adb remount

There is only one file in that directory so you can rather do this:

adb shell su -c mount -o rw,remount /system  # remounts the system partition in read-write mode
adb shell su -c mkdir /system/bin/.ext       # creates the directory .ext under /system/bin/
adb push LOCAL_PATH/.su /system/bin/.ext/    # replace LOCAL_PATH with the path where your .su file resides in PC

If you still insist on pushing the folder, then create a  new directory in PC and move .ext directory inside it. (We're doing this because adb pushes only the content of a directory). Afterwards, do:

adb shell su -c mount -o rw,remount /system
adb push LOCAL_PATH/NEW_DIR /system/bin/   # LOCAL_PATH/NEW_DIR is the path to the new directory you just made in PC

For both the cases: it appears that directory has full read-write permission from everyone, given the attributes rwxrwxrwx. However, make sure to change the attributes for .su to rwxr-xr-w. Do:
adb shell su -c chmod 755 /system/bin/.ext/.su

See Can't remount /system in rw if my remounting instruction doesn't work.


text:
Change color theme when battery saver mode is active
I'm using a Nexus 5 with stock ROM. When the battery saver mode activates, the notification and navigation bar's color turn to a bright orange. I find this color very distracting.
Is it possible to change the color?

Please share device/Android information.

I think specific ROMs grant this feature, or maybe a mod can work, but you have to be rooted for both.

@SarpSTA Sure. Done.

You can try to edit the SystemUI.apk or framework-res.apk to change the colors.. And BTW, the Xposed module named 'GravityBox' has an option to disable the orange color when Battery Saver is ON.

@GokulNC thanks for the tip about Xposed and GravityBox. Please add this as an answer so I can accept it.


text:
CM12.1 on Galaxy S5 in endless boot after encryption enabled, then pattern changed
As written in the title, I have a Galaxy S5 (SM-G900F) with CyanogenMod 12.1 installed ("klte").
Everything worked semifine (apart from occasional reboots), and after a while I decided to encrypt the device.
Encryption seemed to have worked fine - on every boot, I had to enter my pattern.
A few days and reboots later, I changed my unlock pattern. So far, everything worked fine - the display could only be unlocked with the new pattern.
Then, I rebooted the device and it never finished the boot process; I have waited >15 minutes.
One strange thing is: Before I changed the pattern, TWRP always offered me a 3x3 pattern on startup (my pattern is 6x6). Now, it doesn't, and it can access both internal and external memory.
I have reinstalled CM12.1 via TWRP, but that did not help; nor did factory reset: The first boot after FR showed the message "Apps are being optimized", then "Android is starting / Apps are starting".
Then, with this message showing, nothing happened. I pulled out the battery, and now everything is like before: endless boot.
Is there a way to repair the device?

Formatting data did help.
I'll stay away from Disk Encryption for now as it seems to me the Cyanogen ecosystem is not really there yet.


text:
Stuck on "verification fail" while Rooting Moto G 3rd gen
I am trying to root my moto g 3rd gen.
I am following this guide:
http://theunlockr.com/2015/09/09/how-to-root-the-motorola-moto-g-3rd-gen/
I am completely stuck on Step 7: installing SuperSu on the device.
What I did:

Unlock booting
Start via command adb reboot recovery
Get past no command screen
select zip browsing the file system
push the zip using the command: adb sideload C:\...etc\...zip

The Zip I am using is this one:
https://download.chainfire.eu/696/SuperSU/UPDATE-SuperSU-v2.46.zip
The Result:
Finding update package...
Opening update package...
Verifying update package...
E: failed to verify whole-file signature
E: signature verification failed
Installation aborted

What can I do from here? Are there better ways to root this particular device? How do I get around this error?

I have TWRP, as described in the guide. Yes, reboot.

Alright, so first copy your SuperSU zip into phone. You can use adb push or MTP or anything that suits you. Then in TWRP, select Install -> locate the zip file you just moved and proceed with flash. Done.

That's what I did, but I get this verification error.

But you did adb sideload but I said something else. Okay, hold on.

I tried both. Selecting zip and after that failed sidemount via cmd.

Under Settings of TWRP, see if "Zip file Signature verification" is unchecked or not. If checked, uncheck it and then try.

I don't see any checkboxes, its all text based. Where do I find this checkbox?

When you boot into TWRP, you will see some boxes with shape of a SIM card and labels like Install, Wipe, Backup.. Among them is a box named Settings. Under it, you would see a list of options. There should be that option about verification.

I think I am failing at the previos step. Nowhere does it actually say TWERP.

It seems Moto G 3rd Gen is very tricky to root. I spent 2 days trying countless things and having countless problems every step of the way. I drove myself insane with it, however at the end, it worked and my Moto G 3rd Gen is rooted now.
For everyone else experiencing problems with rooting this device here is some info on what to do:
1. Bootloader Unlock
This first step of the process is already pretty tricky.
To achive it you need to closely follow the steps on this page:
https://motorola-global-portal.custhelp.com/app/standalone/bootloader/unlock-your-device-a
Keep in mind:
The instructions on this page are potentionally (perhaps intentionally) misleading as to trip up unexperienced users. Some things to keep in mind:

on Win CMD you don't actually need to type the $ chars displayed in the instructons on this page. Its best to read some basics about handling cmd before doing this, like how to navigate in cmd.
you need to install Android SDK and JAVA and than run the program ADB in CMD prompt using admin. This is the path: C:\Users\Username\AppData\Local\Android\sdk\platform-tools\adb
You need to install USB drivers. You can find Moto G 3rd Gen Drivers here: https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/88481
You need to enable Developer Options on your device by tapping 9 times on "about this phone" in settings.
You need to enable OEM unlocking in developer options.
You need to enable USB debugging in developer options.
You need to be logged in in Motorolla Care in order to get a key, you will need to unlock bootloader, otherwise the form returns a 500.
2. Installing TWRP

This step is what ultimately tripped me up. The trick here is, that after installation of TWRP the system restores the old recovery program you want to replace and you always return to square one.
In order to make this one work we need to apply a little bit of trickery.

Download TWRP img file and put it somewhere in your windows filesystem
Connect your Moto G with USB and start adb in cmd as admin
execute this command: adb reboot bootloader
When the phone reboots into bootloader mode, execute this: fastboot flash recovery recovery.img make sure to replace "recovery.img" with the path to your file and the right name of the file. After this one is done, the next step is crucial, otherwise all progress will be lost.
Remove your USB cable from the phone
Boot straight into recovery without any reboots. To do use the volume keys to select booting mode, select with power button.
You should boot into TWRP interface, which is a touch interface with rectangles to click on. If you land on "no command" screen or "system recovery" DOS style screen, you probably need to repeat the installation of TWRP and try to avoid it being automatically replaced / restored to default by the system (this seems to be happening on reboot).
In TWRP click Install. Choose SuperSu.zip from your phone file system and install it. Once this is all finished reboot your device, it should be rooted. Use root checker app to check your root status.

Useful tutorial:
http://theunlockr.com/2015/09/09/how-to-root-the-motorola-moto-g-3rd-gen/
Only problem with this tutorial is, it doesn't mention that TWRP will be deleted by the system if you reboot. So you need to adjust that part of the tutorial as described here.

+1 for mentioning that TWRP will be replaced upon reboot. This is also true on my Galaxy Note 4. I used ODIN (specific to Samsung) and disabled the 'auto-reboot' option. After booting right into recovery from there I finally managed to root my device. Thanks for the pointer!

I totally understand the situation here as I just faced it and came out from it.
The think is simple!
Note many devices will replace your custom recovery automatically during first boot. To prevent this, use Google to find the proper key combo to enter recovery. After typing fastboot reboot, hold the key combo and boot to TWRP. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don't follow this step, you will have to repeat the install.
This is the official twrp site which you should consider
Read the above link carefully. Note again that you must click the key combo before your android recovery boots, otherwise you have to install the recovery again and again.
Hope I cleared your doubt. Thanks all.


text:
Screen turns off during call due to problem with proximity sensor - Xperia Z3 compact
I'm using Sony Xperia Z3 compact running Lollipop 5.1.1.
My proximity sensor is really faulty (Works only when I press hard on the top left corner of the phone).
I'm sure it's the proximity sensor because I used test apps and I can see it's detecting proximity all the time (unless I press hard on the corner).
Obviously, my biggest problem with that is that my screen goes dark when I make a call (Because the proximity sensor think the phone is near my ear). Trying to use the power button to turn on the screen didn't work so I set the power button to hangup calls (Otherwise I had to wait for the other side to hang up!).
I've seen many (many!) posts about this issue and tried all the apps who claimed to turn off the proximity sensor and non worked (including using the service setting at *#*#7378423#*#*) :

KeepScreen
Screen On Call
Screenbl - Screen On/Off Sensor
Smart Screen On Off
Disable Proximity Sensor
Proximity Fix
Proximity Screen Off Lite
On Call Proximity

I gave them all admin permissions and whatever they asked, but they all failed... The proximity sensor is just too strong for them I guess...
My only hope is to find an actual dialer app that has an option to ignore the proximity sensor (Used to be a popular option in the past). The Xperia Z3 compact default dialer does not have this option, nor the following dialers I've tried (At least I couldn't find that option):

Turedialer
DW Contacts & Phone & Dialer
Dialapp: KitKat Dialer
Reactiv Phone Dialer
Contacts+
KK Phone (KK Dialer, Lollipop)
Ready Contacts + Dialer
pixelPhone Pro

The only app I've found to have this option and it actually worked really well was: Viber, but unfortunately Viber cannot be used as a regular dialer but only as viber-to-viber dialer or viber-out dialer (like Skype credit).
So please, if you know of a dialer which you're sure has the option to ignore proximity sensor (or: 'keep screen on during call' as it sometimes called), please share it with. Any other original ideas will be welcomed as well.

Are you familiar with Tasker?

@ProductManager I'm sorry, I thought you could maybe disable the sensor during call but turns out it's not possible that way. I'm looking for other ways though. Are you having any problems after setting Power button to disconnect?

@ProductManager I was trying to setup screen on when proximity sensor covered, and when Phone app in use. But it seems that the default setting overrides this. Quick question: is your phone rooted?

If you're willing to root Android and install Xposed Framework, then I can say that the module, Disable Proximity,  worked  perfectly on my Android 5.1.1 (non-Sony device)

@AmanThakkar and Firelod Thanks for trying to help. My phone is not rooted but as 'Firelord' mentioned it might be worth to root it.

See https://stackoverflow.com/questions/24982571/disable-proximity-sensor-during-call

I'm sure some of the solutions that were mentioned here will work for other people but unfortunately, the only solution that worked for me was a hardware solution. I took my phone to a lab and they pressed the screen to the back of the phone with some extra glue. After 24 hours the phone was good as new. As a programmer I was disappointed that no software solution could solve my problem, but I still feel obligated to share my solution.

Thanks for the visual explanation about the glue - despite the fact that pressing the corner worked, I still hadn't understood to what extend the screen was completely loose!

@Tao I think it was a few millimeters. It was impossible to see when looking at the phone from the front but a little visible when looking from the side.

Yep, exactly the same here.

The software solution which worked for me was installing Xposed framework, and then using this Sensor Disabler app. As I say, this has worked for me in the past, but right now I'm struggling to free up the /system space to install xposed framework. Very frustrating.

the problem just happened to me exactly the same few days ago, I don't know the main reason but it is so ! and actually I don't want to trick my device using some (disabler, tasker app or something like that) then is the problem unsolvable unless I take the device to some repair stores ?
is it sensor calibration error and needs to be re-adjusted or what ?

The only way I managed to work around this issue with Macrodroid was to:

put the trigger to volume button (up)
put the action to reject call.

So when I make/receive a call, I  can end it with volume up button.
Works on Z3 Compact.

Ran into a fun related option today "global settings -> accessibility" "use power button to end calls".  Still doesn't let you use the touch pad during the call tho :|

Using Tasker:
Profile name: Screen on
Conditions:

Call Any, *
 +
Proximity Sensor

Tasks

Menu (any title, any settings. This is to turn the screen on to show a menu. You can also use Pop-up if you want, though it may not work)
Display Timeout (To keep screen on immediately after menu has popped up. Set it to any suitable time you wish to)

This worked for me, and lights up the screen during call. It is tough to replicate your problem because I don't have it myself, but you can try it out.
Edit: If you're considering rooting, I guess many apps will work. Also, please check if you have the option of : Turn on and Stay on. They aren't available on my phone but may be available on yours. Or maybe you will need root access for that.
This is what I mean:

The simplification it requires can be represented this way: Profile: Event -> Call Any, Profile: State -> Proximity Sensor. The location may differ, but the point is to make it easier to follow. How does a person is supposed to know where is Call Any or Proximity sensor located?

@AmanThakkar - Tried but did not work. 'Stay On' and 'Turn On' are red for me as well and trying to open a menu and timeout did not work (Screen turned off and no menu was opened). Thank you 'Firelord' for the simplification. Indeed not an easy app for beginners...

Actually it's very easy, you can get used to it very quickly. Your problem is a tough one to solve :P Should I delete my answer now?

@AmanThakkar I wouldn't delete it as it might work for other people but I would add Firelord's simplification, to make it easier for beginners like me.

You could try this solution to keep screen on during call using MacroDroid automation app (Root not required)
To get an idea of how it works, settings required, testing/ troubleshooting,  see my answer.
Additional setting for this solution is from main panel of app Settings→Trigger Options→ Proximity Sensor Trigger→Enable Work with Screen off
Your macro would look like this (gets activated once the call is active )
Trigger:
Proximity Sensor → select Far (can be tried with near also)
Action:
Screen On/off →Screen on
Constraints:
Call State →In call (Macro runs when you are in call)
Disclaimer:

Tested on Huawei Honor 6, running Kitkat
@Firelord had confirmed, it is not working on his Lollipop version. Don't know if it is Lollipop / ROM / Device related. In the MacroDroid forums, reference is made in one post only to not working satisfactorily on Moto G  but confirms working fine on Samsung S5, both running Lollipop. Request OP to confirm, whether it works or not on his device

Nice try but unfortunately didn't work. Cool app though... I did managed to control other phone settings like the torch or the Bluetooth but couldn't keep my screen on or cancel the affect of the proximity sensor (even after the special settings you've mentioned).

the macro has being called. I've emailed you and the developers, the log.

No love for me on a Nexus 5, sadly.

Have you tested the Proximity sensor on the device, as this sounds like it may be related.
Try the following.
Menu > Settings > About phone > Diagnostics > Test Device > Tap Ear Proximity
If this fails, make sure to remove any covers or Screen protectors and then test again, if it does work, then the Proximity sensor was being covered or obstructed.

Yeesss! I had the same problem and plan to waste my phone!
Macrodroid help me to resolve issue with proximitity!
Proximity sensor - always tell - NEAR. And i can`t finish a call or input digit - screen was locked.
Remedy is - install Macrodroid and create macros
Trigger:  Proximity Sensor → select Near
Action: Screen on
Thats all!
My phone working fine now!!!!!!
Beeshyams, thank you very match for your cool mind and big heart!
p.s I can swith off screen by botton!

What type of phone is this? Doesn't work for me whether I set the proxomity sensor to be a "trigger" or a "constraint" (Sony Z3 Compact)

Not working here Nexus 5

I have actually been having this issue since i bought this phone in February and i have been to lazy to take it back. I decided to call sony after my phone irritated me beyond explainable today and he asked me to go into
 - Settings
 - About phone (if it is your first time in there click agree)
 - Diagnostics
 - You then need to select the test tab
 - Scroll down all the way to the end and select 'ear proximity'
 - Now it will tell you to place your hand over the sensor and if it vibrates it means your sensor is fully functional. If it vibrates from the moment you select ear proximity then your SENSOR IS FAULTY :(
He told me that if i bought it out wright i have to send it to sony for about 14 days so they can see what is wrong with it and if it is repairable... Never again will i make the mistake of buying anything other than apple.


text:
What does 'No carrier <device name>' mean on Play Store?
I tried to install Google Cardboard on Samsung Galaxy J7, but I found "No carrier Samsung SM-J700F". However, I see that Cardboard works in another phone (Google Nexus) with same SIM card.
What does "No carrier" mean? Why can't I install Cardboard?

It means that Google cannot retrieve the carrier info on your device. Some possible causes:

The SIM card is not inserted, or inserted incorrectly/broken (can't use telephony feature)
The SIM card is inserted correctly, but Google cannot identify it (e.g. an issue with Republic Wireless)
The device doesn't have SIM card slot (e.g. tablet)

As far as I know, the text "No carrier" is only an informational text to identify which device you are choosing, and it's not an error message. I have installed some apps to my older phone without carrier, without any problems.
Regarding app installation, it may/may not affect the installation. Some apps are restricted to certain carriers (usually carrier's apps themselves).

For your specific case, since you've mentioned on other post that other device with same carrier could install Cardboard, but your device didn't, it means that the carrier is not the problem.
On the other hand, based on GSM Arena, Samsung Galaxy J7 doesn't have gyroscope, which is required for Cardboard.


text:
LG-G3 Smart Keyboard?
On the LG-G3, we can easily adjust the portrait keyboard like so:

But, despite looking for many hours for some sort of setting, I can't seem to find a way to increase the size of the landscape keyboard mode, which is clearly too small:

Is there anyway to change the height of that keyboard?
Thanks so much,
Ruchir

If you don't mind changing the keyboard, you can use SwiftKey. You can adjust the size of the keyboard in that app.

@Firelord I would prefer using the lg g3 keyboard. Is it possible?


text:
How bypass ZTE factory reset protection
I did a factory data reset on phone and it still wants the last synced Google account.
I found phone and would like to bypass factory reset protection, how do I do it?

OK, can't guarantee this will work but I've had success in the past using this method.
First complete factory reset with no Wi-Fi connection. Don't enter ANY information or password, knock, pattern, anything..
Next, turn off phone, then hold power and vol up till phone cycles on.
Again, ENTER NO INFORMATION. Now, power off and back on normally with no Wi-Fi.
Disable auto sync and connect your new Google account..
Voilà


text:
How to enter "carriage return" in Android Google Keep in checkbox view?
I'm trying to add a new line in checkbox note items in Google Keep app using Android Keyboard (AOSP); but instead, a new checkbox item is added when I do :

double tap on shift key → enter
drag from shift key to enter
long press enter key

I can accomplish the purpose nicely in PC (Google Keep Chrome Extension) with Shift+Enter combination; but how to in Android !?

This is not possible at the moment.
Only thing I can think of is to use a clipboard app and copy-paste a soft linebreak into Google keep.

Android (AOSP) keyboard:
When you hit the shift key (the one for the capital letters), automatically the key for the smiley (that is at the bottom right) becomes the key to start a new line.
SwiftKey Keyboard: (when keyboard of the letters (alphabetical)).
 (from the keyboard of the letters .(a b c ..) simply hold for a moment the key for the smiley, at the bottom right.

This will enter a new item, not a soft linebreak.


text:
Convert Android File Transfer to USB Removable Device in Lollipop
I have a ASUS Zenfone2 Laser 500KL whose configuration are 8Gb Internal, 2gb RAM, QuadCore Processor and Android Lollipop 5.0. For some days, i am using the phone but i don't like the file transfer system from phone to PC by USB. Some folders doesn't appear when i open it on Windows but appears on phone when i access. It also appear when i connect SD card by Card Reader to the PC B but not by this file system.
When i connect the phone to PC in MyComputer this appears.

Here to my question, i want to convert Portable Media Player to USB Mass Storage Removable Device by disabling this PC Suite and showing Portable Device. Can anyone help me how to do so?

Another Similar Question: How to connect my Lollipop device via USB in Mass Storage Mode

@GokulNC Well, as it is mentioned in that answer that it wouldn't be possible practically if your device doesn't support USB Mass Storage but why some of the folders not appearing on Windows that are visible on my Android phone..The missing folders only show when i connect the Sd card from a card reader?

Afraid there's no possibility that way. But there might be alternatives, see e.g. my list Manage your Android Device from your Computer.

Folder not appearing issue can be solved easily. I, Izzy and one other user have relevant answers on Is there a viable alternative to MTP for file transfer?


text:
Why is my SD card not being fully recognised?
I recently bought a new Alba 10" tablet, along with a 32GB microSD card to boost the storage.
My problem is that the SD card isn't functioning as I would expect.
The expected behaviour

If I insert the card when the tablet is already switched-on I see a "Preparing SD card" notification message, which subsequently disappears.
If I remove the card when the tablet is already switched-on I get an "SD card removed unexpectedly: Unmount SD card before removing to avoid data loss" notification message.
The card appears in the tablet's built-in file browser (and other apps I've tried) as a 29.79GB SD card and it appears to work normally (creating/deleting files and folders etc).

The unexpected behaviour
When the SD card is present the Settings->Storage screen only shows the tablet's internal storage, exactly the same as when the card is not present. This has a few undesirable effects:

I can't unmount the card to avoid the notification mentioned in "expected" behaviour 2, above.
I can't change the default write disk. This means that I can't, for example, save photos from the camera app directly to the card.
I can't move any apps to the SD card.

Some other points that may or may not be relevant

The tablet is running Android 5.0.1 and doesn't appear to have any major customisations.
The card is a Samsung EVO 32GB microSDHC, bought from a reputable retailer and delivered in sealed packaging, so I'm about as sure as I can be that it's not counterfeit.
I've tried the card in my PC and it appears to behave normally. I've also tried reformatting it on the PC before retrying in the tablet, with no change in the tablet's behaviour.

And here are my questions...

Is the described behaviour truly unexpected or is it my own expectations that are wrong?
If this is known behaviour then is there some way to make the SD card show up on the Settings->Storage screen?
If this isn't known behaviour then is there anything else I should try in an attempt to diagnose and/or fix the problem?
Does it really matter if the problem can't be resolved? Is it likely to be safe to use the card purely as file storage, even if it can't be made to appear on the Settings->Storage screen?

For the storage space problem see this question: http://android.stackexchange.com/q/132961/86358. Can somebody tell me what is up with people asking why their reported disk space is slightly less then advertised on the package? Watch out for the difference between GB and GiB

@GiantTree: There is no storage space problem here. The reported size of the SD card is exactly what I'd expect, that's why I noted it in the "expected behaviour" section. My question is why the SD card doesn't show up at all on the Settings->Storage screen when, as far as I can tell, it is recognised correctly by the filesystem?

The immediate red-flag is that you are using a Samsung EVO SD card. There have been a huge amount of counterfeits being reported, even from retailers like Best Buy and Target. It even made it on XDA, which explains pretty thoroughly what to look for: Fake Samsung EVO 64GB SD card - XDA
It doesn't seem, however, that it would affect your Settings app in that manner. I have a few unbranded tablets that handle storage terribly, and I think it's definitely the manufacturer's fault.
If you like Vanilla Android tablets like I do, I would recommend the Dell Venue line of tablets, they are Intel core and handle games and Bochs emulator very well.

What I do in my situation is switch off my device from power menu. wait for a minute or two insert the card and reboot the device. and my phone or tablet whichever device recognize it normally.


text:
How to migrate Android device, including SD card?
I have a Huawei Ascend G6, which uses a 32GB SD card to store most app data. I now bought a Huawei Y6 to migrate to and want to retain as much app data as I can. How would I go about to transfer my apps (data) to the new device?
The Y6 has Lollipop, so when booting the device, I was asked which apps to install. So I got all apps installed now. So how do I go about transferring configuration data? I assume I can't just put my SD card into the Y6 and be done with it?

Depending on the manufacturer there is some sort of migration wizard/helper. As with all Android devices, only system apps have the ability to read/write other apps' data and thus users rely on the availability of a service that has full access. Samsung offers such a helper in the form of Samsung SmartSwitch. Maybe Huawei offers something similar. If all fails you need to root both devices and copy/paste all the data manually and fix ownership in the end (only as a last resort)

Related: Is it possible to migrate apps and their data from one unrooted Android phone to another? Btw, I'm using adb for this, via its backup. Creating separate backups for each app, those can be restored across Android versions and devices.

@Izzy How would this work with the SD card. I have many apps that have their data partly stored on the SD card. Should the SD card be in the old or new device? Or should I get a second SD card?

I have never done that (not using App2SD or the likes), but adb backup should pick all the data along. If you've got a new card in the new device, leave the old one in the old, do the backup and restore, and see the outcome. Should work IMHO.

You can try using Helium backup on the older phone in order to make copies of your apps and their settings. These can then be migrated to the new phone through the Helium backup interface. Alternatively, you could take an ADB backup of your old phone and restore it to your new phone. All this is on the assumption that you don't have root?

Welcome to Android Enthusiasts! This is a question-and-answer site, not a forum: please don't add comments as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, or to add actual comments when seeking clarification of any issues.


text:
Where do I find the latest upgrade options for my phone?
So, I got the Huawei Ascend G6 and I haven't been able to upgrade since Jelly Bean. Last month, my sister who bought the exact same phone just a week after I did, came to me complaining how her interface "suddenly" looked totally different. It looked like she updated her phone to Kitkat. She told me, the phone asked her to upgrade and she did.
Now, even when I try, I can't seem to upgrade. When I press "online update", it just says "No updates found". So how do I figure out, what the latest upgrade possibilities are for my phone? Maybe I did get a slightly older model after all, which can't upgrade for some reason?
We both haven't rooted our phone and I'm not planning on doing so.

check this: http://forum.xda-developers.com/ascend-g6/general/official-kit-kat-4-4-rom-g6-l11-t3052035

That could be due to your country or we says (Rom Region).
Sometimes, it is better to download and update that phone with manually installation.
So, the thing is how you can find the latest version?
you just have to check these links for the latest roms:

http://forum.xda-developers.com/ascend-g6

or go to the official website and search about that phone with typing the exactly name and goto downloads section.for-ex:

http://consumer.huawei.com/kh/support/products/downloads/ascend-g6-4g-kh.htm

P.s: if you couldn't find any new rom for your phone, another option is using CustomRoms


text:
Error: "Operation not permitted", when attempting to remove su binary placed by KingoRoot
I rooted my P8-Lite ALE-L21 (Android 5.0.1) with supersu.zip through TWRP recovery. After that I installed KingoRoot and KingoRoot replaced  su binary with some other su binary which is obsolete for my Android version and not working. So I modified supersu.zip and placed su binary into another directory in /data/local. Now my working su binary is in /data/local and it works fine with adb, but does not work with SuperSU and other applications which use root privilege.
To solve that issue, I tried to remove these old su binaries:/system/bin/su and /system/xbin/su, with the following commands unsuccessfully:
$ adb shell
shell@hwALE-H:/ $ /data/local/su
root@hwALE-H:/ # mount -o remount,rw /system
root@hwALE-H:/ # rm /system/xbin/su
rm: /system/xbin/su: Operation not permitted
1|root@hwALE-H:/ # rm -rf /system/xbin/su
rm: /system/xbin/su: Operation not permitted

What is this error: Operation not permitted?
How can I remove those su files?

Given this link about mount's output, it is at least confirmed that system partition is mounted in read-write mode, so we can exclude that from the list of possibilities that may be restricting rm from deletion. Plus, the error would be different too.
Since you're running the command with superuser privilege, different file owner or group owner of that su file shouldn't the cause here. It most likely would have something to do with file attributes.
To check file attributes we need lsattr tool. Android doesn't come with that tool, so you're left with no choice but to install busybox or toybox. Since your standard root is botched, you cannot install busybox binary using an app. It would fail. In that case, download the binary of busybox or toybox appropriate for your device, rename the binary to busybox or toybox, push it into /data/local/tmp/ and set executable permission on that file. Permission can be set using chmod. Do:
adb shell /data/local/su -c chmod 755 /data/local/tmp/<FILE>  # replace <FILE> with toybox or busybox

Test the binary using
adb shell /data/local/tmp/<FILE>   # replace <FILE> with toybox or busybox

If it works then execute
adb shell /data/local/tmp/<FILE> lsattr /system/xbin/su

Per the output in chat, the file attributes are
-----a-A----- /system/xbin/su

According to manual of chattr,

When a file with the 'A' attribute set is accessed, its atime record is not modified. This avoids a certain amount of disk I/O for laptop systems.
A file with the 'a' attribute set can only be open in append mode for writing. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.

atime → last access time.
A file with 'a' attribute cannot be rename, delete, or overwritten, but can only be append. So that's the reason rm was throwing the error operation not permitted. (I'm surprised KingoRoot didn't place i attribute.)
Anyhow, we must remove that attribute first. Do:
adb shell /data/local/su -c /data/local/tmp/<FILE> chattr -a /system/xbin/su

It may not give any output unless an error occurs. Now, check the file attributes again using lsattr:
adb shell /data/local/tmp/<FILE> lsattr /system/xbin/su

It should now be
-------A----- /system/xbin/su

That attribute has been removed and you're free to rename, delete and overwrite that file. To remove the file, simply do
adb shell /data/local/su -c rm -f /system/xbin/su

Follow the process for any other file, if it cannot be deleted by rm at once. If lsattr reports i as well, then remove it using -i in chattr.

Works like charm, Really thanks for helping me

Sure, no problem.

hi, I need to contact you, this is urgent @firelord

@OMiD I apologize as I cannot offer my immediate assistance to you. Please feel free to post a new question or bring the issue in [chat].


text:
How to edit splash.img which displays the boot logo in Snapdragon chipset devices?
As far as I know, most devices powered by Snapdragon Chipsets stores the boot logo (splash screen that shows up when device is switched ON) in a partition named 'splash' which contains splash.img
Is there a way to edit the splash.img file or create a new one?
Additional Info:
It seems there is some script/software for HTC phones to edit the splash image, but it seems it will set the image (picture) resolution to that of HTC phone's resolution.
My device is: Yu Yuphoria

possible duplicate of How to change the boot logo, Not the bootanimation 4.2.2

@Firelord, The device of the OP has a mentioned Android version of 5.1.1. I suppose that it cannot be treated as a duplicate of your linked question

@TamoghnaChowdhury Android version is irrelevant here. Splash/boot image/logo is not dependent on the OS. So, it is perfectly a duplicate. Bootanimation, however, may very much be dependent on Android version.

@Firelord, even then, the linked question doesn't have an answer. Maybe we could request the mods to merge the 2? (and get on with some research?)

@Firelord I have specifically mentioned that it's splash.img for Snapdragon devices, unlike logo.bin (which is for Mediatek devices, asked by that question's OP which you have linked)

logo.bin is found in my standard Snapdragon 801 too. It's a OnePlus One.

@Firelord Oh I didn't know that :/  So, maybe boot logo is independent of the SOC.

I later found out how, and created splash.img for a few devices.. [GUIDE] How to Create Custom Boot Logo (splash.img) for Snapdragon Devices


text:
New keyboard app not listed in Language & input settings page
I downloaded and imported Android SDK's Softkeyboard example (an app) to Android studio and installed it into my Sony xPeria Z3 running Android 5.1.1. That said, I do not see the app name in Language & input settings page.
I checked the list of installed apps on my phone and I see that SoftKeyboard is installed and in Android Studio, there is no error.
Can you show me a way to fix this problem?

Eray, see this: http://developer.android.com/reference/android/provider/Settings.html#ACTION_INPUT_METHOD_SETTINGS I can call that particular input method enabling activity using adb shell am start -a android.settings.INPUT_METHOD_SETTINGS or adb shell "am start 'intent:#Intent;action=android.settings.INPUT_METHOD_SETTINGS;end'". I believe this may not be hard, for that command to be converted into a code.

Note: the commands in this solution requires adb setup in PC and the solution is tested on Android 4.2.1, 5.0.2 and 5.1.1.

Whenever an app equipped with an IME service is installed in the system, in order to connect its IME to the system, the device's owner must explicitly allow the app to become part of enabled input methods.
So how does it happen? We know that we can use command-line but that's not what ordinary users do.
It happens this way. When you launch that app, you're or would be asked to enable its keyboard. You  are then redirected to a sub-activity of Settings app. In ROMs close to stock Android, a user can access that sub-activity from Settings → Language & input → Current Keyboard → Choose Keyboards. This is how it looks like in some devices:
(Click image to enlarge; image courtesy of OP)

You can use command-line as an alternative to show that sub-activity
adb shell am start -a android.settings.INPUT_METHOD_SETTINGS
adb shell "am start 'intent:#Intent;action=android.settings.INPUT_METHOD_SETTINGS;end'"  # alternative to above command

For an app, the moment you turn the slider towards right in that sub-activity, its IME's id is appended into the value of enabled_input_methods - a secure setting. The app then gets listed under Settings → Language & input, among those already enabled as input methods.
Since only one IME can remain as a default IME in system, the app then shows you a dialog to select a keyboard app as default. That dialog can be accessed from Settings → Language & input → Current Keyboard. Whatever entry you choose there becomes the default keyboard in the device.
Now that you know the details, you can now easily add a keyboard into enabled input methods, including your example keyboard app.

Enabling keyboard using command-line
There's an another way too. All the enabled input methods can be listed by this command:
adb shell ime list -s

Example output
com.android.inputmethod.latin/.LatinIME
net.zhdev.ctrlvkeyboard/.CtrlVKeyboard

All the available (enabled or not) IME services can be listed through
adb shell ime list -a

Example output

com.android.inputmethod.latin/.LatinIME:
  mId=com.android.inputmethod.latin/.LatinIME mSettingsActivityName=com.android.inputmethod.latin.settings.SettingsActivity
  mIsDefaultResId=0x7f070000
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.android.inputmethod.latin.LatinIME
      packageName=com.android.inputmethod.latin
      labelRes=0x7f08003a nonLocalizedLabel=null icon=0x0 banner=0x0
      enabled=true exported=true processName=com.android.inputmethod.latin
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
net.zhdev.ctrlvkeyboard/.CtrlVKeyboard:
  mId=net.zhdev.ctrlvkeyboard/.CtrlVKeyboard mSettingsActivityName=null
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=net.zhdev.ctrlvkeyboard.CtrlVKeyboard
      packageName=net.zhdev.ctrlvkeyboard
      labelRes=0x7f0b0015 nonLocalizedLabel=null icon=0x0 banner=0x0
      enabled=true exported=true processName=net.zhdev.ctrlvkeyboard
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
com.touchtype.swiftkey/com.touchtype.KeyboardService:
  mId=com.touchtype.swiftkey/com.touchtype.KeyboardService mSettingsActivityName=com.touchtype.settings.TouchTypeKeyboardSettings
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.touchtype.KeyboardService
      packageName=com.touchtype.swiftkey
      enabled=true exported=true processName=com.touchtype.swiftkey
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0

The highlighted strings next to mId= are the IDs of the keyboard apps available in my system.
In any ID, the string before / is the package name of the keyboard app. Example: for Swiftkey keyboard, the mId is:
com.touchtype.swiftkey/com.touchtype.KeyboardService

The string com.touchtype.swiftkey is the package name of Swiftkey app. Package name is what will help you to find the appropriate mID that you should use to enable a particular keyboard app.
To know the package name of an app, follow View app's full package name?
In order to add or remove an IME into enabled input methods, do
# replace ID with mId of the keyboard app which you want to add or remove

adb shell ime enable ID
adb shell ime disable ID

To make an IME the default IME of the system, do
# Note that it doesn't matter whether the IME is added into enabled input methods or not. Consider this a direct override.

adb shell settings put secure default_input_method "ID"
adb shell content update --uri content://settings/secure --bind value:s:"ID"  --where "name='default_input_method'"  # alternative to above command

Sorry, I don't code so I can't provide an example (programmatic way) to launch that activity. This is all that can help an end-user.


text:
Decrease default vibration length on notification?
Is there any way to decrease the duration of vibration on receiving a notification? I want to keep it short, like you can do it for WhatsApp messages.
I'm running 5.1 on Moto G 1st gen, not currently rooted.

Check under settings/sounds and notification/vibration pattern. Or vibration intensity.

Automation is the preferred option. Many apps are available. I prefer using MacroDroid , since it is free (upto 5 macros) and easy to learn. To understand how MacroDroid works and the settings required for your Android version, see  my answer
Note  This is not tested on Lollipop  as I am on KitKat but should work. Ensure appropriate settings for lollipop are made
Your macro would look like this
Trigger:
Incoming Notification → From →choose Application (in addition to application you can customise depending on the text content of notification)
Action:

Vibrate →Short buzz (Ten other variations possible like Rapid, slow, increasing, decreasing etc)

Constraints: None
Edit:  For more details and explanation on MacroDroid, please see my answer here How to prevent brightness from going to full when the battery low popup appears?

I'll check this out

I have made a macro, and I'm testing it. I've made one to vibrate when notification receive (short vibrate), in the case of not being on silent mode. Is that correct? Will this prevent the sound from playing too? I haven't yet tested completely

I am not able to understand . Other actions that can help are vibrate enable/disable and volume change. If you have more than one action, it helps if you add wait before next action to 10 seconds, in between actions. You can reduce later after testing but from my experience less than 5 seconds doesn't always work

I've done what you've said in your answer, except I've added a constraint that the phone should be on non-silent mode. And I sent myself a couple of messages just now and it seems to be working properly

Good. Enjoy playing around. See the templates section of the app to get an idea of what you can do and also explore the forum (both available from main interface of app). Do consider "accepting" answer, and upvote,this would help others also decide the value of answer. Your choice, of course