text:
Nexus 5 stuck on black screen
Nexus 5 showing black screen
1.Can access fastboot mode
2.Cannot access recovery mode from fastboot : shows google logo and black screen (no inverted android)
3.When selecting Start from fastboot : only google logo appears and then black screen (not even the marshmallow boot animation)
Things Tried :
1.Phone was able to ring from android device manager. Tried erase from there. No response
2.Tried flashing the stock rom still no response.
What might be the issue ? Is the internal memory corrupted ?
UPDATE
The phone boots up able to hear screen shot sound but still black screen
UPDATE 2
The phone had hardware issue, the flex cable was damaged. Replaced the flex cable and phone is working again.

If your problem is solved now, please post an answer and then "accept" it as the correct answer. That way, your question will show up as "answered" for other visitors.

The phone had hardware issue, the flex cable was damaged. Replaced the flex cable and phone is working again.

Since Recovery won't start up, you can clear the cache by powering off your phone and holding down Power + Volume Down for 20-30 seconds.  Then you will be able to enter recovery once you restart where you should clear the Dalvik cache and cache again.  I had the same problem and this worked for me.

Go to menu >>setting's >>apps>>all
Tap on the top 3 doted line's and  tap on the "Reset app preference"

How is your solution related to OP's problem? How could he have done as you suggested on a black screen? In any case, OP clarified that this was a hardware issue and has been fixed by replacing flex cable


text:
How to move apps
How can I have LG e-612 running on jelly bean. Without apps it gives proper performance. When I'm trying to install apps from play store they get installed in internal memory. Phone is slow and sluggish. So I just want to move apps to external memory or micro sd card. LG customer care  say you can not move. So I checked many forums and tutorials but maximum are about rooting android none of them clears me. So how can I move apps to external memory or micro sd card?

They gave you the answer. You can't.

@SarpSTA speaking Einstein: that's relative. From the POV of LG Service, they don't want you to (or they had provided means). There are still ways to accomplish that, but they will most certainly require root. // DENTIST: I've just added the app2sd tag to your question. Please check with its tag-wiki for details.

Installing an app to your SD Card will use memory even on your phone so I think this doesn't help your situation really (At least that what I experienced) but give it a try without root , Their should be a button located on the app properties "Move to SD Card" . Like I say this will NOT move them from the system but its worth a shot I suppose .Every phone is different

We're talking LG here. Starting with Android 4.x, they've removed that button; if it were there, they hadn't said "you can't" – and OP certainly had found that button already ;)

these the simple  first select on app then mark all the apps and there options like move your app to sd card then click on it .am talking about LG e612

Sorry, could you use proper English? I'm having difficulty to understand this answer. Where do you select the app? How to mark all apps? Where's the option to move to SD?

source: Stack Exchange

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

sort: votes


text:
Factory reset doesn't delete everything
I tried to perform a factory reset on my phone to give it to a friend of mine. However, I realised that when I installed Whatsapp, I can still have my chats, my photos and songs aren't deleted as well. What is wrong with this?

It looks like your /sdcard partion is not getting wiped. You need to specify more information but I'm assuming you're using a Custom Rom or at least, a Custom recovery. A stock recovery will as far as I know wipe /sdcard too. Only a Custom ROM by default wouldn't do so. So there's nothing unordinary here. Boot into recovery (I can't tell how since you didn't mention your phone's model) and you can use the options there to wipe any partion you want.

Hello. my phone is a samsung s5, it has custom rom

Also note that for a really "safe clean", factory-reset won't be sufficient – you might wish to really wipe, to make it impossible to recover "old contents". Apps helping you with that can e.g. be found in my list here: Safe Data-Wipe

Maybe because there's cloud backup?
See, what will happen if after a factory-reset, a whatsapp messenger with different account is installed? What will happen to our conversations? (assuming there's no cloud backup)

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


text:
When are Android apps auto-updated?
In the Play Store, I have checked the box "Auto-update" for my application. However, although the app received a new version several hours ago, it is not being auto-updated on my phone.
What I'm wondering is how often are apps auto-updated (if at all)?
Edit: It's been one day and the app hasn't been auto-updated yet. I've tried letting the mobile charge to 100% overnight but it didn't help.

Usually they are updated when the phone is charging or with almost full battery and over wifi.

@NicolaBastianello Although I cannot discredit your information, can you please cite an official source? It is possible that you speak from experience, in which case, things are okay for me?

seems to be a duplicate but unanswered: What time does Google Play update apps when it is set to auto-update?

Yes sorry I didn't say it, I speak from experience with a Nexus 5. If I find any official source I will post an answer

Auto updates are not limited to WiFi-only by default. This setting must be selected in Google Play settings "Auto-update apps over Wi-Fi only"

@NicolaBastianello, I've tried your suggestion of charging the phone and giving wifi access but that didn't help unfortunately. I wish there was some documentation on when or under which conditions an app is going to be auto-updated.

There is some apps that needs approval first due to app permissions requirements changes so it needs manual update and accept new permissions in order to update

While this question is a few years old and I never really cared about when and how often my apps auto update (I assumed they did and I set it for all), developers like Microsoft (MS To Do, previously Wunderlist) have started the anti-pattern of nagging their users to manually get an update from the store, instead of checking if auto-update is enabled and ask themselves the question »why don't we roll out phased updates faster?«.

If a user has auto-update enabled in the Google Play store, apps will be updated according to:

Developer preference.  Developers can specify that only a certain amount of users receive an update to an app, and then, if the update is successful, roll out the update to more users (either all at once, or slowly).

Region.  Sometimes specific updates are only for certain regions, so only users in certain geographic regions will get updates.

Device compatibility.  Only devices with hardware compatible with the update will receive it.

Android version compatibility.  Only devices using an Android version compatible with the app update will receive the update.

Apps requiring more permissions should prompt the user to accept new permissions before auto-updating.  I have heard about cases where this did not happen as expected, but have never experienced this myself.

Check Sync is enabled in settings & background Data is not restricted
Then Check app update is given to your Region.
In Play Store, It is possible to distribute app by Region. For example, If A developer  given an Update to the US REGION, But you are staying in Some other countries(Even if you have downlaod US version) Play store will not update the app.

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


text:
How to be confident mobile data is off
I have a mobile package which includes a small amount of mobile data. If you exceed the limit, or use data abroad, the costs can be truly enormous. This has made me paranoid about how to ensure that mobile data is turned off.
My biggest fear is that I am abroad, but then want to check my email when without wifi. I manually turn on my mobile data, check my emails, but then forget to switch it off.
What is the surest way to avoid this scenario? I have seen all sorts of apps on the market that relate to this issue, but none of them do quite what I need. For example there are many apps you can open up and check your data usage... but of course if you don't know that you've left data on, then why would you even go and check? There are also apps where the icon on your screen shows the state as connected/not connected. But they tend to also act as a switch themselves, so it would be far too easy to accidentally switch data on just by touching the icon. What I would really like is some strong visual indicator of being connected, which isn't itself a toggle to switch data on.
Another alternative that I haven't seen yet is something which turns mobile data off when the phone sleeps (and doesn't turn it back on again).
I have a Samsung Galaxy II with Android 4.3. My phone is not rooted, and I don't want it to be (my banking app does not work on rooted phones).
SOLVED: I ended up using mattm's answer as well as using Firelord's suggestion of macrodroid. I used macrodroid to switch off mobile data every time the screen switches off.

My Galaxy S4 has a clear 4G or 3G indicator in the top status bar -- if neither shows, but I have signal bars, then my data is turned off .  Easy to check, and no touch needed.

Use an [tag:automation] app. You can make Tasker or MacroDroid enable the mobile data only when the email app is currently active on the screen. You can also make them to turn off mobile data during  a particular time or between some time period. To avoid accidental enabling of mobile data, you can make those apps notice whether the email app is active or not. If not, then disable the data automatically. Possibilities can be too many here and so as the solutions.

As suggested above, if you think through the essential scenarios and list them out, can suggest a way to automate, which can be improvised by you easily

The standard Android Settings->"Data Usage" allows you to set warnings and limits for mobile data usage. The screenshot is from Android 6, but I recall having something similar in Android 4.x.
This won't give you a visual indication of data usage on your home screen, but it will give you a warning (I don't remember what this looks like) and it will cut off your mobile data if you hit the limit.
The advanced settings also allow you to toggle whether data is enabled on roaming connections.

Yep, it can be done on Android 4.x as well.

Symbol looks like a circle with right hand side quarter cut off. There was a question on this recently asking what fits the symbol mean and answered by OP. Can't locate to link

@beeshyams I do not understand at all what you are saying.

@Mick. I was trying to explain what the symbol looks like when you have exceeded data limit


text:
How to use volume key to take picture in Samsung S3 (with android 4.2)
I've just been gave a Samsung S3, and it come with Android 4.2 (so I cant apply this guide) So I post this question, Please guide me how to take picture using volume key with Samsung S3 (Android 4.2)!?

Is the device rooted? You can use Xposed Additions then. If not, see if QuickClick helps. On a side note, how do you want to assign volume key to camera app? In a way that pressing it would awake the device and launch the camera app for you, then you could use it take snapshot as well? Or, in a way, the device is already awake (screen is active), camera app is already opened and you press the Volume key to take a snapshot?..

For the latter case, related:Camera app that can use hardware buttons for making photo

@Firelord cause if you can not take the picture with volume key, you can not use the selfie stick to take picture too.
Candy Camera or some other camera app can do this, but I dont want to install other camera apps, they have alot of ads and keep running so my phone slow down.

You could always download a new Camera app, like openCamera or Google Camera, that would include the volume as shutter function, if the camera app that came with the phone does not have it.

just visit this link, it's worked for me http://indahpurngrm.blogspot.com/2016/04/how-to-use-volume-key-to-take-picture.html?spref=tw
In summary: root your phone and install Xposed Framework and then the Xposed Additions module. From that module you can intercept the volume up key and make it take a screenshot.

a LOT of work for a "simple" request, haha!
Probably not for the average user.

I have the simplest way for you. Try this :

Open a camera app.
Tap a cogwheel icon to enter the setting menu.
Scroll down to find volume key option, then tap it.
Select the camera key option.
Go back to the camera screen .
Now your ready to use volume down to click a picture.

this wont work, because, you wont find  out "volume key option", there is no option like that.


text:
Screenshot on a Samsung Galaxy S6
I saw a couple places online saying you can hit the power button (on the side) and the home button (on the front, at the bottom) together on the S5, similar to the way you take a screenshot on an iPhone.  However, it doesn't seem to be working with the S6.  Can anyone explain the process for getting a screenshot on a Samsung Galaxy S6?

Are you pressing them simultaneously for 1-2 seconds? The official website mentioned the same procedure, but an another one too which uses a gesture. See http://www.samsung.com/us/support/answer/ANS00038721/746369734/

Have you tried standard android shortcut: power button + volume down?

@Firelord - OK, that worked.  Although it's still a bit tricky to get the timing down.  The iPhone was a little more lenient in terms of timing the button pushes.  I'll get used to it eventually, I'm sure.  Thanks!

Possible duplicate of How to take a screenshot with an Android device?

on Samsung s6 you can swap your palm over the screen to take a screenshot


text:
Parental lock: use parental lock app on my profile, or use restricted profile, or use full account with parental lock app?
I want to use a single tablet for myself and the kids: 1 adult, a 6-year-old, and a 3-year-old. But whichever path I choose, I seem to run into problems. This is the only really related topic I found on this entire site, and it's 2½ years old and doesn't help me.
I have googled a lot but couldn't find a good resource to address this, so I'll try to summarize my options below. TLDR: What's the "best practice" for child-proofing a shared family tablet?
--> Which of these options is "best"? (use your personal interpretation of "good")
option 1: use my own profile + parental lock app
The tablet runs with my Google Account. I use this with many of my own apps and I certainly don't want the kids to mess with any of my apps. I installed the excellent parental-lock app "Kids Place" as well as a scheduler plugin to limit the time per day it will run.
Pros:

I can set up both kids inside the lock app, no further Android user accounts necessary.
I only need to install each app once.
I only need to pay for each app once!
The parental-lock app linked above is really sensible! (In particular: daily time limit, app selection, lock down the system)

Cons:

App data (game progress!) is shared among both kids and myself.

option 2: use restricted profile for each child
Pros:

Simple; no parental-lock app required.
Separate app data (game progress) for each profile.

Cons:

Restricted profiles are not good enough! Too many settings and features remain exposed. The entire "Settings" remains available, as well as lots of system things like Google Now. No time limiting available!
I need to install each app in each profile.
I need to pay for each app in each profile! WTF??
I can't turn a restricted profile into a full profile later on (when they grow old enough); would have to delete the profile and reinstall desired apps (losing all data).

option 3: use full profile for each child + parental lock app
Pros:

The parental-lock app linked above is really sensible!
Separate app data (game progress).
I can remove the parental-lock app, and they'll have a full account. Easy.

Cons:

I need to set up each kid's settings in their respective profile. Twice the work!
I need to install each app in each profile. Twice the work!
I need to pay for each app in each profile! (again, WTF??)

Most glaringly, I don't want to pay for any app several times over especially when it's all on the same device. And while Google's built-in restrictions are a good first step, they're really not enough. As I said, I can't believe nobody has asked or blogged about this yet - it must be a common challenge for parents?
No, I don't want to purchase a separate tablet for each person in the household. Even if I'd want to spend the money, I'd still be faced with most of the drawbacks listed above (but then it would make some sense to buy the same app several times; once per device).
So far, I'm going with option 1 simply because it's the least trouble and the drawback is the least painful to deal with. But I'm not happy with it - call me a perfectionist :-)

Update 2016-05-27:
As noted, I chose option 1, and it has served me fine. The tablet is locked with a pin code, and the parental lock app is also locked with a pin code. This works very reliably, and is really easy to handle. The one contra argument I listed still seems to be the only one, and it's not a real problem.
Incidentally, as it turns out, the tablet in question gets used very rarely - good thing we got a cheap one!

Which Android app and device are you using? Now, while I've never owned a tablet or used a restricted profile earlier, why can't you backup your paid app(s) and restore only the app (not its data) into restricted profiles? Is it not possible? // Are these profiles different from secondary users? // Is the device rooted? You can use some backup apps to restore your stuff without doing everything manually.

@Firelord, I'm using a 10" Alps TU-1491running Android 5.0 which is not rooted (and probably can't be)  so the idea about backing up the apps and restoring them elsewhere won't fly. "Profiles" are Android's term for what you call "secondary users." I linked the app in the text above; it's "Kids Place".

Any follow-up on this, Torben? Curious as to what you ended up doing as I'm facing the same issue.

Hi @eflat - I attempted all the listed options but gave up quickly, as option #1 seems to work just fine.

+1 I am one of the parents  with that problem  and just want to say thanks for this helpful article!!

@Bastl you are most welcome!


text:
How much impact can an SD card have in battery life?
I have a samsung tablet and since I bought the sd card I notice imapact on the battery.
Unfortunatly I installed Android 5 by the same time (thatś why I bought the card), so its unclear if its the card or the OS change.
I have read that Android 5 has a poorer performance in terms of battery life, but I even givin that as a fact  I think the tablet is using too much energy.

How did you conclude that SD card is causing the battery drain? Give us the battery statistics (screenshots) from Settings -> Battery.

I dont know.  I am just asking if this can be a reason. The 2 things that changed since I started noticing this was the OS and the card.  The OS is a strong candidate, but I was wondering about the card also.

If 2 things have changed, then eliminate the change of 1 thing and watch your battery. So you can either uninstall Android 5 and return back to 4.x or remove the SD card. The latter would be easier I think.

@Alex.S thatś a good idea in theory. In practice I use my tablet daily for work and I was not able to do that yet. Specially because I have most of the apps I need for work there. It seemed a good idea to ask for facts.

In my case i saw a significant difference in battery life with and without an sd card, i tested it on my samusng tab 4 and battery life is better when the card is out as compared when its in.

It's always possible for the SD card driver to be terrible and to spin uselessly wasting battery, but far from typical.  Accessing the SD card shouldn't really use any more battery than accessing any other kind of storage.


text:
Create burnable image of Android?
I'm using a tool to flash an Android device with a .img file.  The tool is called USB Flash Burner.  What this tool does is you boot the Android device up while pressing a paperclip in the reset button.  Then you point the USB Burner Tool to an .img file and it writes over pretty much everything.  Here are the instructions.

If you want to use the Amlogic USB Burning tools to update, please download the firmware here:
http://pan.baidu.com/s/1mgl3R40
firmware update instruction for update via usb buring tool is here:
http://blog.geekbuying.com/index.php/2014/11/24/how-to-flash-stock-firmware-on-mk808b-plus-quad-core-tv-stick/
  please note, you should use the newest usb burning tool, download it here:
  http://www.mediafire.com/download/zo7b5cy0nzb7o91/Amlogic_USB_Burning_Tool_New_Version.rar
If you want to use SD card to do the update, please download the firmware here:
  http://pan.baidu.com/s/18OSRc
  password: 9qca

Now my questions is how do I make my own .img file that I can use with the USB Burner Tool?  Is the file that I burn using the USB Burner Tool a ROM?  Firmware?  And how do I go about creating the .img file needed?  I need to make my own because I have to make a version that I can flash for other people.  The devices of the other people are all exactly the same.
I already used TWRP to make a backup, and it give me boot.emmc.win, data.ext4.win, data.info, system.ext4.win, and system.info.  This works but I have to insert the sd card in and press a bunch of buttons to make the recovery work.  We deal with a lot of devices and with the USB Burner Tool it is faster and brings the device back if it is really bricked.
Thanks for any help!  Also if you have pointers to help that would be appreciated about where I can look.

What is it you want to install? What would you be making an image of? Your existing system? Another one? What makes you think it would be compatible with your device? What are "other p"? Other people? With different devices? Please [edit] your question and explain what you are trying to do more clearly.

@terdon I have a golden image on one device.  I'm looking to make a complete copy of the system (apps, os, settings, ...everything)  The other devices are exactly the same as the golden device.  We have a bunch of the exact same device we give to people.  Sometime though the devices get bricked and I wipe them and refresh them with an SD card solution.

OK, please [edit] your question to make that clear. All relevant information needs to be in the question itself. And yes, using dd  on the device file should work.


text:
How to enable AWS band on Galaxy s4 SGH-I337M?
Phone stats:
Make:                  Samsung Galaxy s4
Model #:               SGH-I337M
Android Version:       5.0.1
Baseband Version:      I337MVLUGOH1
Kernel Verion:         3.4.0-4508315
                       DPI@SWHD7402 #1
Old Carrier:          Telus  (unlocked by carrier)
New carrier:          Wind mobile
Problem:
After researching web/youtube, I had bought the S4 on the premise that I could add the AWS band on to the phone with relative ease after watching a youtube video tutorial. (I'm not extremely technical but I'm a DIY guy and thought I could take on the challenge)
After purchasing the phone, I started following the steps in the video and quickly realized that the OS on the tutorial was older than my newly purchased phone with a updated OS. First video I found, told me to use a code *#7284# to enter into the modem settings (which no longer works for some reason). Then I found a video that asked me to enter *#0808# (this does work to get into the settings the tutorial asked me to change). The problem is, that after I change the settings from "MTP" to “RNDIS + DM + MODEM”, my phone will not connect to my computer and thus renders me unable to continue with the tutorial. (computer says "unable to identify USB connection")
I'm worried because I need to have my phone up and running before the end of this month because I have to return a shitty ACER phone I purchased temporarily from costco is running out of its 90 day return policy.
I know the phone is already 2 generations behind its predecessors but I'm hoping someone in this forum can help me out!
I've been following these steps: http://forum.xda-developers.com/showthread.php?t=2291589
Thank you in advance,
Matt

In addition to changing from *#7284# to *#0808#, I also had to temporarily go back to the stock recovery from TWRP so that I can "enable cp logging".  If I don't do that, QPST (the program you have to run to add AWS) simply cannot find the connection to my phone.
Originally I was afraid that going back to the stock recovery would remove my root, and I would have to re-root again before I can install TWRP.  It turns out a non-issue.
Just a reminder when your attention is so warped up with this AWS challenge,  Odin cannot flash a recovery.img file (which you extract from the stock ROM).  I should have known better.  After some frustrating moment, I archived this file into the .tar format and Odin flashed it without a glitch.

if you can find the exact carrier 4.4.2 file.. flash it with odin. the phone will take it no problem. then run rndis... but before you can try going into recovery and enable logging and see if that picks it up... im stuck on this problem right now and i know there is no way around it then to actually downgrade and push the aws file... good luck


text:
How can I bypass the "first setup"?
Is there a way to bypass the first setup screen, that shows up during first boot of a new/stock ROM or after factory reset?

Yes there is, after the phone is opened and SetupWizard is on, starting with top-left corner of the screen, all corners must be tapped once, in a clockwise  direction. (Top left, top right, bottom right, bottom left to be more specific)
It can be hard to do it properly at first try so if it doesn't work, just try again.
Here's a walkthrough video.

Why the downvote?

Because it doesn't work. I am looking for a way to create a config file somewhere so that I can upload it to the phone. Now, I can access the file system of my android. But I just can't bypass the stupid "select language" screen.

@sgon00 You should take into account the fact that answers are written for the time that they are written. No one can predict how future functionalities will behave. Also, it is a well established method. It is not even a workaround or hack. It is a feature. If you can't run a feature, it is a mistake or error on your end, not the answer's.

Today the answer is most likely no, this is not possible to skip the initial setup due to FRP.
From https://www.androidcentral.com/factory-reset-protection-what-you-need-know

Factory Reset Protection (FRP) is a security method that was designed to make sure someone can't just wipe and factory reset your phone if you've lost it or it was stolen.


text:
Inconsistent performance over wifi
I noticed this with my Nexus 5, and was surprised to see it continue with my new Nexus 6P:
I have a 5th generation Apple Airport Extreme. When I am using my Android phone on wifi, images load really slowly or not at all on apps like Facebook and the Google Play store. When I switch to LTE, they load right away. This is weird, because my speed tests indicate 100mpbs performance over wifi, and most other apps don't have any issue.

It turns out turning off IPv6 support in the Airport config fixed the problem.


text:
Import/Install SSL-certificate without CA-flag
Our team has the following problem:
We are developing a client-application for android and iOS using Unity + UniWebview + HTML. This app includes Ajax-requests to some servers via jQuery. For testing purposes we're using a testing server instead of the live server. This testing server uses a self-signed SSL-certificate.
NOTE: We have no access to that server, so changing the SSL-certificate is likely not an option.
When testing the .htm-file locally with the desktop browser we just did import that SSL-certificate to Chrome and Mozilla Firefox. With this approach our HTML-code worked as expected.
Now we wanted to test it in our UniWebview environment on an android device. Intially the app didn't work. As we tested the .htm-file in the mobile chrome browser, the requests were blocked because of the not trusted SSL-certificate. So we went looking for a solution on how to import the certificate to Android.
The most common solution we found, was exporting the certificate in chrome or firefox and copying it to the SD-card drive of the device. Then: Settings > Security > Install from USB-Storage, then select the certificate and install it. After the installation we got the message of a successful installation. But when looking for it in the list of user certificates, it doesn't show up. After testing our script again it also still doesn't work. We gave this solution a couple of tries by experimenting with different formats and encodings, but everytime we got the same result.
The second try was using the application CAdroid for importing SSL-certificates to Android. But there we also encountered a problem. At step 4 (checking of the certificate) we got an errormessage that the basic constraints are missing. Therefore there is no CA-flag set, therefore the CA-flag isn't true.
The third try was using the Android-emulator of the Android-SDK. This time we got the same problem as in our first try, when installing the certificate directly to Android.
TL;DR
So my quesiton: Is it possible to install this self-signed certificate to Android without having a set CA-flag?
If not, is it possible to modify that existing certificate, so it can be installed?
NOTE: Creating a new certificate is NOT a real option.
NOTE: We only have the certificate-files, we exported with chrome and firefox
I found this post: self-signed certificate install claims success, but android acts as if cert isn't there . In the comments there is some discussion about modfying an exisiting certificate, although I am not sure if this is an option for us.
Testing device:
Samsung GT-N8010 (Galaxy Note 10.1)
Android 4.4.2
Best Regards

Is it possible to install this self-signed certificate to Android without having a set CA-flag?

Android uses OpenSSL (or the fork BoringSSL in later versions) as the underlying SSL stack. OpenSSL will not accept a self-signed certificate unless the CA flag is true, because even a self-signed certificate must have the correct flags so that it can sign itself (i.e. CA flag). So even if you would be able to install the certificate it will not be used as the trust anchor for validation, i.e. the validation will fail.

If not, is it possible to modify that existing certificate, so it can be installed?
  NOTE: Creating a new certificate is NOT a real option.

No, you cannot modify an existing certificate. You could probably re-create the certificate if you have access to the original certificate and the private key.


text:
Error occured while playing videos
Please help me.i download the offline videos from you tube successful but when i want to play the video the error occured like there was problem while playing touch to retry.

Did you use tubemate?
Tubemate is incredibly easy to use and i never had any problem playing the videos downloaded using it.
Just google "tubemate apk" and install it and then go to any browser and browse youtube, once you have done selecting a particular video just copy the url of that video and paste it in tubemate url section which is located on a slider on the left and then click the green arrow that appears on the toolbar and voila youre done. :)


text:
GS6 (Android 5.1.1) lost synchronizaton with Facebook contacts
My Galaxy S6 had my Facebook contacts synchronized within the Contacts application since I acquired the phone in September 2015. I didn't exactly notice when it happened, but now this feature does not seem to work anymore. I have the latest update of the Facebook application.
When going in the Android settings under "Accounts", I can see the Facebook item but it is shown as "disabled". There does not seem to be any way to enable this synchronization. I think I remember there used to be some options on that screen to enable contacts synchronization.
Another detail is that all the contacts that came from Facebook are still listed in the Android Contacts application, however, the contact information is empty and it is shown as a contact stored locally on the device only.

For what it's worth, Facebook has removed the contacts sync functionality.

Supplementary info
Under the Facebook's Community questions, I found these two:

Sync Contacts with phone? - by Justin Reinwand

My Facebook app for Android no longer has the option to sync contacts with my phone. This was a really nice feature. I have uninstalled and reinstalled the app multiple time and it still does not appear. I have a Samsung Galaxy S5 and the latest Facebook app.

Android 5.0.1 just stopped syncing contacts - did all the usual steps - by Michele Debois Ray

[Android] 5.01.1 just stopped syncing contacts - reinstalled all - turn off and on - steps to sync - states syncing but nothing when you go to display FB contacts. weird thing. when you go to contacts and you can choose where contact came from like device or gmail etc. FB is not there to choose from.

At the time of writing this answer, both questions were asked about two months ago and about a month ago, both of them received a same reply from Sofia V. of Facebook Help Team

Unfortunately, this feature is no longer available.

In addition to that, whilst I did not verify the authenticity of the Facebook page Facebook Android Beta, in response to a comment by Devon Jackson

Facebook contacts are no longer syncing to my s6

the said page replied

Thanks for checking in, Devon. We have to remove some things and add others in order to test certain features and make sure we address specific bugs. We appreciate your patience during this process. -Kevin

Although the reply was applicable to beta build of Facebook during the month of October, further comments from users and accounting the timing of Sofia's reply, I opine that the changes were swiftly copied in the consumer version of Facebook in the same month.
In short, settle with the fact that the feature has been removed from the app. That's it.

Note: I do not use any build of Facebook app at all.

Thanks for the detailed answer. I don't see why FB would want to remove such a feature though.

That's what a lot of the users are saying all over the internet. You can check some of their replies behind the links I posted. At the moment, I couldn't find an official explanation behind this move.


text:
NANDroid on CM12.1, Samsung Galaxy S2 I9100
I would like to install XPrivacy on CM12.1 (Samsung Galaxy S2  I9100).
For that I have to:

Preferably do NANDroid backup
Flash correct version of Xposed framework (xposed-v78-sdk22-arm.zip)
Install Xposed app (XposedInstaller_3.0_alpha4.apk)

The problem is in the first point: CM was so kind as to install its own recovery, which does not provide backup option.
I used CWM recovery before, but that as far as I know isn't maintained anymore. TWRP is another option, but I can't find version for I9100 (if there is any).
What are my options?

I could probably stick with AppOps, but it is a bit too simple for my needs. Another question is whether it is worth the struggle with installation of XPrivacy given the stability (and security?) of such solution.
I could probably substitute some XPrivacy features with AFWall, but I had some issues installing it on CM12.1.
Another feature I would like is the access restrictions to Android ID - but that is probably possible only with Xposed(?).

Regardless of whether CWM is maintained anymore or not, have you verified that the its version 6.0.5.0 isn't working to take backup of  CM 12.1 ROM? Furthermore, you can use dd to pull the images of your partitions when booted into your obsolete CWM recovery.

@Firelord I thought that the reason it was replaced was its incompatibility -> I will give CWM a try : )

The problem is in the first point can be solved by this link on XDA.
And by the way it is just for safety in case something happens wrongly. So, you can use that backup to get your old stable state.

Next option for you that you can flash CWM again as you have done previously to install this rom.


text:
XPrivacy - explanation of restriction settings
Maybe it's me but I don't understand XPrivacy's per-permission-settings.
The legend sais

first check box: restrict category or function
second check box: restrict on demand
first check box is default value
■: stands for "partly restricted"
?: restrictions will be asked

But what does ✔ (checked) mean? Fully restricted? And what are the meanings of the combinations?
And what is the "default" case for?
Can you explain the following combinations:
[ ] [ ]  (no restrictions (the only one I truly understand :)))
[ ] [?]  (?? default: no restrictions but ask otherwise?)
[ ] [✔]  (?? default: no restrictions but full restrictions otherwise?)
[ ] [■]  (?? default: no restrictions but partly restricted otherwise?)
[■] [ ]  (?? default: partly restricted)
[■] [■]  (?? partly on demand, default is partly?)
[✔] [ ]  (?? default: fully restricted?)
[✔] [?]  (?? always restrict but ask otherwise??)
Which ones are missing?
Why isn't there a combination like [■] [?] or [✔] [✔]?
Please help me out..

According to the README file of XPrivacy that can be found here:

The tri-state check box works this way:
unchecked = no items in the category are restricted
solid square =
some items in the category are restricted
check mark = all items in
the category are restricted
Note: By default, categories and functions
are filtered by permission, so you may not see all of them. The check
box state is independent of this.


text:
How do I set up my Sprint Samsung Galaxy Note 5 as a hotspot for free?
I've tried downloading several apps from the app store but they do one of two things; they either hang and don't work, or they bring up the phone's hotspot screen and ask me to pay for the service.
I am trying to avoid paying for an additional metered data plan from Sprint. I already pay them $125 a month for just this one phone and service.
There's a guy who has a video on youtube on how to do it, but you have to pay him for the info and I fear I'll have to root the phone.
I'd prefer not to root the phone.
I'd like to be able to share the 4G LTE Internet connection with my laptop. My laptop is a Samsung NP900 ultrabook.
I have an unrooted 64GB, Galaxy Note 5 on the Sprint system in the United States:
Android version: 5.1.1
Model number: SM-920P
Software Version: N920PVPU2AOJ6
Hardware Version N920PO3
Kernel: 3.10.61-5944578
Hope this is enough information. Please let me know if you need more. Thx

Found something that can help without rooting the device. link:http://forum.xda-developers.com/sprint-galaxy-note5/general/native-hotspot-stock-rooted-rooted-t3188703

I think that you need to contact sprint to check if you can get a compatible data plan.

I rolled it back because changing the title completely changed the question hence the last comment by @reachrk . I know how to enable sprint hotspot. They charge an arm and a leg and limit the bandwidth. You pay for a separate data plan. I know there are ways to set up a hotspot without buying an additional data plan. A guy has a way to do it on youtube but he charges and doesn't tell you in advance. I'm sure he's just rooting the phone. I don't want to root a phone I just spent almost a 1000 dollars for. I have the 64 version.

@Iakovl Thank you. I am going to try it. I have to get the MSL but I think you're on to something. If I figure it out I'll post the answer here. Thx


text:
How to push gapps via adb to a rooted device
I have a Samsung t355c. A China model of the normal tablet that doesn't have gapps and as far as I get it a locked bootloader.
There is no custom recovery for it.
Runs 5.0.1
I managed to root it using kingo and tried many ways of pushing google apps into it. Ended up bricking it for now... redownloading original rom.
The question is. After I fix and root him again
Using adb with the root . How can I push gapps

One method can be:  extract the GApps zip and separate the files meant to be copied into the system partition. Then copy each of them individually to their intended location. In order to know the location, locate some script having instructions for Recovery. You would get the idea. Reboot and see what happens.

Don't forget to adjust permissions (also found in that script). Plus you will need to remount /system read-write before, and back to read-only after pushing the apps.

used link2sd to convert them to system, after some errors, logged into google have gmail, but can't connect the playstore @Izzy what permissions do i need to change?

As @Firelord already pointed out, the .zip contains a script: META-INF/com/google/android/updater-script contains the steps a custom recovery would execute usually. Use that as a guide – though you will have to "convert" the commands.

I have not really tried this, but a possible approach would be following the steps a custom recovery would perform when installing ("flashing") the .zip file – which can be found in META-INF/com/google/android/updater-script (after extracting the archive). For the Kitkat GApps archive, this looks like:

ui_print("Installing files...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(1, 15);
delete("/system/app/Provision.apk","/system/app/QuickSearchBox.apk","/system/app/priv-app/SetupWizard.apk","/system/app/priv-app/Velvet.apk","/system/app/Vending.apk","/system/app
package_extract_dir("system", "/system");
set_perm(0, 0, 0755, "/system/addon.d/70-gapps.sh");
package_extract_dir("optional", "/tmp");
package_extract_file("install-optional.sh", "/tmp/install-optional.sh");
set_perm(0, 0, 0777, "/tmp/install-optional.sh");
run_program("/tmp/install-optional.sh", "");
show_progress(1, 15);
ui_print("Cleaning up and setting metadata...");
set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/priv-app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/etc/permissions", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/etc/preferred-apps", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/g.prop", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/framework", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/lib", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/usr/srec/en-US", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/pittpatt", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
run_program("/sbin/busybox", "umount", "/system");
ui_print("Installation complete!");

We of course can skip the comments/debug-output, and thus essentially end up with these steps. I assume you've unpacked the .zip file's contents somewhere on your device, and are sitting in a shell (terminal or adb shell) with root permissions (su) to start with:

mount -o remount,rw /system (line 2)
if the files listed in line 4 exist: rm -f <file> for each of them
copy all contents of the .zip file's system/ directory to /system (line 5)
chmod 0755 /system/addon.d/70-gapps.sh (line 6)
( apply the previous 2 steps on lines 7-9 )
sh /tmp/install-optional.sh (line 10)

Now it gets a little more difficult (for beginners) interpreting the set_metadata_recursive commands. I'll explain this on the first one (line 13):
/system/addon.d must be owned by uid 0 and gid 0, file permissions should be 0755 (dmode is directory mode, fmode file mode), SELinux attributes are u:object_r:system_file:s0. You might have noticed I've skipped two columns: I have no idea what the "capabilities", 0x0 stands for, so I cannot explain it (if anyone does, please comment). So let's do that:
chown -R root:root /system/addon.d   # -R is recursive, root is user/group id 0
chmod -R 755 /system/addon.d         # as dmode and fmode are the same, we can do that
# at this place missing: SELinux properties. I've never dealt with those

If like in line 14 fmode and dmode are different, you'll have to take care for that as well. Apply dmode as above, and follow it by a find <dir> -type f -print0 | xargs chmod <mode>, replacing <dir> by the first argument of set_metadata_recursive, and <mode> by the corresponding fmode.
Finally, remount /system read-only again: mount -o remount,ro /system – or simply reboot (you'll have to anyway), which takes care for that as well.
I have skipped the SELinux stuff due to missing knowledge. It will most likely work without – but might be good to do for additional security :)

Some GApps comes with gapps-remove.txt file as well. One can compare it with the files one have or is going to copy in /system. That can help them to know what they may be missing.

SElinux labels you set with "chcon" command and you can the result verify by using "ls -laZ".
For:
set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
it will be:
chcon "u:object_r:system_file:s0" /system/addon.d
You can verify this by issuing: ls -laZ /system/addon.d
source for usage of "chcon":
https://books.google.pl/books?id=AKbNBgAAQBAJ&pg=PA101&lpg=PA101&dq=%22u:object_r:system_file:s0%22&source=bl&ots=MbpesnKLkI&sig=ACfU3U2sJc-vYndDkUOk1Tru42hrcuPyUQ&hl=pl&sa=X&ved=2ahUKEwjqwqKiwZDnAhWiAxAIHZH8AGAQ6AEwAXoECAkQAQ#v=onepage&q=%22u%3Aobject_r%3Asystem_file%3As0%22&f=false


text:
If There Is 2 Version In Play Store, How To Download An App's Other Version
If there are 2 version in any App's Play store console (for 2.3 and 4.0), how can I download 2.3 version in my Android 4.0+ device?

You're probably going to need to find that .apk from some third party location

@MichaelNancarrow If I can find 2 version of app in there, yes you are right.

No. You cannot do that directly. Playstore will automatically detect your Android version and gives your Most suitable version. In your case, You cannot download 2.3 version directly to your phone. However there are otherways to get that

Find a device with Android 3.0 or less. Download & Install  the app from Playstore. Use apps like 'ES File manager'(Or similar apps) to get the apk of your app, Transfer via Bluetooth & Install on your Android 4.0 device
Download & Install Android  2.3 Emulator on your Computer & Follow the same steps above.
Use www.4shared.com or Torrents or Third party app stores To download apk of the specific version of the app.

Is there any way to show my device as Android 2.3? (Rooted)


text:
Fire OS 5 mount -o remount,rw fails as root
This is regarding Amazon's port of Lollipop. AFAICT, other similar questions are regarding Jelly Bean and earlier plus non deal with Fire OS.
I'm working with a rooted Amazon Fire TV/2 running Amazon's Fire OS 5, its Lollipop port. I'm unable as root to mount /system as r/w.
mount -o remount,rw /system fails with "mount: Invalid argument"
/dev/block/mmcblk0p13 is linked to /dev/block/platform/mtk-msdc.0/by-name/system
/dev/block/platform/mtk-msdc.0/by-name/system is mounted at /system
Mounting /system r/w (as root) worked fine under JB.
How can I remount /system as r/w under Amazon's Lollipop?

Have you tried the 2 argument version? mount -o remount,rw /dev/block/platform/mtk-msdc.0/by-name/system /system

Possible duplicate of Can't remount /system in rw

Yes,  thanks I tried that with the same outcome. I also tried a remount using the /dev/block/mmcblk0p13 partition

And Firelord, this is not a duplicate. This is Amazon's port of Lollipop,  possibly a Linux SE kernel and all questions I've seen have been JB-related, thanks.

You can also try with: mount -o rw,remount /system . For some devices this works fine.
root@angler:/ # mount -o rw,remount /system
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ # mount -o remount, rw /system
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ #
root@angler:/ # mount -o rw,remount /system
root@angler:/ #
root@angler:/ # getprop | grep build
[ro.bootimage.build.date]: [Fri May 6 06:19:55 EDT 2016]
[ro.bootimage.build.date.utc]: [1462529995]
[ro.bootimage.build.fingerprint]: [google/nexus_angler/angler:6.0.1/MTC19T/nate05060618:userdebug/test-keys]
[ro.build.characteristics]: [nosdcard]
[ro.build.date]: [Fri May  6 06:18:32 EDT 2016]
[ro.build.date.utc]: [1462529912]
[ro.build.description]: [angler-user 6.0.1 MTC19T 2741993 release-keys]
[ro.build.display.id]: [MTC19T]

I just did the test now on my device, Nexus 6P. As you see, both commands are valid and system applies them. Why was my answer down voted?

Why would changing the remount/rw to rw/remount would've any effect on the mount command? Ultimately, you're passing both the arguments in both the cases and you've not justified why interchanging the location of arguments  would've any effect on mount.

I dd'd the partition from a working copy and rebooted and mount -o remount,rw worked again. Later in the day I mounted system r/w and wrote to /system/xbin, then remounted ro. Immediately,  mount mails yet again. dd again and things are still working after 5 hours or so.  I'm leaning towards an Amazon port issue, but of course I'm guessing.

@Firelord, i cannot give a valid argument on why, but i am giving this info from my experience with Android. Seems some android device, random, did not work for me to mount the regular way. And i used this method. I will check my logs later tonight and come back with another reply.

Sure, I'll wait.


text:
Why are disabled apps still running?
I've noticed that apps (such as Google Contacts Sync) that have been disabled using the stock Android (KitKat) app manager still show up as running when using process observer tools.  This is true even after the device has been rebooted.
Why are disabled apps still running?  Is there an effective (and safe) way to actually disable them?
Solutions requiring root privileges are acceptable.
(Note that for the specific example above, you can tell Android not to sync your contacts, but it still runs the Google Contacts Sync process.  But let's not dwell on that example... it's just an example.)

Right next to the "Disable" button is a "Force Stop" button. Press it and the process should terminate and not start anymore.

@GiantTree Thanks. After a reboot, won't it just start again?

In your case it does, because a system app has explicitly called an exported service of that package and the only way to reliably kill that process (and any other) is by actively killing it using Greenify, Amplify (requires Xposed) or similar apps. Note: that this should not happen and should be considered a bug, because the PackageManager has the task to not allow a disabled app to run.

Thanks!  That is great information.   I have updated the question to reflect that root solutions are acceptable.  Can I use a tool like MyAndroidTools to manually disable all the services for the disabled apps?

@Firelord Thanks. Does hide work in KitKat, or was it introduced in Lollipop?  Can the hide command be executed directly from the device, or does it require an external adb connection?  After performing that command, what is the command to reverse it, if needed?

@Firelord mind compiling your comments into an answer? Though the question asks "why", I think the "how to prevent" was the real question (for the why: disabled apps can still have their intents called – which happens quite often for central Google apps. According to your (linked) research, this should no longer apply once the app was blocked/hidden).

If you succeed using my answer, please do let me know since I've tested my solution only on Lollipop ROMs.

@Izzy and Firelord Asking this to learn more: Would using a tool like MyAndroidTools to disable all the services and receivers for the app be another effective solution?

Well in that regard, I disabled all the services, receivers, activities and the content providers as well as disabled the SystemUI app. Restarted the device and guess what the app still got loaded into the memory (such is not the case with pm block/hide) which makes me wonder what's causing the app to be loaded now. It is another matter that while it was loaded in the memory you can observe its superficial absence by lack of background, themes, status bar and more. Perhaps, a new question can be forged out of this.

@Firelord I guess that's what I pointed out above: if you disable an app it's just "marked disabled" (and not shown in launcher etc) – but it's still registered with the system (package manager), so other apps can find it and call its intents. It seems like hiding/blocking is rather comparable with an "uninstall leaving .apk and data behind" – so the app gets "completely unregistered and invisible to everything but the file manager", so other apps are no longer able to call its intents as they can't find them.

@Izzy Except that blocking apparently does not work properly in KitKat.  :-(

@RockPaperLizard … and hiding doesn't work there at all. Well, the doom of KK seems not to be limited to dealing with your SD card. Sorry for that. But I was "speaking generally" ;)

Your Android need not to have root access for truly disabling an app, if you've version 4.4.x or above.  All you need is adb setup in PC and USB debugging enabled in a non-rooted device, or a terminal emulator app for a rooted device (you can use adb too).
If you check Package Manger's (pm) usage, you would see
pm block [--user USER_ID] PACKAGE_OR_COMPONENT")
pm unblock [--user USER_ID] PACKAGE_OR_COMPONENT")
For Lollipop, it would be
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT")
pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT")
In order to block or hide a package (it is safe), simply do
pm block PACKAGE # for KitKat
pm hide PACKAGE  # for Lollipop

To unblock or unhide the package, do
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE  # for Lollipop

PACKAGE → package name of an app. To know the package name of an app:

For KitKat, follow View app's full package name?
For Lollipop, open Settings → Apps → All apps →  your app → click here

Append adb shell before very command to execute them from PC.
The function behind hide has the following comment inside the source code

Puts the package in a hidden state, which is almost like an uninstalled state, making the package unavailable, but it doesn't remove the data or the actual package file. Application can be unhidden by either resetting the hidden state or by installing it

Similar commenting is done for  block here.
In order to verify the claim, you can use some system services such as meminfo, procstats and activity using the dumpsys tool or even list all the processes using ps. You won't find an active presence of the blocked/hidden app.
The same goes for a lot of system apps disabled using GUI or pm disable but not for every app since even a  disabled app can receive broadcasts it has registered for, which can only be done if it is loaded into the memory1. Nevertheless, a disabled app cannot act on its own, neither can it be executed by any other app.
I've argued some of the differences between  hide/block and disable on my question pm hide VS pm disable -- the identity crisis. It provides only supplementary info to this answer so you may skip it.
EDIT:
It appears that the technique doesn't work for all apps on Android KitKat. In that case, simply revoke read permission from app's APK or remove the extension .APK from the file name of the app (latter suggested by Jaskaranbir once), followed by a soft/full reboot. This is same as deleting an app from system, with only difference that all files would remain at their place.
Both of the steps can be executed using any root file manager app. The command line way is:
adb shell su -c 'chmod 000 /data/app/PACKAGE*'             # 000 means no read-write-executable permission to user,group and others.
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE'  # doing renaming by moving the file
adb reboot

1: Lacking technical evidence to support the fact

Great answer!  Thank you!  Is it best to first disable the app using the stock Android app manager, or best to make sure it is not disabled there?

There is no need to disable the app if you're opting for pm block/hide so leave it untouched.

If it's already disabled, is it best to re-enable it?

There is no need to do that. The hide attribute would be set beside the disable attribute for that package (you can check it inside /data/system/users/0/package-restrictions.xml, look for <pkg name="YOUR_PACKAGE"). In short, it is safe whether you apply the block/hide command on a disabled app or not.

I tried it.  Here's the response received in the terminal emulator (verbatim): "WARNING: linker: app_process has text relocations. This is wasting memory and is a security risk. Please fix. Killed"

Hmmm... It doesn't seem to be working.  Tried it on 3 packages.  They continue to load and run.

"WARNING: linker: app_process has text relocations. This is wasting memory and is a security risk. Please fix. Killed" -- do you have Xposed installed? I used to have this warning because of that. As for whether they are working or not, I can't confirm for sure because in my comment on your question I did say that my finds are based on Lollipop but block should be working regardless. I'll see what else I can find to help here.

This is bizarre. I tested blocking systemui on my Kitkat and to my surprise, block is working just like disable, this app stays in the memory. SystemUI process got forked even if I killed it. Don't know it's a bug or desired behavior, but in any case, it is in contrast to my Lollipop related findings stated in the answer. I guess  the answer is pretty useless now.

Let us continue this discussion in chat.

@Izzy Pinging you to make you aware of the chat, as you may be interested.

@RockPaperLizard, I forgot to tell you a very simple trick. Revoke read permissions of the package file (or base directory, in case of Lollipop), restart and done for good. For example, with root permissions, you can stop SystemUI in this fashion, adb shell su -c "chmod 111 /system/app/SystemUI.apk". 111 means set only executable permissions for owner, group, and others. Reboot and the app will be missing to the system. You can set it to 000 as well.

Great idea.  See chat link above for continuation...

I performed a little more testing, and the message "WARNING: linker: app_process has text relocations. This is wasting memory and is a security risk. Please fix. Killed" appears whether using pm to block or unblock.  It also appears when using a fictional package name.  I wonder, in KitKat, if it is doing anything.

You may want to update your answer to make it clear that this technique apparently does not work in KitKat.  Also is it only Broadcast Receivers that can load a disabled app, or will Services load it as well?  See: http://android.stackexchange.com/questions/131499/does-android-swap-out-memory-used-by-foreground-services


text:
Phone not reading headphone jack resistance
So I wanted to modify a pair of headphones I have to work with my android phone (Motorola Droid Turbo), and to do so I was experimenting with resistor values according to the "Wired Audio Headset Specification (v1.1)"
https://source.android.com/devices/accessories/headset/specification.html
I wired up a 240 ohm and 470 ohm resistances which should control volume up and volume down, respectively. I plugged in an old headphone jack I spliced, and double checked the voltage output which was reading the correct 2.2 V. Unfortunately when I tried connecting the 240 ohm and 470 ohm across nothing happened. I tried this with my friend's android phone (LG G3) and it worked perfectly. Not really sure where to proceed from here.


text:
How does charging battery in normal, speed and trickle affect battery life?
Battery doctor uses different stages of charging:
speed; continuous and trickle (keep charging when the battery is full for some time)
does this really extend battery life?
and can an app change the way the device is being charged anyway?

Proper explanation is fairly technical, so am answering in broad terms (you can skip the links if you don't want to get into nitty gritty)
Charging rate is a measure that governs at what current a battery is charged and discharged. At 1C, a battery rated 1,000mAh charges at a current of 1,000mAh. In an ideal world the battery would be fully charged in 60 minutes. At 1C, the same battery discharges at 1,000mA. Ideal charging rate is accepted to be around 0.5 to ,0.8 C for maximum battery life (battery life is measured in charge/discharge cycles). When you charge a battery at this rate, it goes through three stages of charging (Constant Current Charge,Saturation Charge and Ready No Current). For more information, if you are inclined, battery university has a bunch of informative articles on this.
If you charge your battery with the OEM charger and measure charging rate using 3C Battery Monitor Widget or Ampere, and plot, you will find that the graph fairly resembles to that of the referenced link above of battery university. This would also fairly resemble , the "continuous" mode of your app
If you want maximum battery life, it is best to stick with OEM charger or equivalent charger that is equally rated. Device manufacturers have different algorithms built in to regulate current flow at different stages of battery charging mainly to:
a) quickly charge the battery , typically to charge the battery to 50% as you see advertised as a special feature (on a side note, cheap battery chargers do it the hardware way (and a destructive way). See this to get an idea https://electronics.stackexchange.com/). The disadvantage with this and quick or fast charge is that battery is not charged sufficiently in the saturation charge stage (it spend less time in that stage) and doesn't deliver the same capacity as with regular charge. It's like drinking a bottle of Coke, when you are hungry, you may feel full but your body hasn't got the nutrients and calories as from a regular meal :-)
b) to prevent battery damage due to excessive charging like in cases of leaving the charger plugged in overnight (by limiting charging current to near zero)
There is NO way for an app to over ride the device specific algorithms and it's implementation in the ROM. To change this implementation, app will have to change the system files after the system has booted, which is not possible AFAIK, and these apps cannot possibly ship that across the spectrum of devices and different Android Versions. On the other hand, custom kernels(and associated kernel tweaker apps) can permit a) fast charging or quick charging b) increasing or decreasing the charging current provided the ROM and hardware support. Agni kernel, is one such kernel I have used to charge faster when connected to USB. Note that charging at more than 1C can damage battery as shown in Fig.2 here
Charging in "trickle charge" of your app is similar to charging your battery for longer period in the last stage of battery charging, which is useful if you want to have the battery at 100% charge when you unplug the charger, but is a bad idea, since battery chemistry dictates battery deterioration at high temperatures due to internal stress.
A variation of this last stage charging is called "bump charging", wherein the charger is disconnected upon full charge, discharged for a few minutes and again charged. This cycle is repeated a few times. A bad idea for longevity of battery as can bee seen from Fig.2 and Table 2 here.
Both these methods are not recommended for normal usage but may be useful occasionally, when you have a long day ahead and may not be able to charge like travelling, hiking etc.
(Related aspect- you may have noticed that your battery drop is much faster from 100 to 90%, compared to say 80 to 70 %. Which is actually a good thing, because, it is protecting your battery staying at higher internal temperatures. To understand this, have a look at Your battery gauge is lying to you....not a bad thing. Based on this, IMO, it is better to charge the battery when it drops to 30% and stop charging when it reaches 90%. ( I can almost hear one ask, what about battery life which is measured in number of charge/ discharge cycles, won't that be reduced, if I try this? No, it shouldn't matter, because a cycle is not defined by how many times you charge but what is the capacity of charge you used up. To understand this concept better, read what constitutes a discharge cycle)
Charging in "speed charge (mode of your app)", is also not recommended as it does not go through fully, all the three stages of battery charging at recommended levels and is not good for battery life
Hence, bottom line is these kind of apps are better not used and stick to OEM rated chargers and OEM recommended charging methods.
PS: Edited your question to add relevant tags

FYI. You may like to see Quick Charging 3.0 explanation here http://android.stackexchange.com/a/138678/131553


text:
how to get back photo gallery pictures after factory resetting LG phone?
How can you get back erased photo gallery pictures after factory resetting (by Setup Wizard) LG phone ?

If you have enabled "auto-backup" in Google Photos you can readily restore it from there.
If not you may try to recover photos that were on your memory card using recovery software (undelete/unerase) from your computer.


text:
How fast can CPU governors change their frequency?
All CPU governors descriptions that I could find use subjective words such as slow and fast to explain how the frequency changes over certain conditions.
What are the typical values here, are we taking about over or under 1ms?
I'm curious about a) how fast can the hardware go from min to max and vice versa and b) what would be a reasonably conservative number such as in a on demand cool down?
Are there any typical values for say an open source ROM or any other, in such and such device, available anywhere? Or in the lack of it, is it feasible to measure my own device over adb/ndk/sdk tinkering?

This is what I got on my S4 international with CyanogenMod Rom 4.4.4 nightly build from 2015-06-14 with an on demand cpu governor.
On this test I opened the coursera app then browsed for some section. So it's a typical one touch action what you're going to see here.
So I did an adb shell and started tinkering. I found nothing usefull on /proc/cpuinfo, then I headed for dmesg.
Note: to run dmesg you need to be root.
Note 2: dmesg -c clears the buffer, so you can be sure you won't see the same thing twice. It helps because it's kinda confusing because it's going up and down all the time.
root@ja3g:/proc # dmesg -c | grep -i clock
<6>[74960.230777] B0  23943 PVR_K: SGX change clock [177] Mhz -> [266] MHz req [266] MHz / M[800] / B[0]
<6>[74960.330888] B0  23943 PVR_K: SGX change clock [266] Mhz -> [350] MHz req [350] MHz / M[800] / B[0]
<6>[74960.431147] L0  23943 PVR_K: SGX change clock [350] Mhz -> [480] MHz req [480] MHz / M[800] / B[0]
<6>[74960.630002] L0  23943 PVR_K: SGX change clock [480] Mhz -> [350] MHz req [350] MHz / M[800] / B[0]
<6>[74960.930147] B0  23943 PVR_K: SGX change clock [350] Mhz -> [266] MHz req [266] MHz / M[800] / B[0]
<6>[74961.229909] B0  23943 PVR_K: SGX change clock [266] Mhz -> [177] MHz req [177] MHz / M[800] / B[0]
<6>[74962.330790] L0  23943 PVR_K: SGX change clock [177] Mhz -> [266] MHz req [266] MHz / M[800] / B[0]
<6>[74962.734868] L0  23943 PVR_K: SGX change clock [266] Mhz -> [177] MHz req [177] MHz / M[800] / B[0]

My interpretation of the data is the following:
I touched the screen and it started transitioning about 74960.230777 seconds from boot, when the governor kicked in.
It went from min frequency (177) to 266 then 350 and finally 480 Mhz at 74960.431147 seconds, meaning about 200 ms after it started throttling up.
Then it started slowing down on 74960.630002, reaching minimal speed on 74961.229909 (600 ms later). I have no clue what happened after that, probably it was still building something on the screen and throttled up and down again.
I don't even know if this makes sense, I have 4 slow processor and another 4 fast/power hungry processors, maybe I should run some heavy lifting tasks to be more sure of what happens.
It's funny though to notice that even incoming unread hangout text messages make a small bump from 177 to 266 to 177 MHz.


text:
Using camera slows the phone to a crawl, except the camera app
I have a OnePlus Two, flashed with Cyanogen Mod 12.1 nightly. I can use the camera, front or back, no problem in the actual camera app.
If I use a program that wants to open my camera (i.e. Google translate, Google authenticator, barcode scanner, etc), my phone goes so slow, that I need to reboot it by holding the power button until it comes back on. If I don't do it quickly, my phone starts getting very hot in my hand. This does not happen with the default camera app (com.android.camera2).
Is there a possible setting that I can change to make it work properly? I like the phone otherwise, but I may go back to the One, if this can't be resolved.

Are you certain that the issue isn't specific to the nightly build you are using?

@firelord it's happened for a few days now

Please try a stable build of this or a different ROM and report back

i also have been faced the same issue on samsung galaxy s3... I have found other build of cm 12.1 (Todko project) and I have flashed the rom and the problem solved...

@rishad it's a known issue with the current Rom

This is a known issue. There are no official builds, just garak's nightly, but it was not updated since November 2.


text:
Make any Notification Persistent
I am using the Google Calendar app for creating reminders for any event. The problem is that when I receive the notification for the event (usually a day before), I find that I am able to swipe the notification away. Is there a way to make this particular notification persistent until the event has ended?


text:
Developer Options in Android 5.1.1
I have turn on my developer option in my Samsung galaxy grand price. how to hide the developer options in android 5.1.1?

Try this :

Go to Setting.
Tap on Apps/Application, Navigate to all apps.
Now, here you have to find Settings app.
Open the Setting app, There is a button "Clear Data", Press it, Again press OK.
Your Developer Option get Hidden now.

Hope that helps !!


text:
Is there a native way to find all the installed apps that have access to a phone feature?
Is there a native way to filter installed apps by permission (features they have access to)? For example, filter all the apps that have access to the camera.
Looking to delete all the apps that have access to the camera without manually going through each installed app and checking its permissions...
Android version: KitKat and newer

@Firelord, Was looking for something that can be done in the UI easily. I.e. by a general user...

Figured that Google Play would have something that allows you to filter the apps you've installed by permissions...

Sorry, didn't realize that. Would an app recommendation be fine if not the command-line?

Do you happen to have rooted Android? XPrivacy can easily do the job here. Otherwise, see if aSpotCat or Advanced Permission Manager works. You can also check out Izzy's list here for  relevant apps.

@Firelord Thanks! I guess a permissions app is my best bet. I'll also try sending a feature request to Google Play ... seems like this should be a basic option

In case, you ever decide to go with a command-line way, you can try my approach.
Dependencies

Requires adb to be setup in PC.
Requires busybox binary. If the device is rooted, install Busybox app. Else, download busybox binary from official source, rename the binary to busybox, set Linux compatible executable permission on that binary for everyone and move it into device using
adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC

Requires aapt binary. If you're running a CM or its derivative ROM then ignore this requirement. Otherwise, for Android 4.x, you can consider downloading the binary from here, rename the binary to aapt, set Linux compatible executable permission on that binary for everyone and move it into device using
adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC .

Android 5.x users: ask Google for assistance.

This is my little script:

#!/system/bin/sh
# Check if the busybox binary exists under /data/local/tmp/ or /system/xbin. Set the detected binary's path into the variable busybox or exit if file doesn't exist or executable permission is not set
[[ -x /data/local/tmp/busybox ]] && busybox=/data/local/tmp/busybox || { [[ -x /system/xbin/busybox ]] && busybox=/system/xbin/busybox || { date +'busybox binary not found or executable permission is not set. Exiting' && exit; }; }

# Check if the aapt binary exists under /data/local/tmp or /system/bin or /system/xbin. Set the detected binary's path into the variable aapt or exit if file doesn't exist or executable permission is not set
[[ -x /data/local/tmp/aapt ]] && aapt=/data/local/tmp/aapt || { [[ -x /system/bin/aapt ]] && aapt=/system/bin/aapt || { [[ -x /system/xbin/aapt ]] && aapt=/system/xbin/aapt || { date +'aapt binary not found or executable permission is not set. Exiting' && exit; }; }; }

! [[ "$1" == +([0-9a-zA-Z._]) ]] && { $busybox printf 'Permission field should not be empty or contain anything beyond these characters: a-zA-Z0-9._' && exit; } || perm=$1;

# List package name of all the installed apps and save them in the file packages.txt under /sdcard
pm list packages | $busybox sed 's/^package://g' | $busybox sort -o /sdcard/packages.txt
$busybox printf "\nList of apps with permission $perm:\n\n";

# From the output we just saved, take each line (package name) and see whether the package has the said permission. Print the app's label and package name when positive. Before printing everything we're also sorting the lines in A-Za-z order. Sorting is not mandatory.
while read line; do
    [[ `dumpsys package $line | grep "$perm"` ]] && perm=1 || perm=0;
    if [[ $perm == 1 ]]; then
        path=$(pm path $line | $busybox sed 's/^package://g');
        label=$($aapt d badging $path 2>&1 | $busybox sed -ne '/application: label=/p' | $busybox cut -d "'" -f2);
        $busybox printf "$label ($line)\n";
    fi
done < /sdcard/packages.txt | sort

Save the script in PC into a file named perm_script.sh and move it into /sdcard using
adb push LOCAL_FILE /sdcard/   # LOCAL_FILE is the  path where you saved that file into PC

Run that file
adb shell sh /sdcard/perm_script.sh PERMISSION   # replace PERMISSION with the android permission for which apps are to be shown

The greater the apps installed in the system, the greater the time will be for the command to complete execution. In my device, it took around 40 seconds.
Demo output:

List of apps with permission android.permission.CAMERA:

AirDroid (com.sand.airdroid)
Android Live Wallpapers (com.android.wallpaper)
Barcode Scanner (com.google.zxing.client.android)
Camera (com.android.camera2)
CellConnectionService (com.mediatek.CellConnService)
Chrome (com.android.chrome)
...
Webkey (com.webkey)
YGPS (com.mediatek.ygps)
YouTube (com.google.android.youtube)

One-liner
You can reduce the script to one line:

adb shell pm list packages | tr -d '\r'| sed 's/package://g' | while read line; do [[ `adb shell dumpsys package $line | grep 'android.permission.CAMERA'` ]] && echo "$line"; done

Drawbacks:

Nothing much, except that you need a *nix OS. Cygwin may work for MS-Windows.
You won't be seeing labels but only the package names.

(To get app's label using its package name, use GAThrawn's answer - works if only the app is available in Play Store; use Izzy's answer - works for any installed app.)

Profit: execution time reduced to ~50%

Bulk removal
Use this command to remove those apps in bulk

adb shell pm list packages | tr -d '\r'| sed 's/package://g' | while read line; do [[ `adb shell dumpsys package $line | grep 'android.permission.CAMERA'` ]] && echo "Removing $line" && adb uninstall $line; done

Expect it to report failure for system apps.

Show App info for all
The following command would display the App info page of the apps having the permission android.permission.CAMERA

adb shell pm list packages | tr -d '\r'| sed 's/package://g' | while read line; do [[ `adb shell dumpsys package $line | grep 'android.permission.CAMERA'` ]] && printf "Launching App info page of $line\n" &&  adb shell am start -d "package:$line" -n com.android.settings/.applications.InstalledAppDetails --activity-multiple-task && sleep 1.5; done

The flag --activity-multiple-task is important to note. It is because of that every App info page for an app would be shown as a new task for the same activity. In essence,  App Info page for every app having the fed Android permission can be accessed under the Recent activities and once you close the App Info page of an app using the Back button, the App Info page for an other app would show up because they were consecutively opened.
In this way, you can review the app having the Camera permission and take the actions on it, be it Uninstall or Disable.

Unfortunately, there is no native way, neither for KitKat nor for Lollipop (didn't try for Marshmallow). No special system app, no secret code, nothing. The only two ways (for an end-user) to access an app's info are either using the command-line, which another answer covered already or by using Settings app.
Since Settings app doesn't do what you want and command-line seems too much here, your best bet is to use a third-party app for that purpose.
Please note that even Google Play Store doesn't list installed apps based on permissions.


text:
Cannot choose apps to share with in Google Play Store
When I click the "Share" button at bottom of the app description page, I do not get the usual sharing panel. Instead, it pastes the link to SMS, from where I have to copy, discard SMS option and then share it by mail (as an example). I end up doing three steps to share by mail, instead of a single click. Strangely, this happens only from Google Play Store. From all other apps, say ES File Explorer, I can choose and share the way I want to.
This behaviour started a few days back and I can't think of anything that could have triggered it. Searched in Play Store and Google settings but couldn't find any way to alter this behaviour. Other things which didn't help are reinstalling Play Store, uninstalling recently added apps, cleaning system and traces of leftover apps by SD Maid and cleaning Dalvik Cache.
This behaviour isn't driving me nuts but being unable to find the cause and fix is. Pointers on how to fix and what could have caused it are eagerly sought. I don't have access to laptop plus my Linux/coding knowledge is pretty much nil, so if it has to be command based, request something I could copy-paste on device terminal emulator.
Specs:

Huawei Honor 6 (4.4.2) , rooted stock ROM
Play Store Version 6.0.0 (reported as up to date in settings)

I couldn't repro on Nexus 5, Marshmallow 6.0, Play Store 6.0.0. Not sure if it's version-specific bug (since yours is KitKat).

@AndrewT.. but it was working fine till few days ago. That is confusing

Identified the cause.
It is known that Xposed clashes with heavily modded stock UI. That's one reason Xposed version 2.5.1 is the last version which supports without breaking theming engine. Xposed has a setting "Disabled Resource Hooks". If you uncheck it, this problem doesn't occur, but if you check it,it recurrs.
In my case, I don't want to uncheck it as it breaks other things in UI, so it's easier to live with the problem. Though why this should only happen with Google Play Store is unexplained


text:
Is it safe to use compression for nandroids (backups) created by custom recoveries?
Many custom recoveries, like TWRP, have an option to use compression when creating nandroid backups.  By default, this option is typically disabled.
Is it safe to use the compression option?  Are the only downsides the time that must be spent to compress the nandroid and the possible need for temporary working space to perform the compression?
Any other reasons why that option is typically disabled by default?

Good question. There must be some reason, as in previous versions (a couple of years ago) compression was enabled by default (at least with CWM).

@Izzy, perhaps the reason is, a couple of years ago, most of the devices did not used to come with lots of storage space and external SD wasn't that cheap to buy, so compression can be justified for that time. That doesn't seem to be the situation nowadays, or does it?

@Firelord I had those thoughts as well.  On the other hand, processors are much faster now, so compression is faster.

Faster ≠ Safe(r). I can't see a good argument against compression except for faster access – but when things are fine, the latter is no argument anymore. Afraid only one of the "Nandroid devs" can answer this – and hopefully one turns up here to do so.

@Izzy Exactly. The whole point of a nandroid is to have working backups.  If the compression jeopardizes the integrity of the backup (or the restore process) in any way, it's not worth it.  If it does not, then it seems like the best choice given how quickly nandroids will fill up even 64GB of storage.

That might even be one of the reasons behind it: backups get ever bigger. So for compressed backups, one first needs the uncompressed size, then compress it, and only then free the space – unless one "pipes" the copy process. The first would "wear out SD faster" (as if we'd do a Nandroid every minute!) and might be an issue with available free space – but I see no integrity risk here. Not sure about "piping" and what the risks should be with that. Leaving piping out of the equation: if compression fails due to no free space, one still has the uncompressed backup. So what? I've got no clue.

Hope this helps
http://forum.xda-developers.com/showthread.php?t=2001834
I've used compression for a long time, won't stop anytime soon.


text:
recevering data from broken screen on micromax yureka having broken screen
MY screen of Micromax Yureka is broken and I can't see anything, Plus my usb debugging is off. Is there any way to recover data?

Welcome to the Android Enthusiasts! Please see our broken-screen tag-wiki (scroll down to the "data recovery" section). You'll even find a similar question there: How to backup broken screen phone when USB debugging IS NOT enabled? (but unfortunately, the answers there won't help you much as they are Samsung specific, using Kies for that). But checking the others should get you started.

A non-device specific approach would be to access your device through adb.
This route requires you to have a custom recovery already installed on your device.
Boot your device into recovery mode.
Connect to pc, open a terminal, and execute the following...
adb shell mount /data
adb shell mount /system
From there you can, if you need to, pull the entire /data partition [most anyway] Symlinks and some firmware files may error out.
adb pull /data
and so forth. If you have permission denied when pulling,run the following,
adb shell mount -o rw,remount /data
No. You can not do this with a stock recovery though Yureka might be different.


text:
Insufficient Storage Available when installing Google Play Services
I have rooted my Kindle Fire 7 (4th Generation) and installed Gapps using the Jmz Fire HD7 Tool. Everything went well, but, when I was trying to start Gmail, it asked me to update my Google Play Service. When the installation was nearly finished, a message "Insufficient Storage Available" popped up.
What can I do? I have tried to clear all data and force stop Google Play Service, and it still can't be updated. Any help would be appreciated.
EDIT
Pasting the result of df here... looks no good.
Filesystem               Size     Used     Free   Blksize
/dev                   435.9M   288.0K   435.6M   4096
/sys/fs/cgroup         435.9M    12.0K   435.8M   4096
/mnt/asec              435.9M     0.0K   435.9M   4096
/mnt/obb               435.9M     0.0K   435.9M   4096
/storage/usbotg        435.9M     0.0K   435.9M   4096
/storage/emulated      435.9M     0.0K   435.9M   4096
/mnt/secure            435.9M     0.0K   435.9M   4096
/mnt/asec              435.9M     0.0K   435.9M   4096
/mnt/obb               435.9M     0.0K   435.9M   4096
/system                  1.1G     1.1G    23.9M   4096
/cache                 852.4M   483.7M   368.7M   4096
/data                   12.3G     1.3G    11.0G   4096
/mnt/sqfs              124.6M   124.6M     0.0K   32768
/persistbackup          10.8M   184.0K    10.6M   4096
/mnt/shell/emulated     12.3G     1.3G    11.0G   4096

How much available storage does it have?

@RockPaperLizard This is very funny. I have 10.78GB free storage left. It could fit 50 Google Play Service in it.

I'm thinking the partition that hold Google Play Services is much smaller or there is a problem with write privileges.

@RockPaperLizard I'd like to know how I can see the size of that partition...

Install SystemPanelLite or SystemPanel by NextApp; either will show you the size of all easily accessible partitions.

@RockPaperLizard take a look at the result... hmm... 23.9M left? What can I do?

Let us continue this discussion in chat.

First, turn off power on and off your phone and see if the problem still exist . If so,
Go to your storage usage located in your settings and try deleting one unimportant app
If steps #1 or #2 didn't work or go through, just simply unmount the SD card the correct way. Don't just pull it out. If you have been doing this, it is probably why it's doing that now.
If you have done these steps, it should work. If not, go to a little side store that fix phones or the mall. You can also go to your service provider and see if they can fix the problem. Otherwise, go to amazon.com and look up SD card installment kit and you should be able to pick which one you want from them.

Welcome to [android.se]. I removed the signature because this site is a Q&A site, not a social forum. If you want to be contacted, you can put your contact on "About Me" on your profile.

I can tell you that I have already done all above before you answered; I even deleted several (unimportant) system apps so the remaining space is about ~130 MB; but I still can't update the Google Play Service. BTW, my Fire is Fire HD 7 (4th Generation) with no SD slot.


text:
s4 turns off when on battery
Hi I have a Samsung s4 I9505 running android 5.0.1 stock
The problem I'm having is that if I try to turn on my s4 while running on battery it never passes the Samsung boot logo, it turns off instantly after the boot process finishes
However with the wall charger plugged in it boots up and works perfectly fine but if I turn the plug off it switches off 40 seconds or so after
Another thing I must add is the power button on the faulty s4 seems abit different to my other working s4, the power button on this one doesn't have to go in that much to turn on or off so little pressure can turn it on. Its a bit more clicky on the other s4. But it still boots up fine with the wall charger so may not be because of this.
Also sometime I can see the s4 at 45% battery and after turning it off and back on after 20 minutes its something like 14%
Funnily though I can boot into recovery with just the battery and leave it there for half an hour and it doesn't turn off
What could be wrong?

First, you might want to see about the battery. See if you can go to your service provider and see if they can swap out your battery for a newer one
If step #1 doesn't work, you might want to power it on the way you been using it and go to your battery usage and see what's currently using you battery, then stop or force stop those apps. After that, backup all of your things you want and save them to a microSD Card, anything you prefer is just alright. Then do factory reset then set it back up
If steps #1 & #2 didn't work, go to a cell phone shop that you can trust or your cellular provider and see if they can fix it for you. Otherwise, visit amazon.com and look up Galaxy's S4 charger port kits and make sure you pick the right one for your phone and fix it yourself.

Thanks happy holidays and newyear to you too as I said I have another s4 that works fine but I'm abit scared to try that ones battery in the faulty phone just in case something happens to that battery. Do you think there would be any risk for my working s4 if I try using that battery on the other one?


text:
How to convert/encrypt WhatsApp .sqlite to .db.crypt8?
I have aa WhatsApp ChatStorage.sqlite file which was taken from an iPhone backup, and I don't exactly understand the structure of the data inside the database, but it's clearly not encrypted.
I want to use this file to "restore" the messages it contains into a newer Android phone. From what I know the current format WhatsApp uses to store message databases is .db.crypt8 which I assume is the same SQLite DB, only encrypted (but I may be wrong).
WhatsApp (2.12.317) on Android (5.0) doesn't seem to "recognize" the plain .sqlite file as a backed up DB on first setup. Is there a way to make it accept the file as a message backup? Can I somehow encrypt the DB file in the format it is expecting to receive?

Ok... at home now.
Don't know if you run unix variant or something else... That doesn't really but all these scripts have been run under Linux.
create iphone backup (http://libimobiledevice.org)
idevicebackup2 backup
Reading the backup
git clone https://github.com/PicciMario/iPhone-Backup-Analyzer-2
make build
then modify main.py on line 1449
-database = sqlite3.connect(':memory:') # Create a database file in memory
+database = sqlite3.connect('/tmp/md.db') # Create a database file in memory
then just start program and let it parse Manifest.mbdb of the iphone backup
python2.7 main.py
parse /tmp/md.db and extract names of whatsapp files and media
sqlite3 /tmp/md.db
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter ".help" for usage hints.
sqlite> .mode csv
sqlite> .separator | \n
sqlite> .output files2.csv
sqlite> .headers on
sqlite> select fileid,domain_type,domain,file_path,file_name from indice   where domain = "net.whatsapp.WhatsApp" AND domain_type = "AppDomain";
sqlite> .out stdout
sqlite> .quit
copy files and correct their names (just replace with your UUID):
foreach i (cat files2.csv | grep Library/Media/ | grep '""' | sed "s/|\"\".\+$//g" | cut -d "|" -f 2- | sed "s/|/\//g");do;mkdir -p /tmp/extracted/$i;done
foreach i (cat files2.csv | grep Library/Media/ | grep -v '""'  | sed "s/|/\//g" | sed "s/\/AppDomain/|AppDomain/");do;src=echo $i | cut -d "|" -f 1;dst=echo $i | cut -d "|" -f 2 | sed "s/.$//g" ; cp -v /Path/to/iphone/backup/UUID/0ef862e6faede9b72c75b948f8b5c9663921e796/$src /tmp/extracted/$dst;done
cp 0ef862e6faede9b72c75b948f8b5c9663921e796/ec50dd986a0f35953e40f6ca9602ad78173e254f /tmp/extracted/Contacts.sqlite
cp 0ef862e6faede9b72c75b948f8b5c9663921e796/7c7fba66680ef796b916b067077cc246adacf01d /tmp/extracted/ChatStorage.sqlite
Now you have your whatsapp media and ChatStorage.sqlite
install adb (from Android-sdk-update-manager) http://developer.android.com/sdk/
On android install WhatsApp, become debugger and enable usb debugging. Setup WhatsApp and send at least one message and click backup in whatsapp. Download Legacy whatsapp and possibly also current one:
links https://github.com/AbinashBishoyi/WhatsApp-Key-DB-Extractor-UnOfficial/
wget 'http://www.whatsapp.com/android/current/WhatsApp.apk'
adb install -r -d LegacyWhatsApp.apk
backup whatsapp (http://www.digitalinternals.com/security/).
This is the only phase the legacy version needs to be installed:
adb backup -f whatsapp.ab -noapk com.whatsapp
Extract key (http://www.digitalinternals.com/security/decrypt-whatsapp-crypt8-database-messages/419/):
dd if=whatsapp.ab bs=4096 skip=24 iflag=skip_bytes | openssl zlib -d > whatsapp.tar
tar xvf whatsapp.tar apps/com.whatsapp/db/msgstore.db apps/com.whatsapp/f/key
k=$(hexdump -ve '2/1 "%02x"' apps/com.whatsapp/f/key | cut -b 253-316)
Pull whatsapp message backup
adb pull /sdcard/WhatsApp/Database/msgstore.db.crypt8 msgstore.db.crypt8
decrypt:
iv=$(hexdump -n 67 -ve '2/1 "%02x"' msgstore.db.crypt8 | cut -b 103-134);dd if=msgstore.db.crypt8 bs=4096 skip=67 iflag=skip_bytes | openssl enc -aes-256-cbc -d -nosalt -bufsize 16384 -K $k -iv $iv | gunzip > msgstore.db
merge databases (https://gist.github.com/paracycle/6107205). The script provided here is not complete and trou reading multiple forensicsites I now know how to modify, to get your media also... but that is work in progress
Anyways:
sqlite3 -init ../convert.sql ../merged.db
encrypt:
dd if=msgstore.db.crypt8 iflag=count_bytes count=67 of=msgstore.db.crypt8; cat merged.db | gzip -5 |openssl enc -aes-256-cbc -e -nosalt -bufsize 16384 -K $k -iv $iv | dd of=msgstore.db.crypt8 bs=4096 seek=67 oflag=seek_bytes conv=notrunc
Push new backup:
adb push msgstore.db.crypt8 /sdcard/WhatsApp/Databases/
Push current version back to android and start whatsapp to read the backup:
adb install -r -d WhatsApp.apk

Will still continue to work with this subject. Thinking of writing small C backend to automate this work... But don't probably have time to do it.

Wow, this looks very promising, I will give it a go when I get home.

Well I've been doing the same thing for 2 days. It was relative simple. I have still not figured out how to include media.
Software you need:
Openssl
Adb (android debug bridge)
Sqlite3
legacy version whatsapp
+common unix tools
The work flow is like this:
Extract all media from iPhone backup. Filenames are hashed and indexes are in Manifest.mbdb and can be ten just copyed to right locations. With adb install legacy version of WhatsApp and retrieve key from android with adb backup. Uninstall legacy whatsapp. With adb download msgstore.db.crypt8 from android. Strip header and iv and decrypt with key and iv using openssl. Then gunzip and you have the msgstore.db
Merge msgstore.db with chatstorage.sqlite with standard SQL commands.
Gzip and encrypt msgstore.db using the same key and any iv. Store the header + the iv and the encrypted data in a file concatenated together and named msgstore.db.crypt8. Move the file to android /sdcard/WhatsApp/Database/ with adb and install WhatsApp.
I can I've you the sources but not at home rigth now.. So will do it later...

This sounds good. Can you maybe link to the required tools? Most importantly the legacy WhatsApp APK.


text:
How to enable multi-channel sound on android?
I'm trying to setup my android box(4.4) to output 5.1 sound through my USB Sound card. It works well on Linux and Windows. but there is poor documentation on Android regarding audio devices.
I tried editing /system/etc/audio_policy.conf by changing AUDIO_CHANNEL_OUT_STEREO to AUDIO_CHANNEL_OUT_SURROUND at the usb section of the file and it still works the same way. can anyone refer me to something else to do in order to enable multichannel audio?


text:
What currency does the Google Play Store display in?
So, according to the help desk (on Google), it says the following:

Note: You'll always see the currency you'll be charged in before you complete the transaction.

The only problem... Is, that I'm not seeing any currency changes. No prefixes (ie. A$##.##, S$##.## or U$##.##; for Australian Dollar, Singaporean Dollar or US Dollar) or anything.
I've found instances where people are seeing two different currencies; one before purchase and another after the purchase (in their current country's currency).
For example (Before purchase screen):

(Confirm purchase screen)

For me, it however... It does not change, so - I have no clue which currency it is actually showing prices in.
(Before purchase screen)

(Confirm purchase screen)

As for through an actual Android device, it only displays the amount and not the currency.

tl;dr - The question is:
Looking at all these pictures, will I be charged:

$2.33AUD? (Currency of credit card)
$2.33USD? (Assumption that Google is using its own currency)
$2.33SGD? (Currency of location; where I am)

Also, as usual - The above costs does not include processing/conversion fees and charges, and other stuffs and whatnot that goes behind the scenes that ends up getting lumped onto your bill.

Probably depends on the region settings of the device. This needs some research (or it might just be a Google error)

Okay now I just checked the same app here as you can see:

So it shows the price in my local currency.
I also checked that 4.78 TL is equal to 2.33 AUD, so that price you see there is in AUD.

What did you mean by "here" in your answer? I'll have a similar problem since I'm in Brazil and I have an American (USD) card.

@VitorCanova I don't understand what you need to figure out. When you check the app, it shows it in your local currency.

Right. I need the opposite. I need see and pay in USD.

@VitorCanova To see the opposite, you can use any currency converter. Even Google itself has one. Just search BRL to USD on Google. You can pay with your credit card regardless of its currency. For example: If it says app is 30 BRL, it means it is 9,25 USD. When you pay with your credit card, it should charge you 9,25 USD.