text:
Automatically enable USB tethering when device is plugged into a PC
I'm running Android Marshmallow on a Nexus 5. I tether it to my laptop via USB. Is there a way to configure things so that the USB tethering happens automatically when I plug things in?  (It takes 5-6 touches to turn on the USB tethering.)

Just a side note - if you find an answer that works, make sure you remember what state tethering is (on/off) when you use it with any other computer ;)

Having tried multiple answers to this question and never getting it to work, I noticed on my Xiami phone running MUI 11 (Android 9) that turning on "Developer Options" now has an option for the default USB setting - one of which is USB tethering. This works flawlessly for me.

Confirmed on a Pixel 2 running Android 10.

Works on an S10 with Android 10 as well.

Does not work on a Galaxy S7 with Android 8. The option is available but has no effect.

unfortunately, this option requires disabling "USB file transfer" which is very useful for developers - it would best to allow both USB tethering and file transfer but it is not possible to check two modes in Pocophone f1 dev tools

@dkocich Developers can still enable USB Debugging and use adb push / adb pull, though. Might be not that convenient, but gets the job done.

Developer options settings has a setting to set default USB configuration. Its name could vary depending upon your ROM, so try looking for any setting having the name "USB configuration" under Developer options. Click on that, and choose the option which has "USB tethering" or  "RNDIS" written.
From than on, whenever you would plug the device with a PC using USB cable and unlock the device, if not unlocked already, USB tethering would automatically be enabled. I tested this on a OnePlus 6 running Android 10 and the settings change persisted across multiple plugging/unplugging and reboots.
Developer options settings are by-default hidden though. To enable the access to them, you would need to follow certain steps. Google's instruction per "Configure on-device developer options" are:

On Android 4.1 and lower, the Developer options screen is available by default. On Android 4.2 and higher, you must enable this screen. To enable developer options, tap the Build Number option 7 times. You can find this option in one of the following locations, depending on your Android version:

Android 9 (API level 28) and higher: Settings > About Phone > Build Number
Android 8.0.0 (API level 26) and Android 8.1.0 (API level 26): Settings > System > About Phone > Build Number
Android 7.1 (API level 25) and lower: Settings > About Phone > Build Number

Note: instructions for your ROM may differ if the aforesaid instructions from Google fail to work to enable Developer options. Your OEM or third-party websites are better alternatives to search for the solution in that case.

Thanks! This is THE way to do it.

7 times on Build Number, of course, how could I miss this option?!

it needs to be unlocked first for the default option to work. good point.

You can do this using the Interact block in Automate. Then it does not require root. Here is a flow to do just that. I first got the idea from a post by llamalab on androidforums.
Here are two explanatory screenshots from the Automate app:

You might have to modify the UI Element Class or UI Element Text to make it work with your phone.

Works for me without root. However, I still have to manually unlock the device.

Try Tasker.
Enable USB Tethering when USB is plugged in into a PC:

Context: State –> USB Plugged
Action: Net –> USB Tether

Source

Does not seem to work for all devices - USB tether says "sorry, this action is unavailable for this device".

Im use Event Logcat Entry UsbDeviceManagerthen run this command as root service call connectivity 33 i32 1 to enable tethering in android 7.1.2

authors: الباشا بو شملان


text:
Why is my new OnePlus One lack of options?
I already have a OnePlus One phone and I'm trying to configure a new one for a friend.  Both of the devices are updated to the version cm-12.1-yog4pas2ql-bacon and also have root.
But for some reason my phone has a lot more options in the menus.  For instance, I want to remove the camera and dialer shortcuts from the lock screen.
(Click image to enlarge; hover to know description)

Does anyone know what's causing this?

I believe this is because your phone has CM12 and your friend has COS12. Are you sure both phones have same OS ?

@Manubhargav Yes I'm sure of it https://i.imgur.com/k2ZT7yI.png

Thankfully, Manubhargav directed my attention to the "About Phone" section, and there was an option which I didn't remember that has existed, the option "Advanced mode" was turned off.
(Click image to enlarge)

source: Stack Exchange

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

sort: votes


text:
Maintaing a list of "must install" apps for new Android phones
Is there a option to maintain a list of must have apps which would always install on my phone when I loggin with that accounts email.
For example when you factory reset a phone or by a new one, it is really time consuming to remember and install all the needed apps by hand. How can I just say "hey phone, install this list of apps for me please".
edit : this apps need to be installed from google play not sd card

isn't there syncing option ?

I read now that android 5.0 will support profiles akka list of apps that you want to install from the store automatically. This was the thing I needed!

And how can you do this?

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


text:
How much difference does the camera app make for photo's quality?
I have just bought a Moto X Play, which comes with the proprietary Motorola camera app. I am wondering, how much difference does the camera app make for the basic photo quality like:

automatic determining of exposure
automatic white balance
automatic ISO settings
noise correction for low-light shots

I understand that some 3rd party apps give the users a lot more manual control over the settings, apply some post-processing, make sharing of the photos easier, etc. I am, however, mostly interested in using the phone as a point-and-shoot simple camera, so I would like to get the best quality out of the box in different conditions (especially in low-light).
So the question is, how many of the aspects I listed above and controlled by the hardware/lower level drivers, and how much is controlled by the camera application?

This article says they don't make much of a difference http://www.makeuseof.com/tag/tested-can-the-right-camera-app-make-your-phones-camera-work-better/

@beeshyams well, some horrible app (devs might mess-up as well) might make a big difference #D Which works in both ways: if you have a good one and try a bad one, you'll see the difference, the other way around you see it as well. Some apps might have better white-balance, for example. So while it might be true it makes not much difference in most cases (especially one high-quality app compared to another high-quality app), it might well make a big difference in other cases.

True but for point and shoot, which OP is looking for,IMO don't really help much. Where they outshine is in image processing, effects etc. BTW, do you think this stands a better chance of being better answered in Photography SE?

@beeshyams I'm not active over there, so I cannot tell. But what I can tell is that for at least "automatic white balance" the app can make a huge difference (my own experiences). Same with the noise correction (which goes to the "image processing" part).

I wish the native Samsung camera app didn't crash so frequently.  I've tried it on several brand new Samsung devices, and it often crashes just by zooming.

Based on my experience with my Samsung Galaxy J7, the best camera app is the built-in camera app.  You can adjust any parameter manually (except on Google Pixel phones). Then you can modify your photo by other apps like Photo wonder, etc..
Some selfie apps will take your photo with the small size (960x500), and you cannot adjust any setting.

authors: Алексей Гордеев

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


text:
How can I block a game on my child's phone during the night?
My son is playing chess on the Chess.com app on his Android phone. I do not have issues with the total time he is using the app, but rather the time of day (e.g. just before school or late in the evening).
How can I restrict the usage of the app for him for only certain times of day? Note that there are other apps (e.g. maps) that I do not want to restrict at all, so blocking the whole phone down is not an option.

Please tell me the Phone Brand and model, and I'll try to help.

I have Pixel 7, my child Pixel 2

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


text:
Basic question about flashing nandroid backups
I want to know that when we flash specific partition images (say system.img, data.img, cache.img, etc.), then how does the software know where exactly to put those partition bytes? For example, if I flash system.img, which CHS/LBA sector will it consider as beginning of that block? If it is based on the MBR/EBR1 tables, what will happen if I'm flashing the MBR/EBR1 too?
The reason I'm asking is that I want to change the partitioning in EBR1 slightly, so that more space is allocated to /data partition instead of /sdcard. I've got an old but good conditioned MediaTek (MTK-6577) based smart-phone called Karbonn-A30 which is great in build quality and almost every other aspect, but it only has 500MB of Internal Storage (/data partition in Linux lingo) which is not good enough for apps. Presently, the MBR and EBR1 partitions are thus:
$disktype MBR
--- MBR
Regular file, size 512 bytes
DOS/MBR partition map
Partition 1: 2.000 TiB (2199023255040 bytes, 4294967295 sectors from 1024)
  Type 0x05 (Extended)
Partition 2: 10 MiB (10485760 bytes, 20480 sectors from 18432)
  Type 0x83 (Linux)
Partition 3: 10 MiB (10485760 bytes, 20480 sectors from 38912)
  Type 0x83 (Linux)
Partition 4: 650 MiB (681574400 bytes, 1331200 sectors from 113152)
  Type 0x83 (Linux)

$disktype EBR1
--- EBR1
Regular file, size 512 bytes
DOS/MBR partition map
Partition 1: 376 MiB (394264576 bytes, 770048 sectors from 1443328)
  Type 0x83 (Linux)
Partition 2: 1.293 GiB (1388314624 bytes, 2711552 sectors from 2213376)
  Type 0x83 (Linux)
Partition 3: 1.998 TiB (2196501691904 bytes, 4290042367 sectors from 4924928)
  Type 0x83 (Linux)

Why this last partition which corresponds to /sdcard is left so large (1.998 TiB) is beyond my understanding! Since there is a good 2.5GB of space available on my actual /sdcard partition, I was thinking if I can alter the EBS1 and change the LBA addressing so that the third partition starts from 2097152 additional sectors (which comes to 1024MB or 1GB which is good enough for me), will it automatically increase my /data partition by 1GB and decrease the /sdcard by 1GB correspondingly? On XDA and other forums, I've read that people have successfully done this mod and achieved the change in partition sizes, but I first want to understand how it happens.

Since I have a MTK-6577 based phone and had to delve into repairing a broken partition table recently I thought I'd take a stab at answering this.

I want to know that when we flash specific partition images (say
  system.img, data.img, cache.img, etc.), then how does the software
  know where exactly to put those partition bytes?

If you flash to known mount points /system, /data, /cache you not need to know about the underlying structure, simply is there enough space and it's in the correct format (e.g. ext4). The mount points are specified in vold.fstab.
However if you use a low level flashing tool such as SP Flash you will need to also modify the associated scatter file to the new layout of the partitions as it will access the memory addresses for the partitions directly.
An example filesystem mount points for the MT-6577 (copied from /tmp/recovery.log):
CWM-based Recovery v6.0.2.8
recovery filesystem table
=========================
  0 /tmp ramdisk (null) (null) 0
  1 /boot emmc /dev/bootimg (null) 0
  2 /cache ext4 /dev/block/mmcblk0p4 (null) 0
  3 /data ext4 /dev/block/mmcblk0p5 (null) 0
  4 /misc emmc /dev/misc (null) 0
  5 /recovery emmc /dev/recovery (null) 0
  6 /emmc vfat /dev/block/mmcblk0p6 (null) 0
  7 /system ext4 /dev/block/mmcblk0p3 (null) 0
  8 /sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 0
  9 /sd-ext auto /dev/block/mmcblk1p2 (null) 0

Why this last partition which corresponds to /sdcard is left so large
  (1.998 TiB) is beyond my understanding

This is a result of using GPT vs older MBR partition tables. It is a special extended partition that is the maximum 32-bit address range (2TB). It allows loading the MBR to any device regardless of it's internal memory size. Then you have custom EBR1 (and EBR2) tailored for each model.

I was thinking if I can alter the EBS1 and change the LBA addressing so that the third partition starts from 2097152 additional sectors (which comes to 1024MB or 1GB which is good enough for me), will it automatically increase my /data partition by 1GB and decrease the /sdcard by 1GB correspondingly

I am not entirely sure about the details of that.
Instead I used swapped the partition sizes of /data and /emmc with a EBR1 provided on xda-developers.com. Then in Android use Link2SD app which utilises a 2GB ext4 partition on the external sdcard and move large apps over.
Just thought I'd add that if things go spectacularly wrong, like it did originally for me, you can recover by using backups of the original MBR and ERB1 files for adb shell connecting to your phone in recovery mode.
Restore partition details:
dd if=/tmp/MBR of=/dev/block/mmcblk0
dd if=/tmp/EBR1 of=/dev/block/mmcblk0p1

Oh and to manually create a backup in the first place:
dd if=/dev/block/mmcblk0 of=/tmp/MBR bs=512 count=1
dd if=/dev/block/mmcblk0p1 of=/tmp/ERB1 bs=512 count=1

Mount an external sdcard from CWM and you can copy the file to/from /sdcard.


text:
If I can flash a ROM using adb or SP Flash Tool, is CWM (ClockWorkMod) Recovery really needed?
I have a general question about flashing ROMs and recovery. I've flashed stock ROM on my Asus Fonepad before using adb & fastboot when their last OTA update had issues. Similarly, I've used the SP Flash Tool too to backup and flash ROMs on my MTK6572 based mobile in the past.
However, I've been hearing a lot about CWM recovery. Of what use it really is? Is it just another flashing tool like the others?
edit
As explained in comments, I know what CWM Recovery is and is used for. I specifically want to know what extra benefit it offers that others like adb/fastboot and SP_Flash_Tool don't?

Possible duplicate of What is ClockworkMod Recovery and what is it for?

@bmdixon Actually not. I know what CWM Recovery is and is used for. I specifically want to know what extra benefit it offers that others like adb/fastboot and SP_Flash_Tool don't?

@PrahladYeri In the field of flashing something, one software generally equals another, as long as both are supported on a certain device. So, no, the CWM and TWRP are Recovery tools which are able to flash software, but that's not their main purpose.

Problem is, someone has to make the ROMs you want in SPFlashTool's format and sign it properly (?) for it to work. It also requires a PC by your side. Since it's restricted to MediaTek devices, people just go the universal route instead.

Rest of tools require a pc to flash but this CWM stays in your mobile and you can flash roms directly just using your own mobile.

authors: Евгений Доманюк


text:
Is it possible to enable USB Debugging (Install via USB) on Redmi phone without signing into Xiaomi account?
I am trying to debug an android app using my Redmi S2 phone (android 8.1) but there is a problem. Even though I can enable USB Debugging in developer options, I am unable to enable "Install via USB" option. It asks for a Xiaomi account which I don't have (and don't want to open).
As per this one year old reddit thread, its possible but not without rooting. Mine is a relatively new phone and I don't want to root it just yet. Is there any other trivial way to enable the Install via USB option?
EDIT
My question differs from the linked one in that I don't want to root my phone or sign into a Mi Account to enable "install via USB". I'm looking for a solution that doesn't involve these workarounds.

Looks like there was a new answer on the duplicate not requiring rooting nor sign in. Consider checking that, or otherwise following that question to be notified for future answers.

@AndrewT thanks for the inputs. I tried but that solution didn't work for my phone, I'll follow that thread for future posts.


text:
What does the yellow progress bar in stock browser means, while rendering downloading web page?
While rendering / downloading web page the stock browser shows moving yellow progress bar. It tends to start increasing from the left, at times increasing from the right, there are also gaps in the yellow bar, before finally completing rendering / downloading and disappearing. I'd love to understand what it all means.
Whatsmyuseragent.com gives ...
"Mozilla/5.0 (Linux; U; Android 2.2; en-us; ViewPad7 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"

Android browser progress bar video on Picasa at ...
00:01 shows short yellow bar from left
00:02 shows yellow bar from right
00:03 shows longer yellow bar from left
00:05 complete rendering, progress bar disappears

I've never seen it come from the right, nor have I seen it "gap", but the progress bar is just that, it shows the download progress for the page that you about to view.
After you posted your screenshot and video, it looks like that the browser is seeing that you are on the Malaysian version of Google. If I am correct, the Malaysian is read from Right to Left, which would be why the progress bar loads from right to left.
If you just go to Google.com, it will load from left to right, or you have the default language on your device to be Malaysian, in which case, would default it to right to left.

The progress bar increasing from right is obvious on my Android browswer. FWIW, its user agent is ...
"Mozilla/5.0 (Linux; U; Android 2.2; en-us; ViewPad7 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
I can snap a video of the progress bar progressing if that helps.

A video or even a screenshot may help. There is an app on the market called "No Root ScreenShot It" - https://market.android.com/details?id=com.edwardkim.android.screenshotitfullnoroot&hl=en that can take a screenshot. You can then edit your original question and add the image.

Added image and video, snapped with a cheap android phone. Sorry for the quality. Yet to root my ViewPad7 and get a free screenshot app.

I have modified my answer.

Malaysian (or Bahasa Malaysia) used roman alphabet and is read/written from left to right (not right to left). My Viewpad7 Android language setting is "English (United States). The progressing from both left and right sides occurs for all websites. So, I'm not sure your modified answer is the correct answer, yet. My other android device is still on Eclair 2.1, and that doesn't seem to exhibit this progressing from left and right. I'll see whether other Android device I can get hands on, shows the same ...

oh, it is? When I searched for Malaysian alphabet, the site I looked at said it was written right to left. And if you default language is English on the device, then I don't know why yours is loading from right to left... :)


text:
Remote login into the phone from a PC

Possible Duplicate:
Any VNC solutions for an unrooted device?

Is it possible to remotely control an Android phone from a PC. Is there a program similar to VNC server that runs on the phone, with the client displaying phone's UI on the PC?
When I'm at my desk, it would be much easier to manage the phone (read/type SMS, install apps etc.) from the PC instead of poking the tiny touchscreen.
Searching brings many solutions in the other direction (VNC server on PC, VNC client on phone).

Yes, but your phone needs to be rooted: Droid VNC
With an unrooted phone and other apps you can do certain things like access the SD card, send SMS messages and manage apps, but to gain total control of the device it needs to be rooted.
See my related inquiries here and here.

Team viewer had recently provided app for Samsung phones. After installing this app in, the phone can be remotely accessed from PC.  The following is the screen shot from its site:

Webkey (Play store link, AppBrain link) is an open source app for remotely controlling your phone from a web browser.
Your phone must be rooted to use Webkey.

On your phone, search the app store for 'TeamViewer Host'. You can then connect from your PC.

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


text:
How do I easily bookmark sites on delicious.com?
On my desktop I often use delicious.com chrome plugin to save bookmarks to interesting sites. Quite often I also want to save interesting sites to delicious.com when browsing on Android browser.
What is the best way to do that?

There is a dedicated Android app available now for Delicious from AVOS.

Does it have the feature the questioner wants: is it easy to save a site to Delicious from the browser?

Link to Official Delicious Apps from AVOS
https://play.google.com/store/apps/details?id=com.delicious

I've installed this Delicious app, version from 14 January 2014. The previous app I used Andricious haven't been updated since 2012. Hence marked this Delicous app as the accepted answer.

Install DeliciousDroid, it will add an entry in the share menu of your browser where you can bookmark the current page and define tags for it and so on.
Edit: I tried some different tools (don't remember wich, sorry) some time ago and this one was the best in my opinion. Also I defined a tag called mobile-home and pointed my browser's homepage to the list of so-tagged bookmarks.

Is there no link to post to delicious on the page you want to save or am I misunderstanding you?

TQ Silas. How does DeliciousDroid compares with Andricious? I'm trying the latter first, since it seems more popular.

sabre23t: Don't know why, but Andricious is not available for my device (Galaxy S2 running 2.3.5), so what I'm writing may be wrong. As far as I understand Andricious is only a bookmark browser and manager for android (plus widget) but not a browser extension to bookmark pages. And there seems to be a bug that it  deletes assigned tags on edit (see market comments).

Thanks for the response, Silas. So far Andricious works okay for me (Samsung Galaxy S2 running 2.3.3). No tags deleted on my delicious bookmarks page. However, DeliciousDroid is still in my todo list, just in case. ;-)

You can also try Droidicious. It works fine for me.


text:
received SMS with content "request failed"
Today I received two suspicious SMS from two different sender - both from the same provider.
The messages only contained the text "request failed". The numbers do not look like some special expensive numbers.
Can anyone guess what happened?
Is there a way to find out if there is an app which is allowed to send SMS on my phone?
Update: now that I've seen that there is no suspicious app with permissions to send SMS, I try to reconsile the SMS in my SMS history with the ones from my bill. But I noticed that it's hard to get a chronological list of SMS from the build in app - any idea how I can get a chronological list of sent SMS and not conversations?

"The same thing happened to me today, though only one text message. From your posting time I even assume it happened at the same time. Maybe we could exchange what Apps we have on our phones to determine which one could be responsible? My most recently installed one is CPU Tuner. Such an event never happened before to me." --from another user

both messages had a prefix of +491525 . got the first one at 15:48 MEST. My recently installed apps where games which I trust. I guess the problem could be in an older app - only the server failed just now ?!

@Ralf: Re: your update. If you have a new question, please make a new question post.

I got the same problem. Received two messages with "Request Failed" and am curious where they are from. I noticed that they always seem to arrive shortly after Google Calendar SMS. So maybe that's somehow connected.
As you might be able to see - the SMS is sent to you and not from you. In previous days I got the Google SMS sometimes twice. So maybe Google tried to fix the problem - what's left is a false request from Google using your number with their calender application, instead of replying to Google that the request is from it gets send to the alias number - being your number.
I guess there's nothing to worry about. But anyway I'll try to remove my number from Google - I saw that somewhere you can just remove all SMS notifications - that might help.

Bingo - got both of them some minutes (aprox 40) after google notifications...

I tried replying with "STOP" at least in America that would work. But Google says that it won't work in Germany - but who knows...it's worth a try. ;-)

The last part of your question is easily answered, as there are a lot of permission scanners available on the Playstore. For added benefit, I will just mention one: AppBrain Ad Detector also scans for contained ad modules and more:

AppBrain Ad Detector (source: Google Play; click images for larger variants)
As you can see in the screenshots, such an app would turn up in "Has access to your messages", and for sure in "May cost you money".
There are a lot more permission-scanners out there, some even explaining what those permissions stand for and what they mean. Take a look e.g. at RL Permissions, Guardian Droid, or aSpotCat (app by permission) -- and check their related apps for more candidates.

Thanx - that helped me to find that there is no application which has permission to send SMS...

Glad I was able to help! As it solved your issue, you might consider accepting the answer (so others can see this is a solution) :)

It only partly solves my problem - still do not know what happened... but I will remember to accept it as answer when there will be no better one :-)

Re-Reading the issue, I fully confirm it solves only one half (but an important half, as you no longer need to fear some malware is clearing your account). The number the SMS was sent to is no "premium" number either (rather a common German cell phone number). Could it be you "left the device on the table", and somebody used his/her chance to send some SMS?

The SMS would be visible in the history. And "left the device on the table" is very unlikely :-)

The latter argument makes its point (my device is always attached to either my hips or my hands :) History can be manipulated, as you might have learned for history books) at school already :)


text:
Is There *Any* Way To Increase Internal Memory?
Ok, even to me this question sounds stupid but I let's just go with "the only dumb question is the one not asked".
I have nearly 14Gb free on my SD card but the Motorola Droid only has 128Mb internal so I am constantly fighting "low memory" warnings.  I have moved every app that I can to my SD card.  This is not only a hassle, for some apps (*cough*AnythingGoogle*cough*) I have to choose to either have Widget functionality or sacrifice my precious internal space.
Question: Is it physically possible for me to upgrade this internal memory?
Although I believe answering that question will cure my woes, I will open it further to ask: Do you have a recommendation on what I could do differently (other than just delete your crap!).  As I said, I have plenty of (SD) space so I find it asinine to have to make sacrifices because of these short-sights in this phone's design (after all, who would ever have an app larger than 1k, right?  You'll never come close to using 128Mb...).

Theoretically, of course, you could modify your hardware.  But this is not remotely feasible for 99% of us.
One thing you can do -- if you root -- is to install various apps that will allow you to move more to the SD card.  You could also try a custom ROM that is smaller than the stock ROM.  If rooted you will also be able to uninstall crapware system apps (be careful not to touch the important onces).

I actually removed my crapware (the only reason I root in the first place).  I did find an app to move any application to the SD card, but some of the larger ones (like Google Maps) I'm stuck leaving on internal or I'll lose widget capability.  Is there a way around this?  I know it was implemented for security reasons but I'm running out of options.  Even still it looks like most of my internal space isn't taken up by apps, but stuff like contacts, etc.  I'll have to dig a little deeper to see exactly how it pans out.

@Fantabulum I believe you can do some fancy partitioning/mounting/aliasing to make Android think that the SD card is internal storage instead of external, but that's risky and I can't find where I read how to do it.  As well it would cause a lot of apps to stop working anyways -- Android initializes services before the SD card is mounted, so apps with services would break.  You could try this in a terminal app on your phone: su then pm setInstallLocation 2. That will set the default install location to external storage, and may let you move a few more apps.

There are ways to get all of your installed apps to the SD Card, but often they include the need to run a 3rd-party custom firmware, and having to re-partition your SD Card.  Take a look at S2E (https://market.android.com/details?id=ru.krikun.s2e ) and DarkTremor (http://forum.xda-developers.com/showthread.php?t=715940 )

@Gary Link2sd will help you move more to sd card at the same time preserves any "widget" functionality. It is the app that you are looking for!


text:
How to stop Sony Xperia Z3 Compact making noise on using camera button?
I've got a Sony Xperia Z3 Compact running Android 5.0.2, and is not rooted, which has a button that instantly wakes the phone going straight into the camera app.
One problem - unless Media Volume is at zero, pressing the camera button makes a distracting and annoying tinkling sound.
It does this despite the fact that:

I already have "Sound" turned off in Camera settings. This turns off noises like the shutter sound, but doesn't stop the camera button sound. It seems the phone thinks "camera sounds" and "camera button sounds" are completely unrelated things.
I've turned off all the Sound options under the phone's system settings.

How can I turn off this specific "camera button" sound? I've looked through the system settings but can't find anything relevant.
Right now my "workaround" is to always turn media volume to zero after every time I do something which uses it, but this is far from ideal.

Just a side note: there used to be (and perhaps still is) a push to require a phone camera to make some sort of noise when taking a picture. Privacy reasons.

Yeah I'm aware of that debate, but to be clear, this isn't when taking a picture, this is when starting up the camera app (and only when doing so using the physical camera button, and only when media volume is not zero). It's definitely not a privacy feature.

Damn.... just keep finger on speaker and turn your camera on. This worked for me several times :D.................

Are you using Lollipop, or is the device rooted? I can try to make good use of my answer here. Tasker can trigger an action if the Camera button is tapped, so I would activate Zen Mode immediately. Since I don't have any Sony device I'd primarily rely on your feedback.

It's Android 5.0.2, and it isn't rooted (and I'd prefer not to root if possible)

@user568458 Please use '@firelord'. I didn't get your comment notification in my inbox. Anyhow, that answer I linked can also work for non-rooted devices. I did mention it at the bottom. Did you try it? It could work.

@firelord not able to test currently but will try it if no simple solution emerges

I agree with @Firelord, Tasker could be a good option. You'd have to test, though, to see if it's quick enough to mute the Media volume before the tinkling. You definitely don't have to root or run a shell command just to mute the volume when an app fires.

I know you said you prefer not to root if possible. So throwing my rooted option out there just in case you end up having to root. Found this on xda. http://forum.xda-developers.com/showthread.php?t=2492852

@jer3my thanks, and the fact that someone went to the trouble of making that tool makes me suspect this is not possible without rooting :-( dammit, why do so many hardware companies make basic UI mistakes when they make software, like "don't make unnecessary sounds that can't be turned off"...

@user568458 Well in some states(USA) its illegal to take photos with a device that doesn't make a sound when taking pictures.

In those countries and states it's the shutter sound that can't be turned off. Not one specific shortcut to the app that only exists on one company's phones. This question is not about the shutter sound and has nothing whatsoever to do with those laws which don't exist in my country.


text:
Yu Yureka hangs after being updated to Lollipop
Yesterday, I updated my device to Lollipop, and now it hangs. I have deleted many apps, transfers the to SD card, though it still hangs.
How do I resolve this issue?

Did you dirty flash the ROM? Meaning, did you not clear /data/ before flashing the ROM.
Dirty flashing can cause severe lag and many unexpected problems.
Please try formatting data partition and flashing ROM again.


text:
Custom recovery reporting wrong device when flashing CM11 in Samsung Galaxy Note 8 even when I downloaded the right firmware
I'm trying to flash CM11 firmware on a GT-N5100 device. I installed the custom recovery (tried both CWM and PhilZ), and while flashing it says I'm on a wrong device. On CWM, it was saying "The package is for N5100 and you are in a N5110, update aborted".
And on PhilZ, it says "This package is for kona3g, kona3gxx and you are on a konawifi, operation cancelled."
Now what am I supposed to do? I'm unable to install CM11??? So sad.

On comparing the models, there is difference between the two (especially when it comes to network). I suggest that you do have a look at this before proceeding and try that first.
But if you are sure that your model is N5100 and still want to try and proceed, there is a workaround you can do so it doesn't check/compare the models.

Open the ROM zip file with winrar.
Go to META-INF/com/google/android and open the updater-script with notepad.
You are looking for line similar to:

getprop("ro.product.device") == "N5100" || abort("This package is for \"  N5100\" devices; this is a \"" + getprop("ro.product.device") + "\".");
(this line should in fact be the very first line in script).
Erase this line, save the zip and flash again. It won't verify your model.
Warning: I am not really a Samsung user. So I am not aware of its models and naming conventions that much.  Make sure about models otherwise you may end up bootlooping your device or having other problems and having to flash firmwares over again (you can ask on xda itself about this).
Hope this helps ;)

Thanks. I found another way to bypass that verification by seeing a specific tutorial on YouTube which uses TWRP instead of CWM. It worked perfectly. The only harsh that surprised me when someone called me was that there was no audio in or out at all. I'd ask for a workaround for that here, but I guess I'll have to ask that in another post. The Snapshot I flashed is from the last year. But even that I may be afraid, I guess I'll have to try the latest nightlies. Thanks again.

I found it. Just followed this little guide (http://forum.cyanogenmod.org/topic/103375-a-quick-fix-for-no-audio-on-calls/) and it worked fine. Now I'm very happy with the brand new rom. =)  (At least so far.)

along with that file and line, the META-INF/com/android/metadata file might have device whateverthedevicenameis.

The device model is hard-wired into the recovery image. Make sure that you have flashed the right recovery image for your device.
E.g. TWRP lists the recovery images for both N5100 and N5110 on the same page. If you accidentally flash the wrong image, the device will still boot in TWRP recovery (the hardware differences are minimal). However, you will have problems flashing the right image for your device.


text:
Is it possible to uninstall stock apps in Sony Xperia E3 Dual?
My device has 4GB of internal Storage, but it only shows 2GB.  Apps have taken 1.7GB of space alone. Any idea for how to uninstall the stock apps such as as Hike,Line, and others. The only option I see is to disable them but no option as uninstall.

You need to root your phone and than use titanium backup.

You'll need to be rooted

Gain root access.

Install Titanium Backup or an equivalent

Select Batch Actions (top right corner) > Uninstall all users & system apps

Pick the system apps you want to remove, then press the checkmark at the top right hand corner


text:
Caller or Receiver can't hear my voice in Moto G 2nd Gen 2014 running Lollipop
The Caller or Receiver can't hear my voice but I can hear them. It seems to be a kind of software bug because when I do some recording the mic works perfectly.
The only problem that I noticed is my voice is not getting through on the phone calls. I checked the microphone sign in the dialer mode, and it is not disabled too. I have all my contacts and important messages, and I simply don't want to do the factory reset, unless it is really required and is helpful too. I'll appreciate any help.

Have had the same issue. I managed to fix it by simply restarting phone... but if that doesn't work then I would suggest a factory reset.


text:
Samsung syncing messages but not contacts on Galaxy S3
I messed up bad and lost all my contacts/messages when I tried to install another OS on my Samsung Galaxy S3. Now I have gotten the operating system back and Samsung Account let me retrieve my messages.
But not my contacts. I've checked all my Google accounts that I might have had synced on the phone using my PC web browser, but none of them had any contacts.
Is there any way to restore my contacts via Samsung? Or any chance I could restore them another way?
If anyone cares to hear the (almost) whole story in short:

I decided to change OS and so I rooted the phone (never done any of this   before) and made backups with Titanium Backup (TiBa).
I couldn't restore the contacts to the new OS with TiBa, guessing because it was only for the old OS.
So I reinstalled my old OS but it wouldn't boot so I had to do a factory reset as well. Which I heard would leave my data on the SD card untouched.
Well it didn't. So I lost my backups as well. I should have moved it to the computer, but I was lazy and had already started to install the old OS.
Luckily, I can at least get all my messages back because of the synced data.

Edit: Ah, also, before I did any other backup (which I lost) I did copy everything from my phone to my PC  using Windows Explorer, but I don't think that included my contacts. I have a folder  .../Android/data/com.android.contacts  but it's empty except for an empty cache folder.

It sounds like the contacts were saved as "phone-only" (unsynced) contacts. If that's the case, since all your backups are gone, I'm afraid you're out of luck. But I hope I'm wrong.

Yeah. That's probably the case. Darn. How can I keep my messages then, when I change to the newer OS this time?


text:
Samsung Galaxy Core Prime non responsive touch screen and back button for a while
I am using Samsung Galaxy Core Prime. Everything has been running smooth except the fact that for sometime I'm facing a strange problem of touch screen as well as touch button (Back button) at the same time. For example, when I chat using either Facebook Messenger or WhatsApp, sometimes I observe while typing in the keys the screen behaves abnormally i.e. if I try to erase a character there appears a new line or so. The keys don't respond.
At the moment, if I touch the Back button instead of going back to the previous app a new app appears (say Google+ here). Moreover, if I try to swipe down to go to the settings at the same time it pops down partially and disappears. The touch screen doesn't work entirely for a while. The problem vanishes automatically after a while, but very annoying as it occurs repeatedly.
I have 360 Security Antivirus installed and scanning shows no viruses either. What is the cause of this problem?

he is a nonsense guy who actually downvoted this question instead of solving my problem..because there is no nonsense thing in my question!

Hi Rosemary! I don't see nonsense in the question except the fact that there were some glaring typos (which you should've removed by reading the question before posting it) which I corrected now. Plus, there is no point in mocking the person who downvoted your question, other than to kindly ask the reason for downvote. // Anyhow, I'm not that downvoter of course, if it matters. :)

Just wondering, Are you using a screen protector and more specifically, is it a tempered glass one? My mom always used Invisishield(the plastic ones) on her phones and here recently, she tried one of the tempered glass ones on her Note 4 and it was causing all kinds of mis-presses and etc. Removed it and the phone was good as new.

thank you @jer3my for the response. Yeah,I have also a screen protector but not sure whether it is tempered glass, but it seems like plastic.

Try taking that off for a few days. There were cases those "boxes" caused strange behavior.

This could be a hardware problem, not a software problem.


text:
Where can I find the Chrome bookmarks stored locally in Samsung Galaxy S6?
I'm freaking out as my Chrome browser on my rooted Samsung Galaxy S6 got reset after using Datasync, and when I opened my Chrome browser it showed as a fresh install. Like never used before.  I had months of research in my bookmarks which I now see did not get backed up.  Now would the bookmarks be stored locally on my S6 somewhere so I can access that info???
And I didn't sync my Chrome bookmarks to the cloud since before I kept losing bookmarks by synching across devices.

If you haven't synced your bookmarks in your mobile chrome but you have signed in with your gmail account you can find the website you visited in https://history.google.com/history/

@Lucky if i sign in through settings in Chrome is that syncing or just signing in? I get so confused.

@Lucky  Is there any way to get the history from june 2015 from the link you gave?  I see a download archive option ...what does that do?

You can't get your hands on them locally without root access. Chrome stores bookmarks in /data/data/com.android.chrome/app_chrome/Default/Bookmarks. // It is a different matter if you end-up finding your old bookmarks or not, but that's the place to look for.

@Firelord   I AM rooted. ☺  How do I search?

Signing in to Chrome app and Syncing is two different things. You can signin and turn off syncing of chrome stuffs. Visit the history.google.com url and click see more link at the bottom of the page to visit to the particular date until you reach there.

Use Root Browser or ES File Explorer to visit "/ -> data -> data -> com.android.chrome -> app_chrome -> bookmarks".

@Firelord  I'm not too sure what EXACTLY to type to search..I type "data" then "data" ..?

It is the location you have to visit by first going to root directory (/) then go to data directory, then a data directory in it, and so on.

Did you get the file?

@Firelord Battery died! Have to try later. I'm to download search archives on my S3 but everytime I try to download and open nothing opens.

@Firelord  Is Root Browser or ES easier to use?

@Firelord   I downloaded  "ES File"  since it's maintained and opened it but unsure how to search still. How do I find the root directory?  The other issue is Google web history for Searches ask for my password every 5 min and then I have to start from the beginning to go back to the day of the month I was browsing.

You'll have to wait for few hours (not at home) to get proper screenshots for going into the Chrome Directory. You may try this until then: tap three horizontal lines at the top bar, go to Tools and enable Root Explorer. At the top bar, next to those lines, tap the entry and got /device -- the root directory. // That History part was suggested by a different user so I couldn't be of much help here other than to open the Google History page in new tab, and keep reloading it after 1-2 mins or so. You're probably observing session time-out.

possible duplicate of where are Android Chrome bookmarks?


text:
Can I change or remove Touchwiz in Galaxy S4 running Lollipop?
I just upgraded my Galaxy S4 to Lollipop. It is not to my liking. I'm considering options to buy a non Android phone just so I don't have to look at it.
Is there anything I can do about this?

What is it you don't like? Is it the icons, the new ui, any new functions. If it is everything i will post instructions on how to install a previous version of android.

The colors are terrible, the animations are terrible, the icons are terrible.. in short, everything. I like the way this looks: https://upload.wikimedia.org/wikipedia/commons/1/1b/Android_5.0-en.png So maybe a tutorial on removing TouchWiz?

TouchWiz Launcher can be replaced with any other launcher to your liking from Google Play Store. If you plan on removing TouchWiz altogether, I suggest flashing a custom ROM specific to your device.
See this article here for details on flashing your phone.

Is it possible to install just plain, default Android?

If it is the launcher that you don't like the look of, install a launcher from Google Play.
Or if the whole UI is not what you like then install a custom android rom, like CyanogenMod


text:
What is the use of Android System WebView?
I have seen some Android phones where this application comes installed on the device. What is the use of this application?
(Click image to enlarge)

Does installing this app have any advantage on any other Android devices which does not have this application installed?

It's been available since Kitkat and the apps which takes advantage of it can open the webpages in themselves (their activities) unlike those which always asks you to open them separately in a browser. E.g. Facebook on Android 4.4 and above loads the external links into itself rather than asking you to open them in a browser. See https://developer.android.com/reference/android/webkit/WebView.html and https://developer.chrome.com/multidevice/webview/overview

@Firelord So if I open Fb application and when I click a news article from the application with the help of the Android web view it will open the News article on top of the application and under the task manager it will show only Fb and not the browser through which the news is loaded.

Why cannot we embed default webView in separate fragment or activity and pass url to load in our app itself ?  I have done similar in this GitHub POC - https://github.com/hiteshsahu/Android-Universal-Web-Content-Loader .

Some applications require what is known as WebView, a mini browser for functions like approving logins from Facebook and Google+. This is essentially a miniature version of Chrome.
It used to be that WebView only updated with the OS. In Lollipop, Google detached it from the Core OS in a way, and added the functionality for it to be updated via Google Play, like other apps, automatically. This allows it to keep up with Chrome and provide a better browsing experience.
The next time you log into an app and you are brought to a Web Page in the app saying "Allow 'The App' to assess your Google Account" or what not, see if you get get to the Google homepage via the "About Google" link. Then search for and open http://WhatBrowser.Org You will see how it is a mini chrome-based browser inside the app, provided by the system, and updated by Google Play.
Having this installed will keep it updated. You will not have to wait to upgrade the Android OS.

Probably one of the best reason why WebView update is now independent of Android OS is because of WebView vulnerability on Android 4.3 and before. With the update being independent, the vulnerability can be fixed without the need to wait for OS update (though it's only for Android 5.0 and later).

I don't use Chrome Browser,Google+ and Facebook. I have disabled these apps. Should I disable Android System Webview app too?

means do I need Android System Webview app?

How is an Android N based device despite having it disabled is able to open webpages within the respective app

@user285oo6 From Android N, there is no more need for the System Webview. Chrome is used directly by embedding apps instead.


text:
How to turn on app notification badges in Aviate launcher?
I have a Galaxy S3,  and I just installed the Aviate launcher. For the most part, I really like it, but I have one quibble - I can't work out how to turn on app notification badges. I've found this page but the solution there doesn't work for me - pressing and holding on the home screen doesn't bring up a settings button.


text:
How do I install an OEM's launcher in my device?
I can easily install launchers available in the market like Nova launcher and others but not the launchers made by many OEMs (e.g. TouchWiz, Optimus UI, Xperia UI, Sense UI, Emotion UI by Huawei, MIUI by Xiaomi, Zen UI by Asus, Color OS by Oppo and the Cyanogen).
Anyone having a device made by those OEMs should be able to upload the APK of their launcher, so why it is not possible to install them? As an example, see How to download and install Samsung TouchWiz launcher any Android device?
A good detailed explanation would be appreciated.

The apps made by OEM are specific to their devices and ROMs.
The apps may depend upon external libraries that the phones don't have..

Anyone having a device made by those OEMs should be able to upload the APK of their launcher, so why it is not possible to install them? As an example, see How to download and install Samsung TouchWiz launcher any Android device?

You can directly install the APK, but it won't work.
Because, you need to place the lib files in the /system partition necessary for that app.
That's what flashing the zip file does :)
The only way to get it working on other devices is porting the app by editing and linking the necessary library files.


text:
What is the functionality concept behind Wi-Fi sharing (aka Wi-Fi Profile share)?
Recent versions of Samsung devices (at least to my knowledge) are equipped with a rather unique feature
called "WiFi Profile share" or just Wi-Fi Sharing.
My little understanding of this feature suggest that, a WiFi connection is "shared over WiFi"
unlike traditional hotspot feature which shares mobile data (3g, 4g etc.)
I would like to know how this idea of rebroadcasting a WiFi connection works. In most desktop environments this is achieved through
an implemenation of virtual wlan drivers, which then are used to rebroadcast/share a given connection through another SSID.
My question is how is this achieved in android through this feature (WiFi profile share)? Is a new interface apart from wlan0 created? Perhaps with Wi-Fi direct?
I understand it is not possible to have two concurrent wireless connections via the same interface (which is why WiFi functionality is disabled when mobile hospot is active)

The rationale of asking this question was that I wanted to achieve the same from my Android tablet to my beloved Symbian device (i.e Share Wi-Fi from my Android tablet to my Symbian device "over wi-fi" because the latter can't connect to captive portal wi-fi networks)

After a lot of digging the clue came from Wi-Fi Direct.
The concept explained

Wi-Fi direct is a wireless standard that allows creation of a
  connection between any two devices without a wireless access point (or
  going through a router).

Wi-Fi direct uses a Wi-Fi protected setup (WPS) protocol when connecting two devices.

Additional protocols have been created to make Wi-Fi direct more useful such as Universal Plug and Play, Zero Configuration and Device Profile for Web services.
More importantly when a p2p connection is formed over Wi-Fi, the device continues to maintain the uplink connection over any other network for internet connectivity on this device.
Wi-Fi direct uses a concept called software access points (Soft AP) which makes it possible for a device to act as both the access point that the Wi-Fi comes from and the
client that uses it".

The Soft AP provides a version of Wi-Fi protected Setup with its push
  button or PIN based setup.

WiFi direct and IP address
In Android, the WiFiP2pMangerclass (provides the API for managing Wi-Fi peer-to-peer connectivity) assigns IP address to every Group Owner which is 192.168.49.1, and uses the
192.168.49.0/24 pool in DHCP to assign addresses to devices that join the Group Owner.

Wi-Fi direct is a single hop radio communication, however supports
  multi-hop radio communications, with intermediate Wi-Fi nodes as
  packet relays.

There is a little backdraw with this setup, as traffic wont be routed over multiple hops as they do have the same IP space. Now here comes the implementation of a tunneling proxy
that allows passing requests and responses to the connected clients (which would foward the connection to connected clients)

Given my limited programming skills, this research has enlightened me, and allowed me to visualise how these great concepts have been incorporated into one of the the excellent application I have been looking for,
to ease the burden of trying to tether a "wi-fi connection over wi-fi".

The workaround
To cut the long story short, I ended up getting an application using a similar concept NetShare tethering (no root) application as  a solution to the problem addresed.

Apart from other "extra" features it offers, I was only interesting in this WLAN direct via proxy concept.

Now this application uses a vpn proxy to route traffic from device
  connected to Wi-Fi network to another client via a p2p connectivity.

Essentially, it uses a HTTP proxy to route traffic to the client and configuring the connection is fairly easy:
Go to connection settings of any device e.g PC, Iphone etc (but in this case used a Symbian device)
Add the wireless acess point if not done already, and input the Wi-Fi direct Group password.
Under advanced settings change proxy settings:
Server: 192.168.49.1
Port: 8282
(remember to allow this port on firewall settings for other devices)

Remarks: While I couldn't get into whole detail of how Wi-Fi profile share in Samsung devices works, this research has helped me see a similar concept  impemented in other ways to achieve the ultimate goal (Sharing a Wi-Fi connection over Wi-Fi or at least over Wi-Fi Direct)
Disclaimer: I am not affiliated with this application in any way, but it was an answer to my question hence why I explained my research.
References

Share internet by using WiFi-direct Android
How Wi-Fi Direct Works As A Gateway To The Internet Of Things
Assigning Wifi Direct Group Owner's IP address in Android
How to get each device's IP address in Wi-Fi Direct scenario?
Wi-Fi Direct
Multi-hop routing
Proxy Server


text:
Change "OK Google" hotword
I want to change the Hotword for the Google Assistant.
Is it possible to change the hotword from "OK Google" to something else?
Do i need a rooted device?

UPDATE: According to a comment below, the OpenMic+ app has been taken down by the author.

According to Google Help Forums, this feature seems  not to have been implemented yet:

At this moment, changing the hotword is not an available feature.
  However, we appreciate your feedback, and your feature request has
  been noted.

Fortunately there is a workaround:
There is an application, Open Mic+ for Google Now, with lots of customisation and enables the user to change the hot phrase.

With Open Mic+ you aren’t limited to “Okay Google”. Live out your
  sci-fi fantasies, support your favourite team, and just feel awesome
  with complete control over your phone.

Instructions:

Download and install the latest version of Google Search App on your device if you haven’t already.
Download and install Open Mic+ For Google Now App.
After installation ,open the app Open Mic+ For Google Now.
As soon as you open up the app you will see a warning indicating you to turn off Google Now Hot word Detection, here click on Settings >>Voice >> OK Google Detection >> Turn it Off.
Now head back to Open Mic+ For Google Now App and tap on Say area with a pencil icon.
Here type any command with which you want your Google Now respond like “Hey Device” and then hit Set.
Once set click on the Play button.
That’s it you now have successfully customized and changed Google Now wake up command from OK Google to something else in this case to Hey Device.

Hope this helps
References:

Alternative to "Ok Google"
How To Change Google Now Command From Ok Google To Something Else

The Open Mic+ play store page says: "Due to MIT overworking me, this application will no longer be supported by me :( Thank you to everyone for all the support, I hope to get back to this one some day.
"

Confirmation that the Open Mic+ has been abandoned: https://forum.xda-developers.com/showpost.php?p=67254032&postcount=503

Thanks for the update! But it it still possible to use the last release version?

It gave me various errors on my Samsung Galaxy Tab S3 http://a.co/bse54JM  (newly purchased).  The main use case for wanting to change this is having multiple Android devices close to you, each of which responding to the same hotword.

OpenMic+ has been taken down by the author, hence I think this post must be deleted or locked. Why lead people on a wild goose chase


text:
"OK Google" stops working after a phone call
Most of the time, the "OK Google" feature of Google Assistant works fine. I say "OK Google" and it goes into listen mode. However, everytime I finish a phone call, my phone no longer goes into listen mode when I say, "OK Google". Doesn't matter whether it's immediately after the call or half an hour later, it basically just ignores me completely.
Rebooting the phone is the only solution I've found that fixes it. I am currently on Android 7, but I believe this was an issue on Android 6 as well. I have a Galaxy S7.
Is there something else apart from rebooting I can do to stop this from happening?

Go to settings then under app section find google app and after that clear it's cache and data .


text:
Why does multi-user exist in Android if it doesn't work?

/sdcard -> /storage/sdcard0
/storage/sdcard0 -> /storage/emulated/legacy
/storage/emulated/legacy -> /storage/emulated/0

Based on the above, if all the locations point to the same virtual storage, what's the point in having separate storage locations for each different user?
If /storage/emulated/0,1,2,3,etc. all point to /storage/sdcard0, and saving files in any storage location make it appear in all other locations, how is it possible to have user designated storage if all information is the same for all users?
Or is it not supposed to be designed this way...that every user's storage should be the exact same, but if that were the case, then why does having multiple folders with different numbers for multiple users exist? Am I missing something here? Am I missing some key piece of information? Why allocate folders for a specific user if they all point to the same location and contain the same exact information?

See my comments on your similar question: When files are created in Android 4.2 and above, are files ever stored in one location? – and do read the Wikipedia article on symbolic links I told you instead of re-asking the same again. As I already wrote, you're looking at it from the wrong end, symbolic links work the other way around: it's not /storage/emulated/* pointing to /storage/sdcard0, but just the opposite – so sdcard always points to the current user's storage.

@Izzy On my 5.1.1, /storage/sdcard0 points to /storage/emulated/legacy. All hail the Symlink Hell!

@DeathMaskSalesman Yes, same as in Narcotixs post. Now, where does /storage/emulated/legacy point to? #3 above. So what is accessed finally, and where are data written to and read from when accessing /sdcard? The storage area of the logged-in user (in the example above that's the device owner, as the 0 in emulated/0 indicates, because the device owner is logged in – if you follow the chain of Narcotixs' questions, OP never tried with a "secondary user").

@Izzy So, what you're saying is that /storage/emulated/legacy points to /mnt/shell/emulated/X, with X being the currently logged in user, is it?

@Izzy Yes, from the output of mount, I can now see that /dev/fuse is mounted on /mnt/shell/emulated. Pretty hacky way to handle things, especially if you consider that the internal storage visible to a non-rooted user is just a subset of the /data partition (i.e. /data/media).

@DeathMaskSalesman You got it, yes! That's what I'm saying all the time :) Just with minor device/ROM-specific differences (as what in our case is /mnt/shell/emulated/X in the OP's case is /storage/emulated/X). But results are the same, the corresponding ROMs just chose a different mount-point (to achieve better confusion – after all, isn't it a "mounted con FUSE"?)

@Izzy That's the layer of psychotic hell the developers usually hide from the power users, heh. Why don't you write a huge answer with all of the above?

@DeathMaskSalesman because I already did that on Narcotixs' original question? Of course I could add my "Latin joke" ("mounting with FUSE (Latin: ’con FUSE’) leads to conFUSion") #D

@Izzy Not just Latin, but modern Italian as well!

@Izzy , I finally understand now, it all makes sense. Symlinks just redirect content and data to the current user's designated storage location.They don't actually hold any data at all, there merely reflect what is in that location. So if that's the case, then for example, let's say I'm "user3" and my designated storage is "/storage/emulated/3". All the symlinks would only point that location, because that is the current user that is logged in. Thus, multi-user actually works.

I wonder what would happen if a different user tries to access and save data in a different user's emulated storage (e.g., user3 attempts to access user1's emulated storage folder). Would user3 be able to gain either read or write access in the first place? @Izzy , any thoughts?

\o/ Yes, exactly so :) And no, the mechanism should take care for that. If you take a closer look, all those targets belong to "root". I don't know how exactly that works, but accessing another user's content should not be possible (except when being root).

Interesting...Well, I've exhausted you two, @Izzy and Death Mask Salesman, and I'm sorry for the confusion. Thanks for helping me understand symlinks and emulated storage. All hail the symlink hell!

@Narcotixs let me close this one here as duplicate. I will update my answer with some additional details I found (the answer why you cannot access another users storage obviously is because it's not mounted – at least not in "your context", and you cannot access what is "not there" ;)

@Izzy so when a different user logs in, all other users emulated storage is unmounted? So if you are user3, all you would see is /storage/emulated/3 for example?

Something like that, yes. A bit more technical, though. Please see my updated answer for more details.


text:
AVD with custom userdata.img doesn't boot
I have been trying to emulate a real android device using AVD by replacing the sdcard (sdcard.img) and userdata (userdata.img) pulled from my device.

Xiaomi Redmi 1S
  Android 4.4.2

Only replacing the sdcard causes no problems. However, after replacing the userdata (even with a stock sdcard), the AVD fails to mount the /data partition (according to the kernel logs (-show-kernel), as a result of which the AVD never boots.
The userdata image is quite big (5.9G), and I have used a sufficient partition size (with -partition-size 7168).
Pulling (with adb pull) /dev/block/mtdblock1 (which is supposed to be mounted as /data) from the live AVD shows that it is actually an empty file (therefore running e2fsck with alternate superblocks has no effect).
However, e2fsck identifies userdata.img as clean, and file userdata.img says that it is a valid ext4 filesystem. In addition, I have mounted and found userdata.img to be a valid partition.
EXT4-fs (mtdblock0): mounted filesystem with ordered data mode. Opts: barrier=1
end_request: I/O error, dev mtdblock1, sector 2
EXT4-fs (mtdblock1): unable to read superblock
fs_mgr: Running /system/bin/e2fsck on /dev/block/mtdblock1
e2fsck: e2fsck 1.41.14 (22-Dec-2010)
e2fsck: /system/bin/e2fsck: Invalid argument while trying to open /dev/block/mtdblock1
e2fsck:
e2fsck: The superblock could not be read or does not describe a correct ext2
e2fsck: filesystem.  If the device is valid and it really contains an ext2
e2fsck: filesystem (and not swap or ufs or something else), then the superblock
e2fsck: is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck:     e2fsck -b 8193 <device>
e2fsck:
e2fsck: e2fsck terminated by exit(8)
end_request: I/O error, dev mtdblock1, sector 2
EXT4-fs (mtdblock1): unable to read superblock
fs_mgr: Cannot mount filesystem on /dev/block/mtdblock1 at /data
init: fs_mgr_mount_all returned an error


text:
Is there a way to grant myself MANAGE_USERS permission while inside the adb shell?
The thing is that I'm fed up of some stock adware apps on my Micromax phone and want to disable them for good. So, as per this answer, I used adb shell to disable the app, but I'm getting the following error:
shell@Q4260:/ $ pm hide com.micromax.trendingapps
Error: java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USERS.
1|shell@Q4260:/ $

The error message indicates that I need android.permission.MANAGE_USERS to achieve that. So I even tried granting that permission to the shell app, but no use!
shell@Q4260:/ $ pm grant com.android.shell android.permission.MANAGE_USERS
Operation not allowed: java.lang.SecurityException: Package com.android.shell has not requested permission android.permission.MANAGE_USERS
1|shell@Q4260:/ $

Is there any other way to get myself that permission?
Finally, the smart-phone is Micromax Q4260 running Marshmallow if that matters. This could probably be solved by rooting, but I don't have any intention of rooting as it could be risky on this little known model.

I solved my problem with a little help from Google and XDA Forums. Though this doesn't answer the exact title question, I found an alternative way to disable OEM bloatware on Android M+ without requiring MANAGE_USERS permission or root:
pm uninstall -k --user 0 com.micromax.trendingapps

(you may use or not the -k option, which is to keep the data and cache directories)

Your hint allowed me to remove the apps "AudioFX" and "FM Radio" to clean up a bit further my phone (Redmi 5A - LineageOS 15.1). Thanks!


text:
Gmail closes when i touch icon in blue address bar
I'VE have a dgm t909s tablet android 4, when I am in the gmail app and I press the icon in the blue address bar a box pops up with ( unfortunatly gmail has stopped) and closes down the app.
Anyone got any answers please

It's not entirely clear what you mean by "the icon in the blue address bar". Could you describe it more fully or post a screenshot to illustrate what you mean?

in the gmail mobile (tablet) app - you open a email up, when it opens at the top of it there is a blue address that has the email subject in it and at the left hand side there is a small icon of a persons head & shoulders (This is apparantly the sender) now if you touch this icon -a box opens with unfortunately gmail has stopped with the option o f report or ok- I would post some sceen shots but I havn't got a clue how to attach them

It sounds like your tablet is missing the 'Contacts' or 'People' app (or has one customized by the manufacturer, which doesn't understand the same intents). Since every OHA-certified Android device has it, Gmail is trying to launch it without checking whether it exists, and that's what's going wrong.
If you disabled the app yourself (by clicking Disable in the app's page in Settings → Apps), then you have to re-enable it to avoid this problem.
If the Gmail app was pre-installed on your tablet, then this is a system integration error. You should complain to the manufacturers and ask them to release an update to fix the problem.
Until then, or if you installed Gmail yourself on a tablet that doesn't support it, you should be able to fix the problem if you can find and install the original Contacts or People app.

WOW! you know your stuff mate.The gmail app was pre-installed so I need to speak to dgm about it. I think next time I buy a tablet I will spend a bit more and get a well known one. Thanks

just been in touch with dgm they asked me to do a factory reset to see if it fixes it but that didn't work so they have asked me to return it to them

That sounds like a scripted response. It's possible they've already fixed the error in their ROM, so they're going to flash an updated ROM onto your device. More likely, they're going to run a standard hardware test on it. As the problem's a programming error, this test will report that the device has no fault, whereupon they may try to charge you for sending it back unnecessarily. You might want to check what they intend to do before you send them the device.


text:
XYZ X1 Change band from 900 to 850
I just bought the XYZ X1 Android phone with GSM: 900/1800MHz, WCDMA 2100 MHz
Unfortunately in my country are 850/1900MHz frequences.
Is it possible to change the band on this phone?
I've tried to change the band from terminal:
$ adb shell
shell@android:/ $ am start -n com.android.settings/.BandMode

Starting: Intent { cmp=com.android.settings/.BandMode }
But only limited list was shown:
Automatic
EURO Band
JAPAN Band
AUS Band
AUS2 Band

But there is no my band here, any idea how can I get it? Maybe base-band upgrade? thank you.

This is a design of the hardware. The only way to change it would be to disassemble the phone and install your own antennas somehow (which is not at all trivial). Can I use my device on a different carrier? has a lot of information related to this.

I saw in internet that almost all tri-band phones could change their bands. How do you know that mine can't be changed? Thank you.

Do you happen to have a link to where you saw that? Wherever you read that was wrong or perhaps using terminology loosely. If you could change a phone's supported bands anytime you wanted, then there'd be no need to even bother listing them on a spec sheet or manufacturing different phone varieties.

there are many places. http://www.movilesdualsim.com/foro/threads/20835-activar-banda-WCDMA-900-en-terminales-chinos/page8 in spanish for example. As I understand, dual band means, working on two bands on the same time, but some phones could have options which bands would you prefer. this is the other post: http://forum.xda-developers.com/showthread.php?p=36948876 Just need to figure out if my phones supports the band change

That's a completely different situation, though. The hardware of the phone in that XDA thread (the S5830-L) supports both sets of bands. Look at the spec sheet. The idea there is to essentially force the phone to stick to using one if its supported bands instead of another one, not adding support for a entirely different (and unsupported) band. That's not the case for your device.

Maybe you are right, just wanted to check every possible solution before buy the new phone. Thank you.


text:
Get 850MHz 3G working on Samsung S5 Active
I have Samsung S5 Active. It seems that it never get the 3G signal, only 2G.
After some research I found that 850Mhz is disabled in my phone, I tried to enabled it with the code: *#197328640# but no luck. This code seems to work only with S5 but not with S5 Active. I don't have even DEBUG SCREEN menu if I enter this code.
Any suggestion how can I enable 850 3G in my phone?
I also tried to connect to my phone from terminal:
$ adb shell
shell@android:/ $ am start -n com.android.settings/.BandMode

After entering these commands, I got to the menu in my phone:
Set GSM/UMTS Band:

but there were no options to chose. I believe somehting is blocking me from changing the band.
Please help, I can't use 3G until I fix it, it seems that mine other chinese phone works much better than Samsung S5 Active.

If the underlying baseband does not support 850 mhz it's not going to work.
Also, if you have a very old SIM it probably isn't going to work.
I believe the software can also prevent you to change the preference.
Maybe upgrade your baseband (radio) after rooting your phone. Maybe a factory upgrade will also do the trick, but I'm not sure. See http://forum.xda-developers.com/showthread.php?t=2794087 to root and be able to flash roms.
Personally, I'd try for a refund or return, try to let the store fix this issue. 3G is on the carton after all?

The phone is new (Samsung S5 Active) and it supports this band, the sim is 6 months old, I don't think it is a issue, because it works on my cheap Chinese phone.
Also I found how people fix it on Samsung S5, but my, S5 Active version has some difference comparing to traditional S5

According to other posts, AT&T seems to deactivate in purpose 850 3G as they don't use it.

authors: พันธ์พล ดวงภมร


text:
What are these small icons next to app?

I've seen this home screen on internet and I wanted to know what are the small bars and triangles next to the app's icons ?

What launcher are you using?

This comes from Action Launcher 3.
Those icons are features of the launcher called  Shutters and Covers. As described here,

Both Shutters and Covers are indicated by small shapes in the corner
  of your icons.

See corresponding screenshot:

The equals sign means there's a widget associated with the app and you can swipe up on the icon to display its widget in a popup folder window. These are "Shutters"
Another main feature is "Covers" which is similar. It is basically just folders, but when you tap the icon it launches the first app instead of opening the folder. To open the folder you swipe up.
Source:
Do you use a launcher other than Nova or Google? Why do you think it is better?
Update
Action launcher received a major update sometime ago, and has been renamed just Action Launcher (the 3 dropped).
According to Android Authority,

Not only does it have a bunch of new features, it also includes a new
  logo for the app and a new name... The app is dropping the “3” part of
  its name and it will simply be called Action Launcher from now on.

Additionally you'll notice the shutters and covers have a new polished design with smoother edges, than previously before.

I think it is the new O


text:
EzCast | How to cast to a projector by connecting to it's Wi-Fi Hotspot and still keep internet Wi-Fi connection?
Two days ago, my dad brought a projector that has a weird miracast system that works when something connects to it's wifi network and mirrors the screen using an app called EzCast.
The thing is, I want to use it to stream videos on my phone while mirroring my screen. The projector does not connect to normal wifi networks, but instead, it hosts its own network where the device to be mirrored/ cast from is to be connected to.
So If I have to watch something on the projector, I lost my internet connection.

Is it possible to connect to two wifi networks at the same time? Or
Is there any other way to get the desired result?. (stream videos
online to the projector).

Thanks. Please pardon the messy wording. I'm typing this on my phone and am an ESL speaker.

I think this works only if the projector is Wi-Fi Direct™
certified, and also if your android device support such capabilities.
Wi-Fi Direct is a Wi-Fi standard enabling devices to easily connect with each other without requiring a wireless access point. Simultaneous Wi-Fi direct and network Wi-Fi is an optional feature for devices. Some devices allow this and some do not.
References

Can a device simultaneously connect to a regular Wi-Fi network and a group of Wi-Fi Direct-certified devices at the same time?
Android running Wifi Lan and Wifi Direct simultaneously
Wi-Fi Direct


text:
Why does the system take up so much of the internal storage space?
I have a tecno c9 it has taken me about 2.5GB for apps and I still have system which has taken more than 5.5GB, so I dont understand why the system takes up so much space of the total 16GB that I currently have.
Is there a way I can optimise this internal storage space (16GB), because it really is a lot of space, however it seems its so little?

Well to answer your question, I think it is important to first read the insufficient-memory tag wiki to get some insight.
A significant amount of memory in internal storage is taken by "system" (/system, /data partitions etc) and in some cases is reserved memory.
Some manufacturers include preloaded applications (sometimes known as bloatware) and these reside in /data or /system or /cust (in my case) partitions. It is virtually impossible to view the breakdown of these files without root privileges. Some space is reserved for ROM updates, acts as system buffer or caches storage etc.
While it's difficult to uninstall unnecessary applications residing in these "system" partitions, there are a few methods that can help you optimize your space

check for pre-installed apps you don't need. Clear their caches and
  data, then uninstall their updates and finally disable them (so they
  won't get updated again).

While pre-installed apps reside in the /system partition (which you cannot utilize without root), their data and updates consume space on the /data partition which gets freed this way.
If you have acquired root privileges try moving some apps to other storage (SDcard) via App2SD


text:
What is this icon?

I have a Lenovo device, this icon  always appears and I am not sure which application is associated with this icon.

icon of Google assistant

@RahulGopi : if you are sure, why not make it an answer ? :)

This icon is similar to Google assistant, but, Google assistant don't show notification icon while its running in background. May be other person installed any app to activate assistant, and it is displayed there.


text:
Downgrade skype on Android to before Microsoft ruined it
I have downloaded a few apk's from APKmirror
removed skype from my Nexus 5x
adb install -r -d com.skype.raider_7.34.0.114-119668850_minAPI15\(armeabi-v7a\)\(nodpi\)_apkmirror.com.apk
5486 KB/s (37425319 bytes in 6.661s)
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

Is there any way to downgrade without error?  I do not like what Microsoft did to skype at all.

How did you remove it? Uninstall/reinstall should work, with the caveat that you'll lose your app settings.

I dragged the current Skype to the uninstall icon and it no longer shows up in my app list.  I also did a package search in adb and did not find anything with the word "skype" in it.

You should Uninstall the new version before insalling an old version.
But most companies stop supporting old versions after a major change so it can be possible that after some time MicroSoft decides not to support the version then it will force you to install new version

how can a company force a new version?  and if so can I trick the old one into installing by modifying the APK?

@flyingdrifter usually they do it like this. Whenever you will open the app it will only show you to update the app. I have seen this in whatsapp.

You'll need to enable "install from unknown sources" setting before this works. Also you need to uninstall the latest version first and turn off Google Play autoupdate for this app.
As @deepak pointed out, this may work for sometime until a major change on Skype's backend will start crashing your app or it may start misbehaving.


text:
Stop Galaxy S7 upgrade nag screen
Once or twice a day, I get a full screen nag from the OS asking me to upgrade to Android 7.  My phone is working great, so I'm not interested in upgrading as that will likely break and/or change things in ways I'd rather not deal with.
So, how do I prevent the nag screen from appear?  Preferably without rooting the phone.
Model: SM-G930U
Android version: 6.0.1
Android security path level: March 1st, 2017
Nag Screen:

I believe you can not. These updates are push over the air from the vendor. You can keep clicking on "LATER" if you manage

By vendor do you mean Samsung or the service provider Republic Wireless?
That is what my service provider said.  I gave them a polite lecture on respecting customers.

There's a better way to disable any package by using the adb pm uninstall command.
Note that this will not actually uninstall the app, but will only hide it from the system.  Best of all it works on non-rooted devices too!!
Enter this from your adb folder:
adb shell pm uninstall -k --user 0 com.wssyncmldm

If you really want to get rid of a lot of Security+OTA nagging, then run the following list of commands.  Optionally you can save it in a batch file to make it easier to run.  Note: Some packages will fail to uninstall which is fine, since this is a generic uninstall list for various Samsung models.
:Samsung Security+OTA Disabler (BillA 2017-01-01)
:
adb shell pm uninstall -k --user 0 com.android.sharedstoragebackup
adb shell pm uninstall -k --user 0 com.carrieriq.tmobile
adb shell pm uninstall -k --user 0 com.carrieriq.tmobile.IQOOB
adb shell pm uninstall -k --user 0 com.carrieriq.tmobile.IQToggle
adb shell pm uninstall -k --user 0 com.LocalFota
adb shell pm uninstall -k --user 0 com.policydm
adb shell pm uninstall -k --user 0 com.samsung.android.mdm
adb shell pm uninstall -k --user 0 com.samsung.android.securitylogagent
adb shell pm uninstall -k --user 0 com.samsung.sdm
adb shell pm uninstall -k --user 0 com.samsung.sprint.chameleon
adb shell pm uninstall -k --user 0 com.samsung.syncmlservice
adb shell pm uninstall -k --user 0 com.sec.android.diagmonagent
adb shell pm uninstall -k --user 0 com.sec.android.fotaclient
adb shell pm uninstall -k --user 0 com.sec.android.fwupgrade
adb shell pm uninstall -k --user 0 com.sec.android.soagent
adb shell pm uninstall -k --user 0 com.sec.omadmspr
adb shell pm uninstall -k --user 0 com.sec.omadmspr.syncmlphoneif
adb shell pm uninstall -k --user 0 com.sprint.zone
adb shell pm uninstall -k --user 0 com.sprint.w.installer
adb shell pm uninstall -k --user 0 com.tmobile.pr.adapt
adb shell pm uninstall -k --user 0 com.ws.dm
adb shell pm uninstall -k --user 0 com.wssyncmldm

If the notification is really annoying you, you could get rid of it by performing the suggested method of disabling the process responsible for handling  system updates and associated activities named com.wssyncmldm.
Head to Google Play store and grab Package Disabler Pro (Samsung)($1.49 not sure if there is free version, but reviews claim this is worth the bucs)
Open Package Disabler Pro and disable the process/service named  com.wssyncmldm and com.sec.android.soagent
 . This should stop the update notification.
Disclaimer: I am no way associated with the app, and this is just for educational purposes, Information is gathered through research from credible sources.
Edit: Package Disabler Pro 6.3 is recommended, read more here: https://www.reddit.com/r/GalaxyNote7/comments/5bnlcj/i_dont_think_so_verizon/


text:
Installing Applications in Isolated Environments
Is it possible to install (multiple) instances of the same app in an isolated environment, whereby it can't detect other apps, or read/write files anywhere else?

Yes just as the other answers have suggested. AFAICT, this mechanism is now being implemented in newer ROM versions by some manufacturers, and even some independent developers.
For example, Lenovo has incorporated a similar isolation mechanism in order to allow installation of multiple instances of applications or at least dual installation.
This feature is called Dual Apps in some Lenovo devices:

The brief description states:

Dual Apps will let you run two separate instances of the same app.
  Both instances will run independently of each other and will not share
  any kind of data with each other, except for contacts provided you
  have allowed that.

I believe this idea has been inspired with the recent surge of dual sim-powered smartphones and growing popularity of social networking applications such as WhatsApp, Facebook etc.
For this reason Huawei's EMUI 5.0 has implemented the same feature called App Twin

Essentially for now it supports WhatsApp and Facebook but more applications can be added as suggested on this XDA thread.
However it seems its not as fine-tuned as the former as it has some limitations :

You cannot backup or clear App Twin account data separately. When you
  enable an app in App Twin and perform a backup, both the main account
  and twin account are backed up. When you clear app data, both accounts
  will be deleted.

Probably the most interesting project on this topic now is Island
The developer (Oasis Feng) is working on a beta version of this project, and is described

Island is a sandbox environment to clone selected apps and isolate them from accessing your personal data outside the sandbox (including
  call logs, contacts, photos and etc) even if related permissions are
  granted. Device-bound data is still accessible (SMS, IMEI and etc).
  Isolated app can be frozen on demand, with launcher icon vanish and
  its background behaviors completely blocked.

The features are summarised as follows:

app freezing,
privacy protection,
parallel accounts

As mentioned above its still in beta, and installation is via
Opt-in the open beta test on Google Play

You can actually, there are a multitude of different virtualization apps that have been recently developed. I'm not sure specifically what you require, but you can try out Parallel Space, Go Multiple, Multiple Accounts, or many others just like it available in the Play Store.
If you download any one of the launcher apps (such as Nova Launcher or Google Now Launcher) then after installing one of the parallel apps simply import the launcher app into the parallel app (it's the first thing you're asked to do upon opening any of the parallel apps) and you have a secondary "virtualized" environment to install most any app you'd like without it doing any damage to your phone or other apps/accounts/etc.

You can try restricting what the app can see with XPrivacy if your Android version is supported (4.0.3 - 6.0.1).


text:
How to lookup a specific security certificate on my phone?
I have been trying to find out which security ca certificate is which on my phone, when they are all active my phone runs really slow.
Is there a way to find these certificates?

It seems unlikely that a CA certificate could make your phone slower, so perhaps the problem isn't what you think it is. What makes you think it's the certificates?

Go to your Settings app -> Security -> Trusted Certificates and you'll find all of them. Tap on an item and there's a "Disable" button available.


text:
Is shielding private data from apps possible by isolating/jailing them?
I want to keep my contacts list, call log, photos etc private. Xprivacy/Xposed looked like a viable path, but as of today (June 2017) it seems to be dead-ended and there is no sign of a Nougat release anytime soon.
Thus, afaik, faking results for api call is not a possible option for Android Nougat.
An other option I had in mind is to run certain apps in an empty environment. I was thinking i could achieve that by creating multiple users. I don't know what effects this could bring for my privacy.
My hope would be that nothing would be shared between different users. After digging in the Android documentation I'm not so sure about that being true.

How much isolation does creating extra users bring?
Are there alternative ways to sandbox/isolate apps?

@mattm I'm not intimately knowledgeable about it. I know that at least in the past revoking permissions leads to app crashes of malfunction.

Has that changed?
Does android respect it if I restrict GApps as well?
Is the new model forced on existing apps, or can they rely on a legacy layer?

Staring under Marshmallow (Android 6), the Android OS is able to restrict individual permissions (which may or not be fine enough control for you) for an app. Under prior versions of Android, there was no ability to restrict a single permission; if you didn't like that an application used something, then you simply had to choose to uninstall the application.
You can inspect and change permissions under Settings->Apps->[Specific App Name]->Permissions. You can see the table of dangerous permissions that you are probably worried about. These permission categories cover the examples you have enumerated (contacts list -> contacts, call log -> phone, photos -> storage). Izzy has pointed out that there is no separate control for reading v. writing, which could be an issue if your application needs to write to storage but should not be able to view photos.
As Izzy has pointed out, there are some things you cannot control with these permissions, for example access to the randomly generated Android ID or internet access.
Whether an application still functions with a permission disabled depends on how it was written. Well written applications will continue to function in some way. Applications that are targeted to versions of Android before Marshmallow or that are simply poorly written may simply crash.
You can set permissions for Google Apps. You can for example:

prevent the Photos application from reading storage, which means it will not be able to display your photos.
prevent Gmail from reading your contacts

Using multiple users will not help you with privacy. When you install an application, this application is available for all users. You do not need to open an application for it to access your data. So while under user A the application cannot access user B's data, this does not really matter because the application can also run under user B while in the background.

Thx, I thought that revoking permissions was not a viable approach at all. Still, some apps needs to acces a contacts list. I would like to present some apps an empty contacts lists. What options do I have? Is multiple profiles/users/accounts helpfull?

That's not an adequate protection. First, it's by far not granular enough (e.g. it cannot decide between "read calendar" and "write calendar"), and second it by very far doesn't cover all permissions (try e.g. restricting Internet access, or access to device IDs). To me, the built-in permission handling is not much more than a "white washing" attempt. Unfortunately, currently there doesn't seem to be a real solution when it comes to Nougat and up.

@Izzy You have pointed out important shortcomings but it's not clear to me whether this question needs that granularity.

@mattm seems it is, if OP wants to completely shield private data from apps – especially from system apps like GApps, which was especially pointed out in one comment. AFAIK that's not possible with Android's built-in AppOps.

@Izzy Do I understand you correctly that creating multiple users on the device wouldn't be of help? Eg. would whatsapp (installed by user1) be able to read the contacts of user2? If so, is there really no solution for this privacy hell? I mean, who tf thinks that the 100%-promiscuity android model (share everything about the owner with everybody) would be ok for everyone? I have a hard time believing that this of no concern to anybody else.

@Exceptione it wouldn't be of concern to Google who just wants your data :) But no: WA on user1 should not be able to access contacts on user2. But Apps on u1 and u2 would still see the same device identifiers, so WA/Facebook had easy play combining both contact lists. Same for other apps.


text:
Can't edit the Default applications
I have a Samsung galaxy 3,  the Touchwhiz Home is greyed out in the Default applications, nothing else comes up can't pick a default.
How do I edit the default applications in order to select Touch Wiz home?

Try resetting app preferences
Go to Settings > Apps > Tap on the three dot menu > Select Reset app preferences
This option resets default apps etc and check again and see if you can select Touch Wiz home.
Also check in Configure apps menu
On home app choose Touch Wiz


text:
Reacting to Bluetooth Disconnection
I have a problem where disconnecting from various bluetooth devices switches my phone into Silent Mode. This is causing me to miss important calls and messages. There are quite a few different devices that I connect to and disconnect from throughout the day (car, headphones, bluetooth adapter connected to stereo, etc.)
It's being suggested to me that Tasker might be a solution to this issue. But I don't see that Tasker can be set up to listen for bluetooth disconnection events. Can anyone help me with this?
Basic goal is to listen for any bluetooth disconnection event. When such an event fires, I want to switch the Sound Mode to 'Sound'. Can this be done?
I'm using Android 7.0 on a Galaxy S7.

I don't know Tasker. Try this with another automation app Macrodroid  Trigger : Blue tooth disconnect > any device ; Action: Priority mode > none

Another action can be Volume change and configure slider scales to what you want

You can use Tasker to accomplish this, but since we need a bluetooth disconnect as event instead of state we need to create a dummy entry
task then move the actual task to exit so that it corresponds with bluetooth disconnect event.
Profile Context

Go to Profiles Tab and click the "+"
Event ➡ State ➡ Net ➡ [BT Connected (Name: name of BT device, Address:Input MAC address of BT device)] For multiple devices don't input anything in these fields
Tap back to exit from this window

If using BT name seems not to be working try using the MAC address of BT device instead.
Entry Task
You will notice as soon exit, you will be prompted to link this to a Task
 Here we just create a Task wait action as dummy

Scroll all the way up the Task list select "New Task + "
You can just keep it anonymous or give it a name
Click "+" to add new Action
Task ➡ Wait  ➡ 4 seconds
Tap back all the way until you exit this task

Exit Task

Create a new Task (name it anything)
Click "+" to add new Action
Audio ➡ Silent mode: Set Off
Tap back to exit from this task

Once you're done, Tasker should now automatically turn off Silent mode upon disconnection (exit) from your selected Bluetooth devices.


text:
Android Samsung S7 Auto boot on charger plug Script not working
I have successfully rooted my samsung Galaxy S7 using this tutorialhow-to-root-galaxy-s7-on-android-6-0-1-marshmallow/
Now i want to boot my mobile on charger plug when mobile is off. i found my lpm file in system/bin/ using ES file browser and changing lpm file content to
#!/system/bin/sh
/system/bin/reboot

and also tried
#!/system/bin/sh
su
/system/bin/reboot

and also tried
/system/bin/reboot

But none of method works for me on s7. also change the file permission for file for root,Group&World to rwx-rwx-rwx. I don't know why it is not working either i am conduction any mistake or its issue with latest technology of Galaxy S7 that preventing me to do this. It just showing empty battery now with a charging signal. No animation any more and also by replacing orignal file its doing nothing.
when i hit script from adb shell system/bin/lpm mobile reboot successfully.
Any help. Thanks is advance.