text:
Samsung Galaxy S4 GT I9505 Cyanogenmod 13 6.0.1 Marshmellow 'Andoid starting loop'
I have installed Cyanogenmod 13 6.0.1 from here: http://get.cm/?device=jflte
with TWRP recovery, i watched a video and it has alot of good feedback, i double checked everything and install Google apps successfully too. I am now in a android is starting loop, the booting logo of the rom keeps restarting and every ten minutes it says apps starting but it just keeps doing this. I tried formating alldata via the recovery but this doesnt work either. Any suggestions?

Please note that first boot always takes around 5 to 10 minutes to be sure that you've got boot loop on your device.
Before we go into the detailed instructions? Have you tried wiping dalvik cache? If not do it otherwise follow the steps below.
Here is how I would fix this issue:

Make sure that you've already installed USB drivers on the PC.
Also setup fastboot adb drivers. The minimal adb software by xda developer should work fine.
Hopefully you've got the ROM file, extract /unzip to get the boot.img file.
Copy it to the Fastboot drivers folder (Not needed if you've enabled site-wide adb commands, If you're not sure what I mean, I have written a guide on my blog)
Reboot your phone into custom recovery mode.
Run adb fastboot.
Type: "fastboot devices" make sure your device is listed.
Now type this command to flash the boot.img file:

fastboot flash boot boot.img

Once done reboot your phone using recovery options.

This method has worked for a number of people and devices including Motorola, Google Nexus, LG , Sony and HTC. Feel free to let me know if you have further questions.

Yes you're right but it was needed and I thought it was the best step-by-step guide for user to follow and I hope there is nothing wrong with it.

I recommend you go through this article: http://android.stackexchange.com/help/promotion

It was the 2nd time I read it.

If you've read the help article twice then you should already be aware that when linking to your own content/products we require that you disclose your affiliation. Please do so.


text:
Is it unnecessary to unmount twice?
My Android 4.0.4 tablet (Onyx Boox i86) mounts the internal and external SD cards as real read/write drives (not MTP) on my computer. In order to do this it goes into "USB mode" where the tablet's OS no longer has access to the storage while the computer is accessing it.
Before unplugging the tablet, I usually do "Eject" in the desktop OS X/GNU/Windows file manager, and then click "Turn off USB storage" on the display of the tablet.
Is it alright to:

Just eject the drives on the desktop, and then physically plug out the cable?
Just click "Turn off USB Storage" on the tablet display and then plug out the cable?

The "secure removal" or ejection, when issued from a device whose USB ports provide some voltage (as a computer), serves the purpose of cutting out the voltage before unplugging the peripheral. This is done to avoid electromagnetic spikes that could possibly damage eventual data. In fact, ejecting a device does not kill an eventual data transfer, and instead your computer will tell you to either wait until the end of the operation, or to kill the process which transfers said data. So, in my opinion, only the first one of the two possibilities is needed.

@DeathMaskSalesman Why didn't you post that as an answer?

Because I'm not fully certain of those info, and would like some of the other respectable members to review them. The behaviour I described above is valid for Microsoft OSes, but I've no proof that Un*x does the same.

source: Stack Exchange

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

sort: votes


text:
Sony Xperia z: Hard reset with hardware buttons
My phone's touchscreen does not work so I want to hard reset my phone to see if it helps but there is a problem, How? I can't go to my phone's setting because

Touchscreen does not work
My device is locked and requires password (I have password but I can't enter it)

RESET

While the device is on, press and hold the Power and Volume Up keys.
Wait for the screen to shut off and the device to vibrate once (about 3 seconds).
Release the keys once the screen has shut off.
Press the power key to turn the device back on.

Master Reset feature with hardware keys is not yet supported for your phone. It can only be done with touch screen
https://support.t-mobile.com/docs/DOC-6722

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


text:
HTC stuck at logo screen while entering recovery mode
I want to install Kitkat 4.4.2 Rom to my HTC  Sensation XL android phone.
I followed instructions and I installed CWM (ClockWorkMod) but I can not enter recovery choice. When I click on that there occure HTC logo and just that no other thing.
Following picture is where I am.When I click the recovery choice I need to go Clock work mode screen.

But unfortunately my phone stucks at logo screen.
What I want to see is following picture to make it clear for you;

Thanks in advance..

I am still waiting with hope that someone will help me =)

Consider linking the instructions you followed to install CWM. What is your source (download) of CWM?


text:
How does YouTube offline feature work on Android and iOS devices?
How does the YouTube offline functionality work? What format are the videos saved in?
I know that people can download/convert videos from YouTube site and apps like Tubemate, but is it possible to convert those offline files to .mp4 or any other video files?
If I am a content creator and I am OK with people watching my videos offline but not with people sharing the video file, should I be turning the offline feature on?

Related to your first-half: http://android.stackexchange.com/questions/97399/where-does-youtubes-offline-feature-store-video-files

By "not ok with people sharing it", do you mean sharing by link or as video file? If the latter, then Alex.S' answer does answer your question.

If you read my question, it is very that clear I am talking about the video files in YouTube apps offline functionality. How does Alex. S answer my question? He skipped the 70% of the question. What kind of ignorant community does stack exchange have? I would have had better luck with yahoo answers. Jesus!! I am disappointed.

I read your question, thrice. Read the link I posted. While it might be impossible to convert YouTube offline video, people can download it from YouTube video downloader sites. Conclusion: you can't prevent them to get the playable video file. Did I answer your questions?

@AndrewT. Forgive me if I have acted rude. I think everyone knows that people can download videos from YouTube site and apps like Tubemate. What I wanted to know is that can it be done through the YouTube's new offline functionality? Content creators can actually turn on/off this feature on their channel. I think I got my answer. I was hoping to get a more detailed look into how it works and if there are ways people could implement something similar in their apps but the latter I was saving for another question. I think it is a very useful feature that can be used by several apps.

I tried to clarify the question based on the comment, hopefully I didn't change any meaning (otherwise, you can [edit] to improve it). However... YouTube offline is not available in my country (it's only available on few countries with limited internet, such as India, Indonesia, etc), so I can't experiment with it.

YouTube has an amazing feature that lets you watch your favorite YouTube videos without an internet connection on your mobile using 'YouTube offline' feature. You have asked how does it work?
Here is answer according to my understanding. First of, The offline feature only works on the YouTube app. Now when you add a video to offline the video is downloaded onto your device, then later you can playback that video as many times as you want in the YouTube app without having active internet connection for up to 48 hours, after that the video becomes inaccessible and becomes available again after you connect the device to the internet.
Please note that not all videos are available to add to offline, as the uploader can decide whether his/her video should be made available offline or not.
So where is the video file saved?
Well, I tried every possible way to find the file but the whereever it is stored it can only be accessed by the YouTube app and you can not playback the video on another video player on your device.
Now for YouTube publishers, it might work like this, let's say someone watched your video playing ads offline but YouTube app will refresh view counts once the device is reconnected to the internet so this way no views and ad revenue is wasted and is win win situation for both content creator and users.
So that’s how YouTube's offline feature works hope you've learned something new and found my answer helpful.


text:
Wifi turns off when phone sleeps - Not Duplicate
This is NOT a duplicate, I have read the other posts on this forum site and none of them have helped me. I've gone to the wifi settings and made sure Keep Wi-Fi on during sleep is ALWAYS and I've tried the WifiFixer, that didn't work. So I have no idea what to do. I don't have any of those crummy battery saving apps either.
If this helps, I tried switching to the guest profile once, and it was solved (but I obviously don't want to use the Guest profile all the time. So maybe it's linked with my Google Account?
I'm on a Motorola Moto G (1st Gen) and I'm on Android 5.1


text:
Whatsapp only lets me delete the profile picture [Solved]
Recently, I wanted to change my profile picture on whatsapp for another one, but when I tried to do that, only the option to delete it appeared. This also happens when I want to change the background of a chat or when I want to put a new profile picture for a group.
How can I solve it?
Miui 6.4.14
Whatsapp version: latest
Android Marshmallow
SOLVED
After a lot of tine of searching solutions, I found the what was happening: it is a bug that only appears in MiUi 6.4.14. This bug has not been solved yet.

If possible, could you mention the Android version? I don't know much about MIUI, but I guess you're using Android 6.x Marshmallow? If so, did you just upgrade from 5.0 Lollipop? If yes, could you check the permission of WhatsApp: Storage & Camera? Otherwise, I suggest to install another gallery/image picker, such as Google Photos and try it again. I guess there's a permission issue, or app utility issue (I remember your issue with image uploading on SE app, on Meta.SE)

@AndrewT. Oh, sorry for not posting the Android version

Would you please check if you've granted WhatsApp storage access in the permissions page?

@karanRajpal No, I discovered its a bug of MiUi.


text:
Move apps to SD card in Marshmallow without using internal SD Card storage?
In previous Android versions is was possible to move apps to the SD Card. In Marshmallow, I was prompted to choose if I want to use My Micro SD Card as external storage or to extend internal storage. I chose to use it as external storage because I need to use it in My computer without a cable. In Marshmallow, the option to transfer apps to SD Card didn't seen to appear. Someone else I know chose to extend internal storage using the Micro SD Card. On that phone, the option still appears. We both have a Moto G2.

Without root and a 3rd party app like Link2SD, it is not possible in Marshmallow because Google removed that capability from Android. If you accept an OTA from Lollipop to Marshmallow, Apps currently on SD will remain there but no additional apps can be moved to the SD card under Marshmallow.

Can you point to a source on the "Google removed that" part, please, for reference? Thanks!

@Izzy the references are easy to find in Google, even Motorola has (who used their own branded tool) has it their Marshmallow faq. https://motorola-global-portal.custhelp.com/app/answers/prod_answer_detail/a_id/109134/p/1449,9582

Ah. While manufacturers sometimes blame this on Google, that's not always the case. And not even done here: "With Android 6.0, we are also deprecating the existing ‘Apps 2 SD’" – so Motorola no longer supports it. Which doesn't mean Google removed it (in fact, as that's a Motorola site, it explicitly says: we are also deprecating the existing ‘Apps 2 SD’ Motorola feature which enabled the user to move applications to a SD card. So unless you've got another link saying it was Google, you might wish to correct that in your answer ;)

@Izzy I felt that link was more relative to the original question since the original question was about Motorola device, but I know Google did remove that feature from the AOSP code for Marshmallow, it has been replaced by adoptable storage option. I just can't find the reference on my phone and I'm at work now

OK, agreed on the "closer" due to the Moto G2 :) Other manufacturers (e.g. ASUS) claim the same (Android Marshmallow won't support APP2SD). I don't remember having seen that in the MM release notes, though. If you find that link, would be nice – I'll check for a few more minutes as well.


text:
How do I remove this odd field sometimes appearing when typing?
I have recently started seeing an extra field middle left on the screen on my Android 5.1 Moto G 1st generation:

I cannot tap it. It also appears in other apps, for instance Hangouts. I first thought it was some sort of word suggestion, but it doesn't seem to change much or always appear.
Does anybody know what that is and how to remove it?
Oh, and what does "winsomely" mean..? Thank you.

I have a hunch that it is an overlay from an app. See if this helps in tracing the app responsible for it: http://android.stackexchange.com/a/127862/96277

First of all, thank you, very interesting even if I didn't crack it yet. I tried comparing the window/package list with the box present and without (it disappears if the phone goes to sleep and you unlock the screen. I see no difference in the window list, but I can at least start on those 15 things on the list, it is obvious which programs some of them belong to even without the first list.

It's not an extra field.  It's a malicious app that is causing it.  Download.StopBadApp Moble Security from playstore and scan the phone to detect and remove the malicious application.

Hi, wherein lies tue malice of that malicious app, what is its purpose?

If it's a Spyware, it can be used to monitor your phone activity, capture your password or credit card transactions and send the details to a hacker or fraudulent website. Many more harm than good can be done too. Learn more.

Do you have any reference that it's caused by malicious app?


text:
How to update Galaxy S4 to Lollipop or Latest Android version?
How to update this Galaxy Not rooted S4 GT- I9505 from Android 4.3 to Android 5.0 or 6.0?
Currently not getting or not showing any updates either in this device or from Samsung Smart Switch/Samsung Kies.

Additionally, Not showing latest android version in SamMobile website (Firmware for GT-I9505) against the above device specifications. Currently it is still showing Android version as 4.3 Now how can we update it to Lollipop version?

My query is not duplicate. Please note that we struggled to get update the current jellybean version to kitkat itself. Still the phone is using in Jellybean without any update to kitkat or any other new released supported android versions for S4 GT-I9505 model.

Samsung UK or India customer care has confirmed us to wait till the phone receive any updates and no other alternate way unless Smart Switch or Kies display any updates. So far I've not seen any updates with the both softwares. Till date no updates are received with the model GT - I9505

You can easily update your Galaxy S4 to Android 5.0.1 Lollipop without root. As you have shared the screenshots, it shows your device is up-to-date but your region might have not received the latest update yet.
But you can check the sammobile firmware page over here.
It clearly shows that Lollipop 5.0.1 has been released for those regions, Now If your region is listed over there or not. You can simply download the firmware and flash it using Odin3. (If you don't know how to update using Odin, I've written a step-by-step guide on my blog).
I hope that the above instructions helps you to update to Android Lollipop. Now You also have said about Android Marshmallow, Now officially it is not available for your phone model and I am pretty sure it won't be in the near future as Samsung does not support their models too long and Galaxy S4 is now quite old.
But doesn't mean you can't have Android Marshmallow on your phone. In order to have it, you need to root your phone and install Custom ROM such CyanogenMod 13.
Let me know if you want to know more in details and I hope you've found my answer useful.

I updated the question. As we couldn't find the released Lollipop version against above phone version and specifications in sammobile firmware site. Kindly help!

At @Imran: Can we discuss this concern over Chat room

Why not sure, just let me know.

Invite me to chat room.


text:
What is the name of Android Device Manager Service
When you turn on Android Device Manager in Google Settings, it is possible to locate your phone by going to http://www.google.com/android/devicemanager
I have a very small cellular data allowance on the phone, and I want to ensure that only the android device manager service is using cellular data.
I downloaded the NetGuard app, that allows me to control what can use cellular data at a very detailed level, however, I can't work out which service I need to enable for cellular data to make android device manager operational.

The qualified name for the app is com.google.android.apps.adm.

The Android Device manager is by default allowed:
<wifi
    blocked="false"
    package="com.google.android.apps.adm" />
<other
    blocked="false"
    package="com.google.android.apps.adm"
    roaming="false" />

https://github.com/M66B/NetGuard/blob/master/app/src/main/res/xml/predefined.xml#L19


text:
Intermittent internet connectivity problems on Samsung Galaxy S4
So last night Chrome on my Galaxy S4 suddenly started refusing to load websites while connected to the exact same WiFi network that works flawlessly for two different laptops and a PC within my home network. Even using two different mobile providers' data networks, or the WiFi at three different friends' houses doesn't seem to work, so I doubt this issue has anything to do with my internet connection/s.
The strangest thing about this whole situation is that Chrome will search Google fine, and the Play store app will also search its catalog, download updates and even install new apps without a hitch, but pretty much every time I try to connect to a non-Google-owned server, the connection status bar fills about 10% of the way and hangs for 30 seconds before timing out.
Has anyone experienced anything like this before?
EDIT: This now happens at least once per day; often 3 or 4 times per day. Restarting the phone seems to be the only way to get connectivity back, before it drops out again a few hours later. Google apps (Play Store, YouTube, Maps, etc.) all work fine without a restart but other apps and websites refuse to respond. Please help; this is driving me crazy!!


text:
Completely disable Nexus 5 Power Button and Remap to Volume Button
I have a 1.5 year old Nexus 5 and its power button is somehow broken from the inside. The thing goes in a reboot loop whenever I either try to turn the phone on or put it on charging. Upon giving it a good smack, it somehow works and boots but it's only good for about a few minutes as whenever even a bit of pressure is applied on the power button, it goes in the reboot loop again.
So, I've been trying to completely remap the power button to Vol UP button and somehow completely disable that broke power button so the OS doesn't even consider its inputs. Here are some helpful links I came across, except the issue is the inability to push the changed keymap files back to /system without root.

https://nattster.wordpress.com/2015/09/22/use-volume-button-to-wake-up-nexus-5/
Remapping power and volume keys

I tried installing twrp but by doing going to bootloader via adb but then after I flash twrp and try to switch to newly installed recovery, the broke power button takes over and puts it into a reboot loop. If I try to get to recovery via adb, it goes to stock recovery as it is somehow overwriting twrp during the boot process.
I wouldn't mind getting the stock Android source code and somehow disabling all those mappings and reflash the new ROM on the device but I have no idea what files I need to go to, for disabling the power button.
So, I'm kinda stuck right now. Any help or pointers would be appreciated! Thank you!

Why not just replace the power button? This was a common this with the Nexus 5... http://protyposis.net/blog/replacing-the-nexus-5-power-button/

As a hardware solution,

Your power button is not broken, but getting stuck from residue or soft rubbers.

You can massage the key to help remove any sticky parts from the key and to help rejuvenate the rubber bounce.

Press the power button in reasonably hard and hold it in for a few seconds, then slowly decrease the pressure until you have removed your finger.
( This can help to crush any dust or move any residue out of the buttons path )
Press the button in slowly until you feel it just make contact & quickly release it..
( Repeatedly doing this will help to dry any sticky residue from something like a fizzy drink )
Blow air into the button, press a few times and blow again !
( This can help to remove any sand or grit that might be holding the button down )
Massage the button, press the button in slowly and then with moderate pressure, push up on the power button ( applying the most pressure on the top part of the button )  and slowly keeping moderate pressure, drag your finger ( or roll it ) to apply more pressure on the bottom of the button ...

Repeatedly Roll your finger ( or slide it up and down ) to distribute the pressure throughout the entire button... You will be Rocking the button while maintaining moderate pressure.
( This can help to rejuvenate the rubber that returns the button back to it's position )
I believe the issue can be fixed by massaging the button.

To fix the issue with the Stock recovery flashing over TWRP on the boot of the device I recommend trying the fastboot boot "pathtorecoveryimage" command. I have used this and haven't experienced any issues. So try the following:

fastboot flash recovery "pathtorecoveryimage"
fastboot boot "pathtorecoveryimage"

2.5 It may look like the device isn't doing anything but if you have your volume on audible feedback will be noted
Source: I have messed around with fastboot and ADB too much for my own good... (OnePlus One device tested and verified to work)

There's no way to remap the power key during recovery..
If you can control everything from pc without the power keys then I'd recommend you to open the back-cover and disconnect the power and volume keys from the motherboard.. Its not that hard just be careful while disconnecting..
Follow any simple tutorial on YouTube for reference (I searched.. there are manyyy)..

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


text:
External SD Card removed - Apps can't be deinstalled :-(
My external SD card seems to be broken. I removed it and inserted a new one.
Now the apps don't work any more. That's all right.
But: I can't uninstall or re-install the apps any more.
If I try to, then the app store seems to crash. I just get the message "App store terminated" (translated from german to english).
It's ok that the data from the sd card is lost.
But: How to get the apps working again?

Have you tried uninstalling them via Settings › Apps (the internal app manager)? Another option would be using adb uninstall (from your computer, if you've installed ADB stuff) or pm uninstall (from a terminal app, most likely requires root).

Yes, I have tried to uninstall via "Settings › Apps". I don't know what adb uninstall is.

If you don't know what ADB is, it's unlikely you have it installed (for a short intro, please see our adb tag-wiki and ADB for end-users – it's a very useful tool, I wouldn't know what to do without ;) So have you tried pm uninstall (requires the app's package name as parameter, e.g. pm uninstall com.foobar.app)? Did it work? Is your device rooted?

@Izzy, not the device is not rooted. Does adb work without root access?

Yes, the ADB daemon runs with enhanced privileges, so adb uninstall com.foobar.app should work. To avoid unnecessary large installs, you could take a look at my answer here for a minimal installation.


text:
After factory reset Market keeps crashing on Galaxy S2 on ICS
My phone was stuck in a bootloop, so I had to factory reset it. Now a new problem has arisen, which is that the Play Store is gone, and I am back at Market but it won't open and keeps crashing. Please tell me how to get the update from Android Market to the Google Play Store or at least get Android Market working.

Phone Model: Samsung Galaxy S2  (I9100)
Android version: 4.0.3 (ICS)

OS is ICE_CREAM_SANDWICH which was case even before factory reseting.

Guess what I was running out of time and did factory reset again and din't do any of things told like clearing cache, data for market this time and within 15 minutes market got updated to Play store.
Only change is I connected it over data than over wifi to internet.

This is the standard behavior... I can only speculate your initial factory reset did not complete properly or you did not finish the initial configuration wizard.

I did initial configuration correctly and complete but the Marketplace never opened and kept crashing. Which lead me to believe that high chance it won't update by itself.


text:
Facebook mobile website tries to open Messenger all the time
On Facebook's mobile website on my sister's phone, when you click the messages tab, it first opens Play Store opened on Messenger app (or, it opens Messenger if it's installed). If you click back, the messages page is properly displayed, but if you click on a conversation the same thing happens -- Play Store pops up, but when you click back, the proper conversation page is loaded in Chrome.
Phone: Moto G 3rd gen, Android 6.0.1
On my phone the mobile website in Chrome works just fine -- there's a button that suggests installing Messenger, but I can normally browse and use messages. Phone: OnePlus 2, Android 5.1.1 (OxygenOS 2.2.1)
Is there any way to prevent the facebook website from trying to open the app? I certainly don't want to use any FB app.

Details on what I already tried:

installing and uninstalling messenger
clearing defaults and clearing data for both chrome and messenger
if you copy a link to conversation's page and open it in new tab, it opens the page properly (without jumping to Play Store), so is it a malicious script from facebook itself?

Ah, I've just realized my question is more or less a duplicated of yours: http://android.stackexchange.com/questions/146264/how-can-i-prevent-an-application-chrome-from-opening-another-application-goog/146280#146280

Requesting desktop app seems to work for now. (I've only started today to experience this)

Yes, it started happening to me today too. I'm testing the app suggested by the answer below, seems promising.

Facebook started forcing this change a couple of months ago. There's nothing anyone can do about it. I find it rather annoying myself which is why I switched to a Facebook wrapper app like Swipe
It has a workaround for this behavior. I suggest you do the same.

I'll check out that app.
But why does it still work normally on my phone? I can use messages on the mobile website without any hindrances.

(I'll accept the answer anyway, if someone knows why it does work for me I'm happy to hear the explanation)

I honestly have no explanation for that. Sorry. Facebook doesn't really have any sound logic for most of the decisions they make.

That's not true. I have newly reset phone and I was not asked to install Messenger in the play store when I was going to the chats. I then installed Messenger just to make one call and immediately deleted it. Now when I go to the chats in the web version, it opens Play Store. So clearly something changed due to me Installing Messenger and removing it.

Try using https://mbasic.facebook.com
It's not as pretty and you have to click "See Older Messages" and "See Newer Messages" a lot, but it's quite functional and fast.

it really is very basic, but does work, thanks!

Just realized I was responding to the duplicate question, but here's another solution: Use Adblock Browser. It's a free browser that disables a lot of ads, and even though some mobile sites might act strange (which is why I still use Chrome), it stops facebook from opening up the Play Store. Hope that helps.
Edit: I've been told that other mobile browsers, namely Dolphin and Lightning, don't have the auto-linking.

If you don't want to install another app, there's a way around it. Although not elegant, you can tell Chrome to "Request desktop site" from the device's menu button. Have to manually change the URL from m.facebook.com to www.facebook.com afterwards, and the site is, as expected, large and unwieldy. But it works.
I've just installed the Adblock Browser as suggested by nguyen_c and it works a treat. Thank you for that suggestion!

In chrome go to option there click on request desktop site . Play store will not open. This works

This is the same thing that Katrina Stovold already suggested.

I was extremely annoyed by this thing (in Firefox). Then I downloaded a Custom User Agent add-on (which I believe is also available for Chrome), removed "Android" from the UA string, and now I don't get the annoying Play Store poo up.

But please note that having a custom UA string makes you very identifiable by web trackers. My next move is to find a way to have this for Facebook only.

This happens when you are try to access chatting from Facebook App. Try Facebook using Google Chrome and you can not redirected to download messenger app. You can chat by Chrome mobile.

The question isn't about the Facebook app, but about accessing the Facebook website in Chrome, so your suggestion doesn't make much sense. This is a recent change to the Facebook website, so it's understandable that it might be confusing.


text:
Turn off vibration on apps for nexus
Is there any way to turn off the vibration on the nexus 4 phone? I would like to open up the phone and rip out the vibration device it is annoying me that much.
For all calls and SMS there is no vibration. But for the Apps there is vibration. However I would like to keep the notifications for the apps, in the sense that I would like to have the visual pop ups that come on the screen. They are great! But it seems like it is almost impossible to decouple the associated vibrations that come with it.
If I go to the app notifications it either gives me the option of completely getting rid of the notifications, or having the notifications with vibrate. Only WhatsApp has the little cog wheel at the top which gives me the option of turning off vibration as well. All other apps don't.
Otherwise can someone tell me where this vibrate thingy is so I can jam a screwdriver into it or pour acid into it?

Try MacroDroid -easy to learn automation tool. Macro would be Trigger:  Notification>Notification Received>from any app>text any Action: Vibrate Disable /Enable>Vibrate off ConstraintsNone. To understand how MacroDroid works and required settings, see this


text:
adb restore: 'Invalid restore data'
My Nexus 6 had a hardware fault so I sent it off for RMA. Knowing in advance that it was highly likely the service people would factory reset it during the process of fixing it, I decided to do an adb backup.  My device is not rooted.
I made two backups, I believe using the command adb backup all -f backup-file.ab -shared -apk  My device is encrypted, so I set a backup password.
It generated a 1.6gb backup file which sounded about right.
My phone got fixed and I picked it up yesterday, and as expected it had been factory reset. I went to restore it using adb restore backup-file.ab
It brings up the restore prompt on my phone and I enter the backup password and it indicates the restore is starting - but then nothing happens.
Logcat says the following:
 BackupManagerService: --- Performing full-dataset restore ---
 ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1285 com.android.server.backup.BackupManagerService$FullBackupObbConnection.establish:3150 com.android.server.backup.BackupManagerService$PerformAdbRestoreTask.run:5904 java.lang.Thread.run:818 <bottom of call stack
 BackupManagerService: Invalid restore data; aborting.
 BackupManagerService: Full restore processing complete.

I tried playing around with abe.jar, but keep getting vague exceptions thrown on the unpack or info parameters (that's with the Unlimited Strength Jurisdiction Policy files), but it's quite possible I'm doing something wrong.
Obviously since the device has already been factory reset there's no way I can re-run the backup if the archive is bad. Anyone got any suggestions might be going on?

Pointer: What all does ADB backup and how do I restore part of it?

I got the same error until I realized I was using the wrong password. After entering the correct password, the restore proceeded normally.


text:
How do I get my device detected by ADB on Linux?
I just got my shiny new Wileyfox Swift – and before putting it to use I want to oem unlock and root it (as I usually do with new devices ;) Trouble is, though usb-debugging is enabled on the device, and a corresponding line in /etc/udev/rules.d/51-android.rules exists, the device is not seen by adb devices.
I know there are several answers scattered around this site, but they are either hard to find, just cover a specific device, or don't cover all steps I finally needed. So I take this as a chance for a canonical, device-independent question and give it a detailed answer below:
How can I get my Android device seen and used by adb on Linux?

Enable USB debugging on the device
This is done in Settings › Development. If you don't have that entry in your settings menu, go to Settings › About, scroll to the "Build number", and hammer it like a monkey until your device congratulates you having become a developer. Go back to the main page of the Settings menu, and close to the bottom you should see the "Development" (or "Developers") settings now. Enter it, and enable USB Debugging here.
Identify the device
First we need to know how the device identifies on the USB bus. For that, with the Android device NOT connected, grab a shell and run the command lsusb. Then connect the device and run the command again. Spot the new line. For the Wileyfox Swift this is a "nameless device":
Bus 004 Device 003: ID 2970:2282

Setting up the rules for ADB
We now need the numbers at the end of the above line: 2970:2282. These specify the vendor (2970) and the device itself (2282). Having those details, we need a root shell on our Linux machine to edit (or create, if it doesn't yet exist) the /etc/udev/rules.d/51-android.rules file. In there, add a line for your device. Following example line shows how it looks for the Wileyfox Swift:¹
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666", GROUP="androiddev", SYMLINK+="android%n"

If you have a different device, replace the vendor and product IDs with what you've found above when running lsusb. A short explanation of the line:

SUBSYSTEMS=="usb": obviously this rule is for USB only ;)
ATTRS{idVendor}=="2970": the vendor ID of the device this rule is for
ATTRS{idProduct}=="2282": the device ID
MODE="0666": permissions the device node shall get. 0666 is quite lax, giving every user on your system read and write permission – so if you're concerned, you might try replacing that with a 0660 (giving only owner and group read-write, and deny everything to others).
GROUP="androiddev": which group the device node should belong to. This should be a group the users intended to work with the device belong to.
SYMLINK+="android%n": just to give the node a nice name, so you can find it easier in /dev (in my case, it later showed up there as /dev/android5)

That rule entered in /etc/udev/rules.d/51-android.rules, we must tell udev to make use of it. Safest way (next to a reboot ;) is restarting the udev service. Depending on your Linux distro, this can be done either via sudo service udev restart or sudo /etc/init.d/udev restart.
Done that, leave the root shell. Disconnect and reconnect your Android device, try adb devices again. Most devices showed up now, but not the Wileyfox Swift – which obviously wants some extra cuddles. If you're in that situation, open (or create if it doesn't exist) the file ~/.android/adb_usb.ini and add a single line to it, naming the vendor you've found out with lsusb above; for the Swift that would be 0x2970 (yupp, here you need to prefix it by 0x to point out it's a hexadecimal number). Then restart the ADB server: adb kill-server && adb start-server. Disconnect and reconnect the device again. Now adb devices should see it.
Connecting the device
You might have noticed adb devices told you something like 0123456789ABCDEF  unauthorized. That's OK and for your (devices) safety: your computer must be authorized first to be able to access the device. So simply issue adb shell now – which will be quit with an error: device unauthorized. Please check the confirmation dialog on your device. Follow that advice (optionally mark the check-box to permanently authorize your computer), and you're done: Now you can use adb to access your device.

Updates:
¹ Note that in later Linux versions, syntax for the UDEV rules has slightly changed, as e.g. jcomeau_ictx pointed out in his comment. For the values we found above that would be:
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"

Two differences: it's now SUBSYSTEM (no plural), and the group has changed from androiddev to plugdev (the former does not exist on recent systems, the latter does and usually is assigned at least to the first user).
Additionally, you might need to add the vendorID to your ~/.android/adb_usb.ini (one ID per line, in hex notation):
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970

the format for the udev rule was different on my Jessie system: `jcomeau@aspire:~$ tail -n 1 /etc/udev/rules.d/99-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="201d", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"
jcomeau@aspire:~$ cat ~/.android/adb_usb.ini
ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
USE 'android update adb' TO GENERATE.
1 USB VENDOR ID PER LINE.
0x0e8d`
I had to ignore the advice to run android update adb and enter it manually as you stated.

@jcomeau_ictx thanks for the feedback! As far as I can see from your comment, it's just using a different user group (plugdev instead of androiddev). Not verified, but I'd say the important part here is that it's a group your user (which you want to use USB with) has as well.

also SUBSYSTEM instead of SUBSYSTEMS, ATTR instead of ATTRS, comma after MODE="0666"
not sure if all those changes were necessary, but that's what worked.

Oh – thanks, missed those small ones, @jcomeau_ictx – good point!

For Linux Non Savvy folks sudo wget -O /etc/udev/rules.d/51-android.rules from here worked for me for my Xiaomi Mi A1 . Of course it's better to learn but good to be lazy :)

On some distributions you restart udev with udevadm (see https://unix.stackexchange.com/questions/39370/how-to-reload-udev-rules-without-reboot).

Unplugging the USB, running lsusb, then replugging in the USB and running lsusb again showed no difference. But maybe that's because I'm using USB C ports?

Great answer. One thing to add: it is possible for higher-level udev rules which target the same vendor to override / conflict with lower-level rules. So if you have a rule targeting ATTR{idVendor}=="2970" in 51-android.rules and then another rule in 99-bad.rules targeting the same vendor id, the latter may make the former ineffective. Something to look out for.

@Andy I didn't dig that deep into udev. And as that's not limited to the Android rules, it might make a question better fitted at Unix & Linux, don't you think?

On Android 11, I see the rules group as plugdev, NOT androiddev, as previously mentioned. Not sure if it's related to Android or Linux Mint

@beeshyams you saw that that is mentioned with the update already? And it's got nothing to do with Android as it's the Linux part. Not even with Android-11, but with the "Linux version" – you see that update was already done in 10/2017 when not even Android-10 was released ;)

Stackexchange should be like reddit. I wanted to give away 50 points of my credit directly to upvote/award this answer. I lost days with this issue in internet searching and implementing so many voodoos that you see around. +50, why is that not possible?

Thanks @JoãoPimentelFerreira – glad I was able to help! Unfortunately not even a moderator has influence on the "minimum amount" of bounty credits. And I agree that 100 as a minimum is a bit high, especially if one has not much credits to give. 50 would be a good number. Maybe a corresponding question exists on Meta.SE with a reasoning or even the request to adjust…

@JoãoPimentelFerreira strange, according to this answer, you should be able to put a minimum of 50-rep bounty. I may refund your bounty if you want to try it again.

A few comments from a newer Linux distribution. Fedora 29 with a Nexus 5X or the Nokia 7.1 (Android One) phone.
First disconnect the phone, if already connected.

Install android-tools which will supply ADB (sudo dnf install android-tools)
Copy udev rules (sudo cp /usr/share/doc/android-tools/51-android.rules /etc/udev/rules.d)
Reload udev rules (sudo udevadm control --reload-rules)
Restart ADB to be sure (sudo systemctl restart adb)

Now connect the phone and run adb devices from the command line. You will probably see a device listed with "no permissions". This is fine.
IF it is not listed, you will have to add your device to the udev rules file, but for me, the tested devices just worked with the pre-defined rules.
Run adb shell and hopefully you will get a security notification on the phone asking if you want to trust the computer, select yes.
IF instead your computer says "error:insufficient permissions for device", you need to make sure that on the phone you have set your USB port to "Transfer files" mode, and not "Charge this device". On Android 8.1 this is located in settings under "Connected devices" > "USB".
I have noticed that even if you have everything working today, that tomorrow it may suddenly break for no apparent reason. If that happens, first check the USB port setting on the device, which may have changed back to charging mode, and if that fails, revoke USB debugging authorisations on the device (in settings under Developer options), and you should hopefully get the pop-up again when you run adb shell.
With this, I am able to run Android Studio and run on the connected device.

I have played around with USB packet sniffing with Wireshark and had used the modprobe usbmon module. When this module is loaded adb does not work anymore. In this case rmmod usbmonand adb kill-server helps.


text:
How to remove the bottom promo banners in Firefox for Android?
When you use Firefox for Android, you periodically see banners promoting the app features such as sync, themes, etc.

Is there a way one can disable this and get rid of the distraction from surfing?

Try typing about:config in the address bar.
After you open it, search for the browser.snippets.enabled parameter, tap on it, then tap on the Toggle button.
This disables the banners from appearing in the bottom.

Source: Annoying Firefox for Android Banners - SOLVED.

Deleting Firefox fixed it for me!
Deleted Firefox from my comp too, just to be sure no popups start there.
No ads from Chrome so far...


text:
Gmail app - increase font size when sending
I'm not asking about how to increase font size of emails I have received or how to zoom in those emails.
I am asking about how increase font size of emails that I compose and send in the Gmail Android app (the new version that supports bold, colors and stuff).
In a desktop computer, there is an option for that:

Is there an option for such in the Gmail Android app?

I just discovered that there is a Gmail app update that supports rich text compose.  I can't seem to get it on my device -- it must be for Marshmallow only?  In any case, I'm not sure if there's a way to change the font size and I've removed my answer.

@MatthewRead thanks ^-^ I think the Gmail app update is related to Samsung or android updates. I don't think I had rich text compose before my phone installed updates

The rich text compose app update for Android does not include font size. It only allows changes to bold, italic, underline and text color.


text:
Does it hurt battery life to not fully charge and disconnect?
If I charge my device and let it charge not fully but say, 60% and disconnect,
does that hurt battery life?
If so, what are the 'safe' ranges?

Is this a newer device, less than 2 years old? If so, it is much less important to fully charge the battery as there is no "battery memory" like older devices. General rule of thumb though, try to stay above 20%, and charge to at least 80%.

May I point you to our nice charging tag-wiki for the answer(s) to your question(s) – even those charging questions you've not (yet) asked? :)

According to the Android AccuBattery app, charging to less than 80% is better than charging to 80%, so I wouldn't recommend charging that much unless you really need to.  Personally, I charge to 50-60%, unless I think I'll need more charge before I'm around a power source.

As per Battery University. Battery level between 40 to 90 is recommended. Don't charge fully till 100%. Charge it till 90% and remove the plug. Then you will have long battery life.

Proper answers should give a reference for the information... and Battery University has a variety of answers on this topic depending on where you look... but it is an excellent reference. http://batteryuniversity.com/learn/article/how_to_charge_when_to_charge_table is a great page. Although the 40 to 90 percent will allow for longest battery life, most batteries have a full charge cycle life of 300-500 full cycles (100%-0%-100%) but if you stay within the 50% window it will be around 1200-1500 charge cycles http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries.

I think this answer is close, but not completely accurate.  Charging it to 60% is much better than charging it to 90%, according to the Android AccuBattery app.

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


text:
How can I set a custom screen resolution for my Android TV box?
I am trying to use a new-ish Android TV box with an old projector. The devices in question are an M8 Android media player and an Optoma EP719 projector.
https://www.amazon.ca/gp/product/B00KNL4GLK
http://www.projectorcentral.com/Optoma-EP719.htm
The media player is connected to the projector through an HDMI to DVI adapter. The media player is rooted and I have adb access to it over the network. It is running Android 4.4.
The problem I am having is this:

Part of the image is repeated on the right side. This does not appear in screenshots. I believe this is due to the 16:9 aspect ratio of the resolution. Technically this resolution should work, but in any case my preferred solution (and I hope the easier one) is to set the resolution to 1280x1024. I know this works with my raspberry pi already, though I have a similar distortion when trying to set it to 720p resolution.
The problem is, I can't seem to set the resolution to this value. I am able to select resolutions by going to Settings > Display, toggling HDMI auto-detect off, and picking from a list of HDMI resolutions but neither 1280x1024 nor any other resolutions commonly available for monitors but not televisions are listed. I can choose, e.g., 480p, 720p, and 1080i all of which should work with this projector, but all cause some manner of distortion (usually stretching one side of the screen way out instead of duplicating it).
I've tried to manually set the resolution with a few different apps and via the CLI with wm size as in the related question Change the screen resolution to 1024x768 on Samsung Galaxy S3. This causes the screen to become much smaller than it should be, occupying only a small portion of the screen (e.g. the top left quarter).
I've also tried setprop hw.hdmi.resolution 133 (with 133 being the code for the 1280x1024 resolution, I think) then disconnecting and reconnecting the adapter as suggested in the other related question How to change external screen resolution?. That didn't work either.
Is this possible and, if so, how can I do it? Getting the projector to handle 1280x720 resolution would also be acceptable but I am not sure whether that's a problem on the projector end or the device end.
EDIT: I tried flashing the media player with an OpenELEC image. The same issue occurred even with Kodi's resolution changer. For some reason, it insists on detecting the device as 16:9 even though it reports itself as 4:3.

I am having the same problem, have you found a solution?

Unfortunately no. I ended up just using the Raspberry Pi with the projector.

I had found a similar situation using a TVbox, a was trying to change the resolution to full HD (1920x1080), the solution was:

Activate the Android as developer mode on TVBOX, via USB to USB cable execute the following command via command prompt:
adb shell wm size 1920x1080 #To change resolution into FullHD

or
adb shell wm size 1280x720 #To change resolution into HD

Reboot the device (adb reboot)

Is it also possible to force a specific refresh rate and colour depth (like 10 bit, for HDR) as well?

Instead of changing the resolution change the dpi density of the screen.
use this command to change the dpi
adb shell wm density 240

the lesser dpi the the screen image become tiny and result an image appear similar ultra hi res-monitor


text:
Download Mode in Galaxy Grand Prime
Ok so I rooted my phone useing King root downloaded twrp, busy box pro. Anyway I went to reboot in bootloader and i got a downloading screen. How long should this take. Anyway I'm a noob to rooted phones so not positive what I did. I can send a pic of the screen if needed.

Please do post that pic, as well as your exact model number and Android version. That particular Samsung model AFAIK doesn't actually have any use for the bootloader for flashing partition images from a PC. Try keeping the power button pressed until your phone reboots to Android normally. The Downloading thing is the Samsung Download Mode for flashing firmware from a PC using ODIN,  it doesn't download anything from the internet.

That Downloading screen you got is representative of having entered Samsung's special Download Mode for flashing device firmware from a PC over ODIN. Over there, Downloading means downloading from the PC, not from the internet. In case you want to get back to normal Android, keep holding down the Power button until the device reboots. For flashing TWRP, you can try using this app called Flashify. For using it, refer to my other answer here.


text:
Why does my OnePlus One draw 60% more current if I turn off the screen AFTER plugging it in?
It's pretty simple:

If I turn off the phone's screen and then connect the wall charger, the power supply draws ~6W from the wall, and this doesn't change if I keep waiting.
If I connect the wall charger and then turn off the phone's screen, the power supply draws ~10W, and I hear a very slightly audible high-pitched noise from the power supply the moment I turn off the screen.
If I turn on the screen again, it goes back down to ~6W, but once it turns off it goes up again.

I have two questions:

What is causing this?
If it is intentional and not a bug, then what is the rationale for the cause? Is this well-known?

The ROM is CM11S 05Q.
(Yes, the charger & cable are the OEM's, and yes, I've actually measured the current.)

Yes 10 W is normal. In case 2, does the power supply in watts not reduce after turning the screen off . Please wait and observe.

@beeshyams: Well it's charged now, so it'll be a while before I can retry -- but I'm pretty sure when I charged it I didn't see it reduce until sometime after 90% (where I presume it had switched charging modes).

@beeshyams: I just tried it for 20 mins (~40% to ~70%); nothing went down on either end. The OPO Charging app reported 1800 mA average while the screen was off, and around 900 mA while it was on.

My bad. Interpreted it as screen being on in one case. As of now can't figure this. Will post if I can think through this

Can't think of any reason for this . Shot in the dark - try changing the power supply source. That noise makes it suspect but I can't see how that should affect on/ off power variation


text:
Change wallpaper via ADB/terminal
Is there any terminal (ADB) command for Android to change the launcher wallpaper?

If you mean your wallpaper, that will depend on the launcher app and Android version. You would need to know the specific Activity and method in the launcher app which deals with changing the wallpaper, and trigger it via the Activity Manager (am) command.

yeah actually I mean wallpaper . my launcher is lenovo launcher & my android version is 4.4.2

I think the wallpaper is managed by the SystemUI's com.android.systemui.ImageWallpaper service. Try setting an image by using Activity Manager (am startservice) as @Tamoghna said with -d argument specifying the picture's path. I'm not sure what Intent Action to use (in -a argument).

One option (requires root access) is to replace the wallpaper file with your image but keeping the same name in the directory /data/system/users/0/ and making appropriate changes in wallpaper.xml file. You would also need to restart (soft/full) the device.

I know this thread is old and dead, but it came up when I was searching the same topic. So I'm posting a response anyway for posterity.
This works for me on Android 5.1
am start -d file:////data/local/tmp/black_white.png -a android.service.wallpaper.CROP_AND_SET_WALLPAPER -f 0x1 com.android.launcher3/.WallpaperCropActivity

file=/Users/Mantis/Desktop/yoshi.jpg
dest=/sdcard/Download/"${file##*/}"
adb push "$file" "$dest"
adb shell am start \
    -a android.intent.action.ATTACH_DATA \
    -c android.intent.category.DEFAULT \
    -d file://"$dest" \
    -t 'image/*' \
    -e mimeType 'image/*'

This was the method I used, file= declares the variable for bash, use the file path of the image you want from your computer here.
dest= declares the destination variable, or the location you want it on your device, I just did the sdcard > downloads.
Then the commands to initiate the push and update the wallpaper. Some devices may ask what you want to use to complete this action, "Wallpaper" should show up, at least it did for my devices and then you click on that to complete the task. My assumption is on certain devices it will default that action depending on your devices apps.


text:
Why Google Play services upload nonstop 1MB/s everytime the device is connected to wi-fi?
Device: Nexus 5, Android Version 6.0.1
Every time the phone is connected to my home wi-fi after a couple of minutes the phone uses my whole bandwidth to upload something to varying Google (1e100.net) Servers. I checked the Network Monitoring app and it tell me that the bandwidth is used by Google Play Services.
The Uploading has been going on for three days nonstop and the only way to stop it temporarily is to disable and re enable the wi-fi connection.
What is causing this, and how do I stop it?

Can you use netstat to filter which processes are behind the uploads?

I used netstat but I have no idea what to look for. I used an app wich groups the (upload) traffic by service and it told me that the google play services were doing it.

Install Opera Max, it will tell you how much data each app uses and how much of it is by WiFi and how much background data.

From OP's (now deleted) comment,

I disabled Photo Backup after a lot of debugging and it solved the issue. The Backup feature seems to be broken (it does not seem to be able to calculate the status and just uploads forever)

I think you are infected  with a malware that spy on your phone and upload to a comand and control server almost everything from your phone like: pictures, sms, whatsapp conversatin, facebook converstion, viber conversation etc, and to not affect your mobile data plan it starts the comunication with the server whenever you are connected to a wifi network...
Im not a pro on android but I've done it before and I already know what happens behind, how it works and how it affects your phone.
Do a backup but dont backup apps and after it try a factory reset.
Install the list of apps u had from Play store again
(Its better to backup only pictures/videos and contacts and nothing more)
I hope it helps u.

That was my first thought, that's why I added the wiretrace and found out all the traffic goes to google servers. Is there malware that uses the Google Servers as some kind of proxy?

Of course there are examples .. For example like this project .. https://github.com/byt3bl33d3r/gcat it uses gmail as c&c server

No way for a non-app malware to issue commands to Play Services if your phone isn"t rooted. I'd say it's more likely that Photos is bugged.

This could be your router or something with the servers that Google Play uses. You could try upgrading your router or restarting it. It could also be caused by a certain type of malware. It could also be something going on with your internet provider.

This is way too open ended for an answer. It is best if you provide tools or instructions to narrow down the possibilities and reach a solid conclusion.


text:
Google contacts
I'm using an android phone (Samsung core prime) and all of my contacts numbers saved in 'google contacts'. There are no contacts in my 'phone storage' or 'sim card'. Now, my question is, if I reset my phone, what will happen with my contacts? Will it delete from google contacts or no? Please answer me

Please try searching for your problem on this site or others, e.g. Google, before asking a new question. As it happens, we specifically have a number of questions with this. Finding them is left as an exercise for the reader.

TL;DR
If you sign in to the device after the reset with the Google account which had been used for the backup (the primary Google account usually), the contacts which had been backed up will get restored.
Longer version with source:
I'll keep this short and to the point, as most of it has already been discussed here in @RyanConrad's answer, a relevant part of which I shall reproduce here:
(emphasis mine)

Doing a factory reset WILL NOT modify the sdcard in any way. Only the data on the phone will be deleted. Contacts that are set up to sync with your Google account will restore, but everything else will be gone.


text:
Setting the Alarm Clock's Bluetooth volume
I have LG G3 with CyanogenMod 13 (Android 6.0) and a Bluetooth speaker.
In the phone settings I have chosen maximum alarm volume. When the alarm rings through the phone's internal loudspeaker the volume is maximum (which I can get from the phone's loudspeaker).
When the alarm clock rings and my phone is connected to the Bluetooth speakers the volume of the Bluetooth speakers is not at its maximum (in fact the volume of the Bluetooth speakers is at the level it was left when listening to music).
Is this a common issue on Android 6.0 (are other users having this issue as well or am I the "only one")?

You need to adjust the volume of the alarm once you connect your BT speakers. In Android, the volume of audio is determined by two mostly orthogonal things: the first is the type of the audio (it's called stream type), so you have separate volume settings for media, ringtones, alarms, etc; the second is the kind of the output device: built-in speaker, headphones, BT headset, USB, etc.
You might have noticed that media volume for the phone speaker and headphones is controlled separately. The same thing is for BT sound output.


text:
Nexus 9, no recovery, no USB debugging, OEM locked in Settings
I've got a pretty complex problem.
At the moment:

Nexus 9 WiFi Tablet, USB Debugging not enabled
Normal Startup: Android laying on the floor
Startup with Power+Volume Down:

Fastboot Bootloader LOCKED
Recovery doesn't start
Factory Reset crashes as well

fastboot oem unlock → permission denied

Question
I want to know whether I can completely reset/wipe my device through fastboot or whatever I can use to do it.
I am not able to fastboot boot boot.img or something similar because USB Debugging and OEM unlocking aren't enabled and I can't start the device to do so.
The device has no microSD card slot.
EDIT:
When I choose HBOOT → RECOVERY I get the Android laying on the floor with a red triangle.
It is the device of a colleague of mine. He restarted the tablet and it happened. Don't have more information.
[SOLUTION]:
I could find a solution for my problem.
adb.exe sideload volantis-ota....zip
With the help of an OTA-Image, I could reset and recover the tablet.

I also have a Nexus 9, what's your Android version? And forgive me for asking, but how did you manage to get it into this sorry state? Please [edit] these pieces of info into the question.

What do you mean Recovery doesn't start? What happens when you choose Recovery mode from bootloader?

When I choose "HBOOT" -->"RECOVERY" I get the Android laying on the floor with a red triangle.

Try pressing 'Power' and 'Volume Up' for a few seconds, that should allow recovery to start.

http://forum.xda-developers.com/showpost.php?p=60713211&postcount=17


text:
CWM recovery Nandroid Backup
Is there any way to create a Nandroid backup inside CWM recovery, by using the /cache/recovery/extendedcommand file?
(This file supports all the commands a normal updater-script file supports inside a flashable zip).

Edit:
I know it's easier to do this with use of TWRP. However, I am developing an app that takes backups automatically. I want it to support both CWM and TWRP if possible.

Isn't there any TWRP image available for the device? It is easy to use OpenRecoveryScript with TWRP.

@Firelord Yes, I know that it's possible to use TWRP. However, I am developing an Android app that should do all of this automatically, and also would like to support CWM.


text:
How to emulate camera input in Android? (To activate Whatsapp Web)
I have an Android device without a camera and I run Whatsapp on that device.
I want to activate Whatsapp Web from this device. Unfortunately, the only way to do this is to scan a QR-code, and I can't do that as I have no camera.
So, if I just could emulate camera input, that means use an image or video file of the QR code and have that be taken by the OS as camera input, then I would solve the problem.
This is doable on Windows. I'm sure it should be doable on a rooted Android device as well, especially if we can use Xposed Framework.
But the question is, does anybody know how to?

I think those answers on Use image file as camera will help you. I don't know if it works for video, too, but to activate WhatsApp Web a static image should be enough.

That's a nice idea, but unfortunately, Whatsapp doesn't use the "Complete action with" dialogue. It has its own built in camera in the app itself, so a third party app won't work. It has to be some sort of tweak, Xposed module or something that takes control of all camera input systemwide.

Connect a webcam to your Android phone, and use an app like this one: https://play.google.com/store/apps/details?id=com.vaultmicro.camerafi&hl=en


text:
Turning off screen activating the bluetooth
Turning off / Locking the screen is activating the Bluetooth on my device.
I don't know why my device is doing this as I am unable to find any settings in Developer settings (enabling the Developer mode is the last thing I did).
Device: Honor 3C (rooted)
OS: 5.1.1
ROM: CyanogenMod 12.1

Are you using FireChat? Related: https://productforums.google.com/forum/#!topic/nexus/5fjCTE4zjd4

FireChat seems to be the culprit.
Changing it's permission via Settings > Privacy (removing 'Bluetooth Change allowed' solved the issue.
Thank you @Firelord for pointing out at the right thread.


text:
How to create folders in android 6.0 app drawer on an LG phone?
I cannot find how to  create folders in my new android 6 device's app drawer (the screen that comes after I press this button to show all the apps). Is this option disabled?
In android 4 if I remember correctly I had to press and hold an application icon and the 'create folder' option would appear.
How do I create folders in android 6.0?

Which launcher app are you using?

I don't think I am using any launcher app. I just press the button in this picture http://www.beginandroid.com/images/appdraw140.jpg

Your screenshot shows your device's launcher :) There's always one pre-installed. So in your case it would help to know what device you're using in order to tell what launcher it is.

It is a screenshot from a website! not from my device! Can you tell me how I can find what launcher I have ? My phone is an LG G4 and I suppose I have whatever it had for default

Well I think I found the answer to my own question.
You can create folders if you are in default android 6.0 app drawer this way:
press and hold the right hardware button (the square one) while being in the app drawer screen, then select 'edit/uninstall apps' and drag an app onto another one. This creates a folder with these 2 apps inside it!

To create folders in the app drawer android 6.0.1 you open the app drawer and at the top right tap EDIT then drag and drop apps on top of each other. That's it.
My device is the Samsung On5 (MetroPCS)

On your Apps menu drag the app upwards, an option will appear on the left to create folder. Name the folder and it will appear on your home screen. You can also put files into folders too.

What phone does this answer relate to?

If you drag the apps towards each other, you can get series of options in which you can find create folder option.


text:
Where does the top-level structure come from?
Most Android devices that I am aware of programmed to mount the system partition at /system. All partitions get mounted at folders underneath /. Looking at my device's /proc/mounts shows that rootfs, some kind of special filesystem is mounted at /, unlike on desktop versions of Linux that mount something like /dev/sda1 at /. Besides folders, there are also important files like init directly under /. Where do these files and folders come from?

Those files and folder structure are created by using the content of the ramdisk contained in the boot.img. That's why any modifications you perform on a file located at / gets rolled back on reboot.

@DeathMaskSalesman while being short, that's basically the answer to this question. Enhance it a little (what is a boot image etc), and it should be pretty fine :) Pointer to link to: Can somebody explain the boot process of an Android device?

@Izzy I'm sorry, honorable colleague, but I guess that the privilege of publishing the answer will be yours. While being happy that my answer might address the question, I have no time to invest in mining the necessary info about ramdisks and boot.img content, since I've been notified that I've to review some critiques I made. Might you take the pleasure of answering in my stead?

Near duplicate: https://android.stackexchange.com/q/130348/218526

Doing this answer on behalf of Death Mask Salesman who currently lacks the time:
To get a general idea of how the boot process on Android works, please take a look at Can somebody explain the boot process of an Android device? Don't get confused of the term "Dalvik" there: for Android 5+ simply replace it by "ART", the process is the same.
Step 3 is explained there as [The] Linux kernel [takes control], which will, together with the init process, initialize the base system, e.g. caches, file systems, etc. This is where file systems are set up. Details on those can be found e.g. in Android Folder Hierarchy: Basically, there are multiple partitions on the device where e.g. the OS components are stored (/system), the user data go to (/data) then the SD cards, etc; then there are "virtual file systems" like /proc and /dev.
The root file system (/) is something special, and comes from a so called "initial RAM disk" (Initrd), which is loaded from a file (a so called Boot image). Hence on each boot, the root file system is "generated" freshly from that file – replacing all changes you've made to it prior that boot. There are several boot scripts executed to perform this job (usually it's the init.rc you see in the root folder – but depending on the device, it could be other/additional scripts), e.g. creating additional "directories and mounts".
Additional details can be found behind the following links:

Android Booting
init/readme.txt
Android's Init (PDF)


text:
Microphone volume randomly reduced
I have a Lenovo A6000 phone, Android 4.4.4 is installed. I have Dolby off and I don't use any app to control volumes (not even skype, viber or facebook messenger), also, the phone is NOT rooted.
Sometimes the microphone's recording volume becomes so low, others can hardly hear me talking. It happens randomly and If I restart the phone, the volume becomes correct again.
I can always test If It is correct or not, because I have a similar sound recording software preinstalled on my device like this:

And I can use the sound sensitivity meter to see if it is high enough, sometimes it becomes so low that I cannot get it higher than 10% when I am talking normally.
I guess It is not a hardware issue, because a restart solves it instantly. Is there any app that can interfere with the microphone volume?
Edit.: Some people say that If I update to Lolipop it solves the issue, but I don't have any software updates available.


text:
OPO stuck in "Erasing..." while unlocking bootloader
I've been following this guide about rooting my OnePlus One. All seemed fine - adb was good, fastboot as well - and I reached point 6.1. Typed in fastboot oem unlock and got this output:
...
OKAY [  0.023s]
finished. total time: 0.025s

Then my phone went into the "Erasing..." screen (where the android dangles his antennas) and has been stuck there for the past 50 minutes. I'm honestly unsure about what to do? Has anyone experienced something similar?

Boot into recovery mode and do factory reset if  data wipe didn't complete.

Just reboot the device; at this point there's no harm that can be done since the data was being wiped anyways.

Just wanted to say that after a while, that's what I did and the phone booted without any issue with data properly erased.

Few observations to this problem a) it could be caused by full disk encryption b) fastboot oem unlock is not supposed to automatically restart, it should wait for your fastboot restart c) both fastboot wipe and manual wipe may get stuck. I would recommend you to hard reset phone after waiting for 20 minutes and manually wipe from recovery. Repeat until you boot to clean system. Worked for me.

I entered fastboot restart, and get the message: < waiting for any device >. I held in the power button for 10 seconds, and a menu with 4 options appeared. I chose the first option, and my old Cyanogenmod rebooted.


text:
Mobile Data icon and WiFi icon are showing exclamation mark even though internet is connected
I'm having OnePlus 2 with latest OxygenOS 3.0 Beta. I live in UAE. Recently I started getting exclamation mark with connection icon, whether using mobile data or Wi-Fi. I suspected of issue with beta version. But when I went outside the country, I didn't face the same issue. When I came back I started getting the same issue again. This leads me to suspect it's a carrier related issue, not an issue with beta OS.
I tried resolution mentioned in below post already. They are not helpful.
Exclamation Point Icon on the Cellular Data Icon + Impaired Data Connectivity - Nexus 5 on Android 5.11
Apparently my OnePlus 2 is not detecting internet connectivity, but allowing me to browse sites and use every services, which require internet connectivity. Could it be that OxygenOS using ping method to any particular server, which is somehow blocked by service provider? If that's the case is it possible to change this?


text:
How can I prevent the earphones from muting the speaker?
The FM radio in my phone uses the earphone cable as the antenna. It plays the music just fine if I plug the jack in about 2/3 the way (and only hisses without it). But if I push the jack all the way in, the phone starts outputting all the audio to the earphones and mutes the speaker. The range between "antenna OK" and "Earphones active" is about 2-3mm, and the jack is sitting completely loose, so I can't even move the phone or either the jack goes loose or the phones activate and mute the speaker.
There are posts how to do it programatically: 1 2 - but I'm not too fond of writing my own app to do this. Is there an app to do this maybe?
The phone is Xiaomi Redmi Note 2, running Android 5.0.2 if that helps.
[actually, I don't really care if the earphones are still active; I just need the speaker to work]

SoundAbout app can redirect the output. Have you tried it?

I found the HF Button Widget to be the most comfortable way to toggle the speaker while the earphones are plugged in.


text:
Custom notifications for contacts
I'm looking to create a group of users on my phone that would have custom notification relative to my volume setting on my phone. This group of user's text message should cause my phone to vibrate when my phone is muted, vibrate when my phone is on vibrate, and ring when my phone volume is on.

I have a somewhat similar macro running on my device (on KitKat) , tweaked it a bit and posted solution.

Your Android device and version?

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 required settings,  my answer here
Your macros would look like this

Important SMS (name of macro )

Trigger: SMS Received → SMS from (select contacts) →SMS content (any)
Actions:

Vibrate →  Select vibration option

Long press on above action  and select Add Constraints → Ringer Volume → Vibrate or Silent

. Ringtone Configure →  Select Ringtone option

Long press on above action  and select Add Constraints → Ringer Volume → Volume on

Constraints: None
Note: Action 2 not tested, since I need incoming text for that and don't have a device for that


text:
Google Now reminders will not store the hour
I can reproduce this issue consistently each time.
Using Google Now to store a reminder (either via voice input or by keyboard) will correctly store the title and the date, but not the hour.
If I use the voice input, it recognizes the hour set properly and even displays it to me. After that, it asks if I want to save the reminder, I say 'yes' and it seems to be stored properly.
But when I go check it, it has lost the hour and it is set for the entire day.
Is this a known issue? Is there a fix? Can other reproduce this?
Motorola Moto g 3rd gen, Android version 6.0. If I'm correct, the Google Now version is 5.12.35.21.arm.


text:
Bluetooth switches on every time the phone locks
Since some time ago, every time I lock my phone screen or it gets locked due to not being used, Bluetooth automatically switches on.
Why could it be?
Android 4.4 on a Samsung Grand Neo Plus

Are you using FireChat? Related: https://productforums.google.com/forum/#!topic/nexus/5fjCTE4zjd4

Or is it an issue specific to Samsung devices running Kitkat? Bluetooth keeps getting turned on

Per the info from Javier Sarten Carranza, a new update to FireChat app is the cause of the issue. The update seems to have introduced the permission to access (and manipulate) Bluetooth settings (android.permission.BLUETOOTH_ADMIN) and since that permission is considered normal it stands to reason why Android wouldn't have sought user's discretion when granting the permission.
Same problem: Turning off screen activating the bluetooth


text:
somehow newly saved contacts get disappeared
I'm using MOTO-G Turbo edition. Somehow my newly saved contacts get disappeared. Sometimes it saves and works fine but sometimes it saves and did not show me in my contacts list.
Can anyone please suggest me what should I do in this case? Thanks in advance!

Have you checked with the other ~40 questions asking the same – especially those ~20 having answers? Did they help you? Especially see: Contacts are mysteriously disappearing from Moto G (1st gen)

I have the same issue with my Moto G (3rd gen) with just one google account.
When new contact adding it will disappear. I resolved my problem by the following solution. The solution was to disable google contact sync. I fixed my problem. But I not sure what is exact cause for this issue. This is a workaround solution.
I hope this is a help if someone doesn't want to sync contact with google.


text:
Allow USB debugging popup does not come in my new PC
I am using a Nexus 10 Tablet( Android 4.4.4) . I have 3 PCs where I was already doing android development and one new PC on which I started today. All are windows 7 64-bit Service Pack1. The only difference is that of the 3 older PCs, one is DELL and two HP whereas the newer PC is lenovo ThinkCentre
On the PC which I got today, I am using the same android-sdk, same google_usb_driver(version 11.0.0) and the same platform tools(for adb--adb version 1.0.32), however in my newer PC, I am not able to go into adb shell. The difference I see is that in my newer PC , I do not get the popup asking "Allow USB debugging" and when I do "adb devices", it shows the device as unauthorized. Also when I do "adb shell", it gives the error message "This adb server's $ADB_VENDOR_KEYS is not set".
I went through various forums and tried the following: 1) Turning OFF and ON usb debugging and trying. 2) Doing "Revoke USB debugging authorizations". 3) Restarting my PC. 4) Deleting the C:\Users\UserName.android folder
However none of these worked. Also as I mentioned, it works absolutely fine on all the other PCs with the same device. This would indicate that something is missing/wrong in my newer PC. One thing I was wondering is that when the dialog to "Allow USB debugging" comes up, it mentions that "The computers RSA key fingerprint is:xyz". Could it be that my new PC does not have some openssl or something like that which is causing some issue? Also in my older PC, the .android folder has "adbkey" file, which is not present in the .android folder for the newer PC, could this in anyway lead to the problems or is it just a symptom of the problem and not the cause?
Also please note that in the newer PC, I can connect devices with android version below 4.2 (that is the devices with do not require authorization). Therefore as I said earlier, I think the root cause for the problem is that in my newer PC, I do not get the popup asking for authorization

I had the same problem. Try to use different drivers (even if the same drivers work on another PC), this solved my problem somehow.

I also got the same issue in my lenovo mobile. But when i deleted the .android folder in the home directory, my problem is solved.
For me the issue is the adb don't have enough permission to read the rsa key to communicate with the device. When we run adb server it'll create a folder named .android(Linux - /home/--username--/.android, Windows - C:/Users/--username--/.android) in the home directory of the current user which contains the private and public rsa keys used to communicate between the devices.
When I check the .android folder, it is assigned with root permission(I am using Ubuntu 16.04 and I don't know how its assigned). So when I try to run adb start-server it is trying to create .android folder. But the current folder with root access is not allowing this to create the adb keys. That's why its failed.
So I deleted the folder using below command. Use a particular method to delete the folder based on your operating system. Below I mentioned for linux.

sudo rm -rf .android

Then restarted the adb server using below command.

adb start-server

Now It created the .android folder and the rsa keys with the current user permission. Once done this I got the Allow USB debugging dialog in my mobile.
I know its too late. But I'm mentioning here because it'll help someone in the future.


text:
NullPointerException when opening Language & Input settings
I have a rooted Lenovo P770, where I uninstalled several "system" apps, including the stock keyboard, TouchPal. After a factory reset I installed AnySoftKeyboard with adb (adb shell ime...), and now it works. However, I can no longer access Language & Input settings as I'm getting an "Unfortunately, Settings has stopped" message the moment I tap on the menu item. Here is the stacktrace from adb logcat:
W/dalvikvm( 8972): threadid=1: thread exiting with uncaught exception (group=0x40db2908)
E/AndroidRuntime( 8972): FATAL EXCEPTION: main
E/AndroidRuntime( 8972): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.NullPointerException
E/AndroidRuntime( 8972):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
E/AndroidRuntime( 8972):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2211)
E/AndroidRuntime( 8972):        at android.app.ActivityThread.access$600(ActivityThread.java:149)
E/AndroidRuntime( 8972):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300)
E/AndroidRuntime( 8972):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 8972):        at android.os.Looper.loop(Looper.java:153)
E/AndroidRuntime( 8972):        at android.app.ActivityThread.main(ActivityThread.java:5108)
E/AndroidRuntime( 8972):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 8972):        at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 8972):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
E/AndroidRuntime( 8972):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
E/AndroidRuntime( 8972):        at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 8972): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 8972):        at android.preference.PreferenceGroup.removePreferenceInt(PreferenceGroup.java:181)
E/AndroidRuntime( 8972):        at android.preference.PreferenceGroup.removePreference(PreferenceGroup.java:174)
E/AndroidRuntime( 8972):        at com.android.settings.VoiceInputOutputSettings.populateOrRemoveTtsPrefs(VoiceInputOutputSettings.java:144)
E/AndroidRuntime( 8972):        at com.android.settings.VoiceInputOutputSettings.populateOrRemovePreferences(VoiceInputOutputSettings.java:94)
E/AndroidRuntime( 8972):        at com.android.settings.VoiceInputOutputSettings.onCreate(VoiceInputOutputSettings.java:89)
E/AndroidRuntime( 8972):        at com.android.settings.inputmethod.InputMethodAndLanguageSettings.onCreate(InputMethodAndLanguageSettings.java:121)
E/AndroidRuntime( 8972):        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:796)
E/AndroidRuntime( 8972):        at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
E/AndroidRuntime( 8972):        at android.app.BackStackRecord.run(BackStackRecord.java:635)
E/AndroidRuntime( 8972):        at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
E/AndroidRuntime( 8972):        at android.app.Activity.performStart(Activity.java:5030)
E/AndroidRuntime( 8972):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)
E/AndroidRuntime( 8972):        ... 11 more
W/ActivityManager(  351):   Force finishing activity com.android.settings/.SubSettings
W/ActivityManager(  351):   Force finishing activity com.android.settings/.Settings

Since the stacktrace mentions VoiceInputOutputSettings, I tried installing the Google app (as far as I understand, it provides voice recognition capabilities), but that changed nothing. I have also tried installing TouchPal from the market, to no effect either.
Here are the entries from settings.db that seem relevant:
_id,name,value
72,selected_spell_checker,com.google.android.inputmethod.latin/com.android.inputmethod.latin.spellcheck.AndroidSpellCheckerService
73,selected_spell_checker_subtype,0
94,input_methods_subtype_history,com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME;834845621:com.menny.android.anysoftkeyboard/.SoftKeyboard;-1
95,selected_input_method_subtype,-1
96,default_input_method,com.menny.android.anysoftkeyboard/.SoftKeyboard
97,enabled_input_methods,com.menny.android.anysoftkeyboard/.SoftKeyboard

How can I fix this crash?

Reflashing the stock ROM would probably work. Then just refrain from uninstalling system apps that the system needs to work.

@DanHulme I believe this problem can be solved without full reflashing. TouchPal is definitely not a kind of app that is required for Android to work.

It might be. A part of the Language & Input Settings, the "Language" part, might be hosted by the installed and enabled keyboard app for some cases, and there might be other cross-links from there to the system default keyboard app. If you could grab an APK of TouchPal and push it to /system/app and possibly /system/priv-app, depending on where it had been installed previously, that might fix it, given a reboot and possibly another factory reset. From the next time onwards, know that you can safely get rid of the useless games and some Play apps, but leave the keyboard app alone.

I grabbed the latest version of TouchPal from Play Store and "converted it to a system app" using Titanium. I suppose that's equal to moving the APK to /system/app. That changed nothing.

Fixed by installing Google TTS.

This could be determined from the stacktrace and the settings app source code:
public void onCreate() {
    mParent = mFragment.getPreferenceScreen();
    mVoiceCategory = (PreferenceCategory) mParent.findPreference(KEY_VOICE_CATEGORY);
    mTtsSettingsPref = mVoiceCategory.findPreference(KEY_TTS_SETTINGS);

    populateOrRemovePreferences();
}

private void populateOrRemovePreferences() {
    boolean hasTtsPrefs = populateOrRemoveTtsPrefs();
    if (!hasTtsPrefs) {
        // There were no TTS settings and no recognizer settings,
        // so it should be safe to hide the preference category
        // entirely.
        mFragment.getPreferenceScreen().removePreference(mVoiceCategory);
    }
}

private boolean populateOrRemoveTtsPrefs() {
    if (mTtsEngines.getEngines().isEmpty()) {
        mVoiceCategory.removePreference(mTtsSettingsPref);
        return false;
    }

    return true;
}

The removePreference call was crashing. Apparently, I had also uninstalled Google TTS, which was bundled with this version of Android.


text:
Tracking Android phone usage
My wife thinks I spend too much time on my smartphone, but I believe she spends more time than me on hers.
Is there a way to monitor and provide statistics on our phone usage, so we can objectively compare our smartphone addiction?
I don't want something too intrusive (I don't want anyone, including me, to be able to spy on my wife) or something which would require root access.

I think that QualityTime meets your needs:

QualityTime (source: Google Play; click images for larger variants)

QualityTime is a fun, visually engaging and easy-to-use Android app that allows you to monitor and get real time reports on how much time you spend on your smartphone and on your favorite apps.

As you (Ben) wrote I don't want me or a software editor to spy on my wife: Please be aware that the app uses several analytics addons – a.o. Flurry, which may be quite intrusive (see: Flurry: An Affront to Privacy). It also wants to "edit your text messages (SMS or MMS)", "read your contacts" and "directly call phone numbers, send SMS messages" – which IMHO is not covered by the task it is intended for. So take care!

Thanks for your comment. I have the latest version of Android, so I can control the authorisations individually. I did not accept anything (except usage data access). I also did not login. That does not mean the app is not intrusive and sends the usage data to their servers though...

That and I blocked it with NetGuard :)

Good choice @Ben – I see I don't need to worry, you know how to nail it into its sandbox :)


text:
GPS not working reliably
I am facing the following problem:
There are times with cloudy or rainy weather, when I have the phone in my back pocket while sitting in a car. Nevertheless, the route I am driving is recorded.
There are other times when my phone directly lies under the windscreen with clear visibility and nevertheless I don't get any signal. At the same time, a navigation device lying directly beneath it works fine.
The same happens sometimes when I am walking through the nature. Instead of recording the whole track I walked, I have only parts of it, or sometimes even nothing.
If I notice this to happen if I am under the way, I see the GPS status app telling me that it has 3 or 4 satellites, and the AGPS age is usually 0 h.
Do I have issues with the software or rather with the hardware? I have a LG-D290n, if that matters in any way.

I had trouble with my gps on Samsung S6 ( using STRAVA) after an update. Times and routes were out of whack. I fixed the problem by turning off my Battery Power Saving in the settings under battery. This was causing problems with "ok google" as well. Now all is ok. Hope this fixes your problem.


text:
Using Google Voice Recognition offline
Question
How to force Google Voice Recognition working in offline mode even if an internet connection is available?
Background
I know Google Voice Recognition has an offline mode1, using "speech recognition packs" one can download.2 I'm also aware that this offline-mode is limited, compared to what it can do via Internet. Still, being a little paranoid on Google's data collection I rather avoid using its online facilities – and so I currently don't use Google Voice Search at all.
I'd like to give it a try, though – but always switching to airplane mode for that is not practical. My devices are all rooted, and have the XPosed Framework installed. I know about the GoogleOfflineVoice module – but that hasn't been updated since 9/2014 and is reported to be non-operational with the current Google Search app (plus it's unclear if the dev will pick up the work; I've just asked about that, answer was "Honestly no idea" (dev lacking time)).
Other benefits
It's reported that Google Voice Search is much faster in offline mode. So if one doesn't need the "extended capabilities" of its online mode, faster reaction will certainly be welcome – which makes this question interesting not only for "privacy fetishists", "conspiracy theorists" and "paranoid users" :)
Question (refined):
So I'm looking for alternatives: simple settings preferred, adb commands definitely accepted, root-solutions are fine. If it requires an app, that app itself should require none or only minimal permissions itself. I'm also open to speech-recognition suggestions not involving Google Voice Search as long as they work offline and don't invade privacy3.
Note:
I'm mainly interested in giving voice commands and maybe doing some dictation.
Related information

How to enable offline Speech To Text in Android
How to use speech-to-text offline?

1: see: How to use speech-to-text offline?
2: see Google Voice Search requiring internet access even when offline speech recognition pack is installed
3: Internet permission just to download voice-packs is OK, as I can block it as soon as the download is completed. Manual download (placing the files on the SD card) preferred :)

What I've found thus far indicates that any third-party apps ought to set the android.speech.extra.PREFER_OFFLINE extra to get this behavior.  I'm looking into how a user might control it.  Blocking the IP range does not seem to be feasible since it overlaps with other Google services like the Play Store.

Hmm, something is broken.  Voice Search was originally working for me offline (limited as you mention) but now it refuses to work at all, just saying "Can't reach Google at the moment."

@MatthewRead Maybe that's the reason GoogleOfflineVoice stopped working: Exactly the same error was reported on that. So it's not the module broken, but Voice Search. Yuck. // BTW: Thanks for the edit!

Raw idea of a work-around: 1) block the INTERNET permission of the Voice app (whichever that is). Probably won't work as it will utilize Google Play Services I'm afraid. 2) Using a firewall app to block the specific servers. That would require to know which servers that are. If that triggers something for one of you, a solution on that path would be nice to know as well :)

Looks like there is no solution for this (2 years later)

@distante or noone has tried. I could e.g. think of restricting network access for the responsible parts (permission manager, firewall). If it thinks there's no Internet connection available, that should force it using offline mode. As I already pointed out in my previous comment …

I don't really believe that Google Voice is designed to run offline. It is meant to learn and compile our preferences by recording what we say.

@Karlomanio while that might be the idea behind, it still works when no network is available – so it doesn't really need the connection. (apart from that, my device meanwhile runs completely without Google apps, so for me this question has only theoretical interest left to me).

I have been able to block the shady online service and force offline mode (for termux-speech-to-text) by identifying the user which (only) runs the offending googlequicksearchbox processes (from a root shell):
# /system/bin/ps -Awo uname,cmdline | grep -m1 -E " com\.google\.android\.googlequicksearchbox:search$" | cut -d" " -f1
u0_a41

(note: I specified Android's built-in ps path to avoid conflicts with other user-installed versions of ps which don't take the same parameters - ie. on Termux)
...and adding a firewall rule to block all outgoing traffic for this user's processes:
# iptables -A OUTPUT -m owner --uid-owner u0_a41 -j DROP

(this rule will go away after rebooting or running the same command with -D instead of -A)

Nice idea! One could use AFWall+ (or an init.d script) to persist that rule. Could you please include why exactly that user/app is the one to be blocked? Is there e.g. some documentation saying this app is providing the voice-recognition functionality?

I didn't find this in any documentation, but by analyzing the overall traffic with tcpdump -n while running termux-speech-to-text (which uses the same service) I saw lots of UDP packets going to a Google IP (which would change when blocked) at port 443 (If I blocked all UDP traffic going to a :443 it would fall back to TCP). Then, from netstat -tunp I found that the process opening the matching connection was always "com.google.android.googlequicksearchbox:search" (which in my case always belongs to the "u0_a41" user).

Thanks a lot! Though I no longer use GApps (my devices run Google-free for years already) and thus cannot test/verify it, it sounds fit – so I'll accept your answer \o_

I have examined this issue and found the following to be true:
Google's Android OS seems to be configured to send all voice recognition tasks to the "cloud", as there are no provisions in the OS to allow for hardware voice processing, even if your device supposidly supports this nonexistent feature.
In other words, Google has taylored their Android OS to send all voice commands to their "cloud".  This provides them with the ability to constantly update a user's voice profile with every command by processing audio data on their servers, giving them access to a great wealth of data for analytical and commercial uses.
Remember, personal data as well as "group" data is an assett to Google and its affilliates.  The "big data" industry, which includes the sale and processing of all types of personal data (digital photos, live video, video files, voice recordings, web search/visit history, online purchases, etc...) is projected to be a 500 billion dollar industry by 2025.
Google needs Android to capture audio and video data (and all other usable personal digital information) and send it to their servers for analysis. Their business model is heavily dependent on the analysis and sales of your personal data, without restriction.

Well, it's known that it works that way. Hence my question was not "why is it thus", but "how to avoid this". So thanks for your explanation, Justin – but it does not answer my question. Still useful information for some. // Btw: no longer for me, I've meanwhile totally ditched Google stuff on my phones – which now run without the GApps package, so I'd have to rephrase my question to "how to achieve offline vouce recognition (without Google, only using FOSS)".