text:
What can be accessed if phone is lost?
If a phone has not had its bootloader unlocked, has not been rooted, has a finger print lock as well as a pin lock if the fingerprint lock doesn't work. How much can a thief access on the phone?
Will they be able to bypass the finger print lock? Will they be able to undelete deleted files in anyway?
What can and can they not do on a locked, unrooted, bootloader locked device? The device in question is a Oneplus 2.

They can flash stock firmware and resell it.
Without knowing the exact build number of the device, your data will not be kept after flashing. (I say this because it is possible to keep sdcard storage on some Samsung devices if you flash exact same build number, but it's a long-shot if you don't have it written down.)
They would have to spend a lot of money for professional equipment/service get your data off of it. To name some potential tools out there: reverse JTAG (privately owned, requires a specialist), government software, even Dr. Fone may be able to recover some pictures here and there, but that depends on how the flash image matches up (small chance).
IMO, there's not much to worry about as far as data. Report your IMEI stolen, then go on ebay and craigslist twice a week and see if you can find it! Search your imei # in titles and descriptions, and message sellers what their imei is, etc. You'll probably find it! Better yet, you may be able to track the loser down!


text:
Why is TRIM not supported on encrypted "/data" partition?
I have a rooted Lenovo A369i. I use LagFix (fstrim) to TRIM partitions. Previously it was working well with /data but after I encrypted my phone it doesn't. I decrypted my phone by formatting. But now in the app it shows /data partition having kernel or hardware issues. It's not hardware because before encryption it was working well.

Just if someone stumbles upon this, following conditions should be met for TRIM to work:

Underlying hardware (eMMC) must support TRIM. For instance Redmi Note 4 comes with MCP: RX1BMB which contains eMMC 5.1 and hence supports TRIM.

Kernel must have support for TRIM, was added in v3.1, but it is disabled by default and vold daemon must map userdata partition with allow_discards option, which it didn't in my case.
If your /data partition is encrypted (FDE), Support for allow_discards was added in version 1.11.0 (1) of device-mapper crypt (1) target, but may not work e.g. on devices with Qualcomm SoCs. See this issue for more details.

Filesystem must also support TRIM (1) (except if you want to TRIM a whole partition with blkdiscard). Android uses ext4 or f2fs on /data partition, both support TRIM.

If these conditions meet, you can perform TRIM manually (fstrim -v /data) or periodically (scheduled service) or continuously (with discard mount option). See this answer for details on how often you should perform fstrim.

source: Stack Exchange

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

sort: votes


text:
Can you flash a SM-G900P ROM on a SM-G860P?
I am an owner of a Galaxy S5 Sport (SM-G860P) and there's very limited support for ROMs out there. I have heard a couple of people saying you can flash a Sprint Galaxy S5 (SM-G900P) ROM on there as long as you flash the Sport kernel on there or something like that. I've also checked the specs and the two phones are nearly identical if that does matter. I don't want to wipe out my phone and then flash something that doesn't work.

Wanna provide a reference for flashing 900P on a 860P?!

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


text:
Contact synchronization slows down my phone and dialer
I am using Canvas Nitro A311.
The problem with the phone is that its contacts and dialer are always slow. Might be because of contact synchronization process of Gmail accounts. I, turn the auto sync OFF, from Account, but the dialer is still slow.

I'm not sure about that particular phone, but on my phone when my dialer and contacts slow down ...I go into my apps and clear the cache on all of them. If you can get the 360 Security App it helps also. I hope that this helps you.

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


text:
Android TV box + Remote Control + Netflix
I use a mele Android TV box with a mele remote control. This works perfectly with Kodi and MXPlayer, but the netflix app is extremely uncomfortable. It only works, very temperamentally, with the mouse controls.
I am Primarily looking for Play vs Pause controls actually.. The rest sort of works, but pause is very conspicuously lacking. Is this actually expected or is there a way to get my play/pause button on my remote to work with the app?
To be clear I want a way for it to work with my remote control. Not for a way to use my phone as a remote control for netflix.

Is MX Player's play/pause working?

@SarpSTA yup! it works


text:
How to connect a PC and android?
I wanted to share files between my computer and android device but always connecting them with a cable is a trouble. Is there a way to use my phone's WLAN network and my PC's WLAN to do this(without any internet connection), kind of like how Filetransfer software works on two android devices?
The file transfer software that I mention of only ranges for a short distance for android devices, I just want to use the two WLAN networks of my PC and android devices to share files between PC and my device and use no internet resources at all since the network here is not so good.

Possible duplicate of Can I connect my Android device to a laptop via WiFi to use file sharing?

There are many File Transfer Software available for Android which can transfer file wirelessly between PC and android phone, some of the most popular applications are listed below. The steps to establish a connection are very simple and given in these application only, but for Xender I have enlisted all the steps for better understanding.

Zapya
Download Link: https://play.google.com/store/apps/details?id=com.dewmobile.kuaiya.play&hl=en

SHAREit
Download Link: https://play.google.com/store/apps/details?id=com.lenovo.anyshare.gps&hl=en

Xender
This is my personal favorite and steps to connect the smartphone to PC are enlisted below.

Download: https://play.google.com/store/apps/details?id=cn.xender in your smartphone.
Open Xender and Click on Floating Action Button.
Select PC/Mac in Transfer to/from screen.
Click on Create Hotspot.
Now the application will create a hotspot in your smartphone and name of the hotspot will be presented in next screen.
Follow the onscreen steps on your phone to connect it to the PC which will be:

Connect PC to Wi-Fi network "Name of hotspot"
Open web Browser in your PC
Enter the web address which is displayed on your phone.

You have connected the phone to the PC and now you can start transferring photos, music, files etc.

Zapya WebShare
This is specifically for File Transfer between PC and smartphone only. It also allows to control Camera and display android notifications and messages in PC's Web Browser.
  Download Link: https://play.google.com/store/apps/details?id=com.dewmobile.kuaiya.web&hl=en


text:
Phone says that it is "up-to-date" after a canceled update
I have canceled a Marshmallow update download by accident, and now when I got to check for updates, the phone says that the device software is up-to-date.  How can I fix this?
Phone: Moto G 3rd Generation
OS: Android 5.1.1
EDIT:  Unfortunately I cannot check solutions because recently the phone asked me to update to Marshmallow again, and this time I accepted.

You can try clearing data for the updater app under Settings -> Apps
Try checking for update after this.
I'm not sure whats the exact name of app in AOSP/Moto G rom.
For CM the name of app is cmupdater.
Hope this helps.

@Elena : Your update might be stored in cache partition.

@Firelord:  I cleared the cache partition, but it didn't work.  Thanks anyway.

You could either try to clear the whole cache of your phone via Settings > Storage & USB > Cache > Clear cacheor you could try to update through Motorola's desktop app.

OTAs (updates "over the air" to your device) are often distributed in waves to reduce server usage and affect fewer users with errors that could be found in an OTA. By cancelling the download, you may have missed your chance in this wave and the server will only tell your device that an update is available in a later wave. However, the PC companion app shouldn't be affected by this.

Unfortunately I cannot check your answer anymore, because recently the phone asked me to update to Marshmallow again, and this time I followed through.

good for you, I guess :)


text:
How to make Android Amoled screen to display colours for hardware testing, through commands?
In hardware testing i want to display colours like red, green, blue etc.., on the android screen i.e., Amoled display. Can you help to do this through commands and how the invoke the android display feature in android shell.
(full screen should display colour).
Is there android tools to do it or any other procedure.
Android version : lollipop

What commands do you have in mind? Via a terminal app / adb shell (as the bash tag suggests – though it's not clear whether the device in question is equipped with a Bash interpreter), via some other app, or are you looking for development sources?

I mean that through adb commands

Might be a case for SuperUser then: How can I change the colors of my xterm using Ansi escape sequences? explains about the necessary ANSI sequences.

@Izzy But that just changes the colours displayed at the command line: if you do it in an adb shell, the only change will be on the computer you're running adb from.

@DanHulme Ooops – right, I still was thinking "terminal app", sorry.

You can achieve this by writing to the framebuffer directly using dd There's no standard procedure or tool, because the details of what you need to write depend on the framebuffer format in your platform; i.e. it's different for every model of device.
dd if=/dev/urandom of=/dev/graphics/fb0

will get you a random colour in every pixel of your framebuffer. (If the framebuffer isn't at /dev/graphics/fb0 on your device, you'll need to change the command accordingly.) To get a solid colour of your choice or a pattern, you'll need to find out what the framebuffer format is and think about it a bit.
An alternative way to do it is to set up the framebuffer with another application (e.g. a normal Android app that displays a full-screen colour), and then save the framebuffer to a file. This post explains the details of how to do it. The post is written for desktop Linux machines, but it works exactly the same way in Android, which uses the Linux kernel.

dd if=/dev/urandom of=/dev/graphics/fb0       I tried this but it showing that 'No such device'

As I said, "If the framebuffer isn't at /dev/graphics/fb0 on your device, you'll need to change the command accordingly." I don't know exactly where it will be on your device, so you'll have to investigate for yourself a little.

The framebuffer is at /dev/graphics/fb0, but i didn't know how to display colour.


text:
Accessibility services gets disabled automatically
I have a Gionee p3s.  I was trying to use tasker when i observed that the tasker accessibility service gets disabled automatically after a few minutes. Not only with tasker, all apps requiring accessibility services are having the same problem.
My android version is 5.1. It will be helpful if some one can help me with this problem. :-)

Related: https://android.stackexchange.com/q/197917/347677

This problem still happens, inconsistently, in Android 11, six years later.

I was facing the same issue on my Lenovo vibe k5. I did the followings to solve the issue.

Enable accessibility for the concerned app in the Settings.
In power saving option (in most cases it is inside the "Battery" option) select the concerned app not to be optimized.
Select the app as device administrator (this setting may be found inside "Security" option).
If possible lock the app in Task Manager so that it will not be killed when you kill all the tasks(apps). In "mi" phones you need to slide the app downward to lock it in Task Manager. I don't know how to do it in Gionee p3s. In my device this option is not available so I never kill the concerned app in the Task Manager( Or if I kill the app I re-enable the accessibility, then it remains enabled until I kill that app again).

After doing these the Accessibility option remained enabled even after restarting the phone.
This may not be the exact solution you asking for, but this is all I found after hours of searching.

I have done all these steps and still Tasker sometimes fails due to Accessibility access. It is difficult to find a way to generate this problem reproducibly, or to solve it.

Disabling battery optimisation was not enough for me, I had to disabled battery saver completely as every time it kicked in all of my accessibility services were disabled.
Also the offending service for me was Last Pass but the principle is the same.

I can't find an option to turn off battery saver, only an option to turn it ON.

you just need to make sure it isn't set to kick in automatically at 15% or whatever

I have no idea what that means. Beginners need specific instructions.

no problem, didn't realise you were a beginner! Does battery saver turn on automatically for you once your battery level dips below a certain percentage?

I don't know how to find out. But I don't usually let the battery fall below 50%. The accessibility access stops when the device is left to charge, probably because the data of all apps is automatically backed up to Google One. I did find a way to change the battery indicator from white to orange, but I don't know what that means. The device's manual is not detailed, and I cannot find detailed instructions for use either for Android 11 or TCL A3 on the Web.

I think that sounds like a different issue I'm afraid, I'm not sure what to suggest. This issue presents when the battery drops to a certain level rather than being charged. Unless when you're turning it orange you're manually turning batter saver on in which case that's why it's happening. Battery saver mode does turn it orange

Hii I use the same p3s and I have found better solution.

go to advanced settings then accessibility
make the services on then

*go to power management
in that go to power manager

take power saving mode and click on info button (right side)
unright (deactivate open the green background)
don't forget to save.
you are done

On my device (TCL A3/Tracfone/Android 11) there is no Settings > power manager. When I use Settings > search for "power saving" or "power manager" there is no result.

In my cade, oppo f1s, i found out one solution
First of all your device should be rooted, the best
way to do that is through resetting firmware to factory or updating to newer oppo system image, then installing custom recovery BIOS or whatever it's name is, then
then rooting under Recovery mode using Magisc...
All this is described in some xda-developers forum topic.
But that is not our issue for now,
To prevent accessibility permission to be revoked
from our service or app, we have to go developper,
by browsing SETTINGS >> DEVICE INFO , then clicking about 8 times or more on BUIL NUMBER... now that we
have become DEVELOPPER for good, we go back and then
we navigate towards SETTINGS >> ADVANCED SETTINGS >> DEVELOPPER SETTINGS... then enable DEVELOPPER OPTIONS, open section RUNNING SERVICES, browse for application named SECURITY CENTER, inside whitch we can see 4 running services, then STOP service named
CONTROL_VERIFY_SERVICE (of course on your own risk)
, that is it, now just go to SETTINGS >> ADVACED SETTINGS >> ACCESSIBILITY and enable accessibikity for your application and enjoy it.....

I installed a Service manager and it could not find a service named security center in Android 11.


text:
A contact can not be found by name in dialer but exists in contacts
There is a contact in my contacts which can't be found by name in dialer, but if type her number in the dialer the name appears. All my contacts are stored in my Google account.
How can I solve this issue?
My phone uses Android 7.0 (Samsung Galaxy Note 5)

Android version is wrong just so you know. Some versions don't get non-English characters like ş, ç, ğ, ö, ı, İ or ü etc.

Edit the contact where you can find it. Change name to English, if it uses rare characters.

The problem is the names are in English....

Settings > Contact > display options > configure contact lists > choose most appropriate list to use (All contacts)

I had the same problem with Huawei P10, but it seems I could solve it. Within "Contacts" there is an option called "organize contacts" and within that "Rebuild index data". I tapped on it and when rebuilding completed (within a couple of minutes) the feature of getting a list of contacts as a string, contained by their name, is being typed in worked again.

Check if you has enable the option "All contacts" in Contacts to display.
To check this, open the contacts. Select the three dots on the top right, and select "Contacts to display". Here you can select what contacts account you want see in your contact list.
Verifiy if your phone contact is here  and later search with the dial.

The contact exists in the contacts app, but can not be accessed using the dialer...

Ok, but the dialer app search in your contacts and registry calls/sms.
Try to apply these changes, and tell what happens with your search.

There is no 'contacts to display' option in my Samsung S7. This is very annoying feature.

@molblin oh i found the setting I have set the "all contacts" option on, still, the dialer cannod find certain contacts

I have the same issue. Example: I have a dozen "Adam"s in my contacts, but the dialer won't find them. The only workaround I found is to type "Ádám" or something similar with strange vowels, then it finds them. (I have a Vodafone Smart Prime 7 with Marshmallow, and I have two languages set up in google keyboard, never had this with earlier android versions or different phone.)

Try to un-link contacts and it will show them.It is something broken when you link some contacts from different sources and accounts. Could not find a pattern but this solve the issue.

i had the same problem in my Le Eco 2 phone and i just did very simple thing
1st export all your contact to phone storage then delete all your contacts and them import back all contacts from your phone storage.
This worked for me and i believe it will work in all android phones.

I myself had the same problem with my Huawei P10. Read some answers and found, in the Contacts section the 3 dots in the right lower corner of the screen. Pressed them and then again pressed Organise Contacts. There you will find the last option - Rebuild index data. By selecting that option I fixed my problem. Great for all my contacts to be back in the Dialer !

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


text:
Initial Charge Problems
I bought my Android last January and I forgot to charge it for 8 hours.
What will be the effect on my Android and  battery life? ( battery type is Lithium Polymer)

a) it will bite you, b) it will explode, c) it will survive? I recommend for reading: 1) our battery tag-wiki (and especially When should I start charging my Lithium battery?), 2) our charging tag-wiki, 3) the questions using one of those tags. Oh, and welcome to the Android Enthusiasts!

Firstly, Li Polymer has the same charge/discharge characteristics as Lithium ion, the underlying chemistry being the same. For more information see Li-Ion vs Li-Poly, plus how do Lithium batteries work anyway?
When the phone is marketed, manufacturers, typically charge the battery to around 40% as you may have noticed. This is good for battery longevity and ensures battery degradation does not occur on storage. See BU-702: How to Store Batteries for better understanding
There isn't a valid reason for charging the batteries for xx hours before first use or to charge till 100%. It is yet another charging myth , see misconception # 6

So, not charging for 8 hours does not matter and your battery is pretty much in the same shape as it was.
See BU-415: How to Charge and When to Charge? for a general understanding of charging "do's and don'ts)
Additional information on this site that would help you care for your batteries

Does constant charging harm my Android cellphone?
What can I do to increase battery life on my Android device?
When should I start charging my Lithium battery? (thanks to Izzy for pointing out)


text:
AOSP keyboard and unicode characters
Is it possible that unicode characters like š,č,ž are shown next to standard characters on the keyboard? My keyboard is Slovenian (QWERTZ), and I have to long press 's' to get the 'š' character. My system is Android 5.1.1 (CyanogenMod 12.1).


text:
Tasker profile that switches network to 2G when the phone is charging
I would really appreciate it if someone could whip up a nice Tasker profile which switches network mode to 2G immediately my rooted OnePlus 2 detects a charge state.
A drawback of OnePlus 2 is the lack of a fast charge feature so it can take a while to charge fully. Phones charge faster on 2G than LTE or 3G in my experience.
Thanks in advance

So what have you tried? Doesn't sound that complicated to connect a single condition with a single action. As for 2G toggle, you might wish to take a look at Simple way to toggle between 2G and 3G connection.

I haven't actually tried anything. Now that I have thought about it, a state (charging via AC) with an action 2G toggle should suffice right? I'm new to tasker so I'm taking my time with the learning curve

Yeah, actually Tasker has a steep learning curve. Tricky thing in your case is the 2G toggle, which AFAIR is only available/working with custom ROMs. Your device might fall into this category, though, as it probably runs Cyanogen (Mod or OS), so it's worth a try. also feel welcome to my collection of Tasker Resources (including manuals, tutorials, and more), which should help you getting started.


text:
What is the initial TCP Receive Window size in Android?
This may be pretty similar to the question here, however, I think it was either in the wrong place, or it wasn't clear enough, so it hasn't got to the right audience. Thus, I have re-formulated it here:
Intro:
The TCP Receive Window is the size of the buffer on the receiving end of a TCP connection. According to (RFC7323 - Section-1.1) the TCP standard has a 16-bit field to denote the size (2^16 = 65,536 Bytes max). However, this has been seen to limit performance in high latency networks (RFC7323). Thus, a field has been included in the TCP options/extensions called the "Window Scale" (RFC7323 - Section-2) in order to improve performance by increasing the Receive Window size by multiplying it by a scaling factor, thus Scaling Factor = 2 ^ Window Scaling Factor Value. So in essence the TCP Receive Window Size = TCP Receive Window Value * (2 ^ Window Scaling Factor Value) (Haven't fully understood how the scaling factor actually works, so this might not be entirely accurate).
Question:
The essence of this question is, according to RFC7323 - Section 2.1, it seems that the TCP stack implemented in different operating systems has a different default initial value. What is the default initial TCP Receive Window size in Android? Has it changed over the different versions?
References:
RFC 7323 - https://www.rfc-editor.org/rfc/rfc7323

3 close votes and 3 upvotes! Interesting case.

I can answer you about TCP WINDOW SIZE and TCP WINDOWSCALE fields as they appear in the TCP header.
Initial TCP Window Size should be 0x3908 = 14600, at least it is what I found so far using several versions.
(On most Linux distro I've used it is exactly the double 0x7210 = 29200.)
Window Scale has different values depending on the version, older set it to 6, newer set it to 8, at least for what I experienced so far.
You can check both values with this app:
https://play.google.com/store/apps/details?id=be.ac.ulg.mobiletracebox
It will show you them in the first line

0: youraddress ... TCP::Window (0xXXXX) ... TCP::WindowScale (0xXX)

Values are hexadecimal.
For Window Size use regular Syn probe.
For Window Scale use Window Scale probe.
(If no value is shown for Window, it should be the max (0xffff=65535). If your device is rooted you should set mode to server based.)
PS
I don't know if talking about an app is OK here, if not I'm more than willing to edit my comment.

Um. That sounds reasonable, but tracebox looks like a tracing tool? Is there a way to double-check I'm looking for the values that apply to my device, as opposed to the server I'm running the app against?

It's a tool about tracing modifications on your packets. It shows the packet sent and how it is received at tracebox server. Then if it shows a certain value for the sent packet and doesn't show any modification on that value on the received packet, it's quite probable that value shown is the actual value.

Um again. Do you mean it shows the reply received by the device?  That would make perfect sense, it's just not how I interpeted that explanation at first.  I can't think of any other way tracebox could know what the packet looked like, when it was received at tumblr.com (second screenshot on the app page).

It has two modes. One is like an enhanced traceroute and you choose the destination (tumblr.com for example) but unfortunately it needs root and doesn't help our case. The other is with the  help of a server: the app sends a packet to server that sends it back as it has been received.


text:
Why is one meeting time wrong
I have an Exchange account through work with many meetings.  They all show correctly on my PC and my phone (Nexus 6P)...  except for one.
It's a recurring meeting and it shows that it happens 1 hour before it actually does - only on my phone.
I even deleted the meeting and had the meeting owner resend the invitation.
Thanks for any ideas.

Check time zones.

If Time zone was off, all of the meetings should be off by the same amount though, right?  Even so, time zone for device and for that account have been verified.


text:
Cause and solution of "Error: Unknown operation string: <OP>"
First of all, the following command works perfectly fine on Android 5.1.1 (CM, PA and Tesla ROM builds):
adb shell su -c 'appops set android SYSTEM_ALERT_WINDOW deny'

The said command blocks Android System (android) to draw over other apps (show overlay).
The same command on execution in COS12 (Android 5.0.2) throws the command's usage and the error:
Error: Unknown operation string: SYSTEM_ALERT_WINDOW

(SYSTEM_ALERT_WINDOW henceforth as <OP> here)
Per the info in the source code of AppOpsManager.java, the error should show up when <OP> is null which it is not in my opinion.
Series of failed attempts

I tried with multiple types of operations with no avail, both in uppercase and lowercase characters.
I also unsuccessfully tried with interactive shell session, that is, adb shell → su → command.
I replaced single quotes with double quotes and also attempted with enclosing <OP> with double quotes.
I hopelessly tried android:system_alert_window as <OP> too. Same goes for using OP_<OP> as <OP>.
While I didn't need to change the SELinux status to Permissive in CM12.1, I did set it to Permissive and tried aforesaid steps with no success.
Tried for a change: I thought App Ops by nowsky and App Ops  [Root] by Droid Mate might help but they simply showed what Privacy Guard of CM gives.
I edited /data/system/appops.xml and reflected the changes found in the same file for CM12.1. Since I was not clear on what I was doing, it partially worked.
There is the system service appops and I've no idea how to make good use of it.

So, what is wrong in my command and how do I make it work?
My original goal
The problem posted here can be solved by that first command in all of my Android 5.1.1 builds. (There may be side-effects of it.) Now I need to find a way to port my solution on Android 5.0.2 build.
Note: the device is OnePlus One.
Update: I've now tested the command on stock Android 5.0 (running on Nexus 6) and the situation remains same.

Okay, so I realized that something else is going on (it is not matching the received  to null) in the line I linked about the source code.

Looks like it might possibly be that
SYSTEM_ALERT_WINDOW
Is the wrong string for the API. Android 5.0 is API 21 and Android 5.1 is API 22. I am just curious but try
OPSTR_SYSTEM_ALERT_WINDOW
Instead.

Nope, no effect.

Even then, does it actually totally prevent the Android System from drawing over other apps? It probably does what the string says it should do - prevent Android from showing alert dialogs.

@TamoghnaChowdhury Try it, you would come to know  that it does.


text:
How do I check bad sector on my android with ADB recovery mode?
I am finally able to install CWM on my asus. I suspected the asus didn't do well and there could be too many bad blocks on it's NAND.
So Now that I can do fast boot and recovery and adb, I think I would scan the whole NAND memory and see if something is bad and then mark it.
You know, like chkdsk or fdisk
How would I do so?

Have you tried fsck in ADB while in recovery mode? It might not work, but then it might.

Also, the whole of the NAND is not available to ADB even in recovery. The modem and bootloader partitions are protected, for example. Fastboot doesn't have anything like fsck, and it is the only mode in which these protected partitions are accessible.

Maybe try using the block device id of the NAND from fdisk for fsck?

You can follow these steps to check your Android NAND chip partition which checks bad blocks:
1.for your data safety,backup your data to pc or cloud first.
2.boot to recovery.
3.unmount all partition in recovery.
4.connect your phone to pc.
5.execute adb shell .
6.use cd command go to your partition directory,usual in:
/dev/block/platform/soc.0/<chip ID>/by-name

or like:
/dev/block/platform/msm_sdcc.1/by-name

for example:
cd /dev/block/platform/soc.0/12345678.sdhci/by-name

after enter directory,you can execute ls command show all partition name,like system,cache,userdata,etc.
7.execute e2fsck command with -cfv parameter and partition name,for example,you want check userdata ( /data ) partition with check bad blocks:
e2fsck -cfv userdata

or system partition:
e2fsck -cfv system

Additional Information:
The -c parameter for e2fsck is check for bad blocks and add them to the badblock list, you can execute e2fsck -h get more information.

-c doesn't work on android, badblocks not found


text:
How to enter in recovery mode htc desire 326g?
When I press and hold vol. up & power button it goes to "safe mode", when vol.-& power button shows "fastboot mode". But I want to get a hard reset. Please help me . My Model is HTC Desire 326g.

You don't need to enter recovery mode for a hard reset. Just remove the battery, and you're done :) What you probably want is a factory-reset, see: What is hard reset and what is factory reset?

To factory-reset your HTC desire 326g:

At the very beginning use the Power key in order to switch off the device.
Afterwards press and hold Volume Down + Power button at the same time for a couple of seconds.
When u see three Android images, release the buttons held.
Then press Volume Down to select option "Factory reset", and press Power button to confirm.
Good job! The factory reset has just been performed.

(Source: HardReset.Info)

Note: Next to some nice formattings, I've replaced "hard reset" by "factory reset". A "hard reset" is simply a "power cut" (e.g. taking off the battery), see our hard-reset tag-wiki (and What is hard reset and what is factory reset?). The two are quite often confused. Oh, and credit to whom credit belongs, right? ;)

Hi  you are hard reset your HTC desire 326g so first root your HTC
For kigroot
Second:,you are a pc
                          Then you made cwm img for HTC
After then your made image
Third: go to play store and download Rom manager and install cwm img
So you complete all stap
Swatch off your phone and press volume down+power button
Then you got recovery mod
(For made cwm img for any phone with pc  go YouTube )


text:
Why is there no direct message widget on my Galaxy S6 stock?
On a brand new Samsung Galaxy S6 in Europe with Android 5.1.1 and Nova Launcher there are widgets for adding a shortcut into a contact and to call a contact's phone number, but the one for text messages/SMS that I know from older versions. On my S5 with 5.0 I have this widget. I have not installed an additional messaging app that replaces the stock SMS application.
How do I get a shortcut for sending SMS to a contact?

On Android 5.0, the widget is there (1st pic) | On Android 5.1.1, it's not (2nd pic) – click images to enlarge

I'm afraid it's related to Samsung's decision (for god knows why), their TouchWiz, and seems it's the case (same issue on AndroidCentral forum) "Samsung removed the direct dial shortcut for no apparent reason in their lollipop update. It is also missing from the TouchWiz launcher."

@beeshyams there is no widgets tab. This is Nova Launcher, but even with tabs turned on no widgets tab appears.

@AndrewT this is Nova Launcher, but it also didn't bring it apparently.

tl;dr
It seems this is an issue specific to some Samsung Galaxy S-series devices running Android 5.1.1 Lollipop. There's nothing we can't do other than waiting for update from Samsung (if it's really a bug).

I believe it's either a bug, or Samsung's decision to remove "Direct Message" widget (for unknown reason) from their Contacts app. There were some reports about this issue.
From a post on AndroidCentral forum,

I've been trading support emails with the Nova folks. According to them, "Samsung removed the direct dial shortcut for no apparent reason in their Lollipop update. It is also missing from the TouchWiz launcher."

Another thread also asked the same issue,

I just upgraded to the S6 and it has Android 5.1.1.
There are a few things I can't figure out.
[...]
3. How can I set up Direct Dial shortcut on home screen and Direct Message? [...]

And lastly, on T-Mobile forum which gives hint on not carrier-specific,

My wife and I both have the S5 on 5.1.1 (F0G6) and both have this problem since the update. It happens for Direct Message shortcuts/widgets too. It appears to be a TouchWiz bug (guessing) since changing Launchers to something like Nova keeps the shortcut ... It is a small thing but a big problem for me - help!
My best friend has Verizon, and hers are disappearing as well, so I don't think it's a T-Mobile issue, I think it's an OS issue.

Which was replied with,

This is a known issues. Both T-Mobile and Samsung are trying to find out what is causing it and fix

I kind of believe it's possible to use 3rd-party apps, but I haven't researched for the alternatives yet.

Thanks for finding the references. I just read all of those quotes in your links as well. A quick search didn't yield any alternatives, but I will do more thorough research later.

I've asked for alternatives here.


text:
How to use a wacom tablet with Android
I would like to know how to use a Wacom graphics tablet with an Android smartphone or tablet. I have seen that it is possible in a YouTube video, wanted to know if there is any kind of driver or app that does this, because I I just tried to connect to my tablet (Wacom Graphire 2) on my smartphone and Moto G 1st generation (also already tested on a Moto x nothing).
I cannot take my PC to other places, and if the tablet worked on the smartphone that would be much more practical.

So, I purchased a new USB-OTG cable to test using a graphics tablet with my phone.  The new cable works and my tablet connects.  The side buttons "work" as clicks and "zoom".  The pen shows a "dot" cursor on my phone, but when I move the pen around, the dot always stays in the center.  Pressing down on the pen causes a click(in the center of the phone screen).  --- So, my first piece of advice is:  If it's USB, get a USB-OTG cable.   --- I think from there, I'll end up in a dead-end.  I couldn't find any references to anyone using my Huion Graphics Tablet with Android.

Locate the YouTube video and comment/ask the uploader. Best bet, since you've already seen it. But please do a follow-up if you receive any info, that way others can try also.


text:
How to delete email account from Android 5.0.2
I am not able to delete my outlook account from the android. It is Lenovo A6000.
I want to add my work email address instead of outlook.com
I have already added my work email address however I am not able to delete the outlook account.
I have tried pressing the bottom left key but it does not give the option to delete the account.

Post screenshots.

Usually you can delete your accounts in your mail application - otherwise go into the settings menu - accounts and remove it from there


text:
insufficient storage on htc
I recently purchased an HTC Desire 510 ever since I got it I have had issues with not having enough space. I had a 5gig SD card that I was using and it still seemingly wasn't enough space even though I had almost nothing installed on the phone and had almost no pictures or videos or anything else. So I went and picked up a 32gig SD card thinking this would solve my problem. I switched my storage settings to have my SD card as my primary storage source. I know my phone is reading the card because it shows up and it shows me how much space is left but when I went to install something my phone still told me "insufficient storage". I'm getting frustrated because I don't know what else to try and correct this problem. Help?

Have you tried the suggestions from the insufficient-memory tag?


text:
Whatsapp backup: Unable to move from windows phone to android
Following instructions found on WhatsApp FAQs I created a backup folder on my SD card of my old windows-based phone.
I tried to restore chat history on my new Android phone (LG Leon), with no success. I did the following steps:

removed previous WhatsApp installation on Android
put the sd card with the backup files (files are in SD card in the WhatsApp/WinPhoneBackup folder)
reinstalled WhatsApp
reactivated WhatsApp (sms stuff) and asked to recover backup

Unfortunately there's no way to allow WhatsApp to discover the backup files. Am I doing something wrong?
Some specs:

Source phone: Nokia Lumia 520, Whatsapp version: 2.12.266
Destination phone: Lg Leon with android 5.0.1, Whatsapp version: 2.12.453

Probably WhatsApp isn't looking into your SD card. Try copying/moving backups to the WhatsApp directory on the internal storage.

Here I got solution about your question on WhatsApp FAQ page. It says

You cannot restore the chat history from any other phone type to Windows Phone, or from Windows Phone to another phone type.

This question is possible duplicate of this.

That is not the whole truth!
There exists ways doing that! But not officially supported by WhatsApp.com

Biased comment (I'm the developer): Winwazzapmigrator does exactly that. It transfers windows phone whatsapp to Android. Check it out https://www.winwazzapmigrator.com

It this (paid) app the one and only way doing so?
Since WhatsApp has announced that WhatsApp on Windows Phone will stop working September 2019 (even the platform itself continue
I'll expect that WhatsApp offers an way of moving! Currently moving from Windows Phone to Android and all Apps (except WhatsApp!!!) it is/was easy ...

The main problem is that the file PATH is different in both Windows Phone/mobile and Android for WhatsApp data, also the formats are seems to be different from each other. This is reason there no option as of now to restore WhatsApp data from a Windows Phone/mobile to Android or vise versa.
WhatsApp should maintain a same file PATH and file format for any platform and should allow it's user to restore their data from any platform to another.

No, it could be simple if the Windows Phone WhatsApp offers backup to Google Drive. But it offers backup only to OneDrive. Also restore on Adnroid is not possible from OneDrive ....


text:
how do i delete a photo from a hangouts conversation
i sent a picture using Hangouts.  I don't want the picture in the conversation thread.  how do i delete just that picture, but leave all the other texts in the thread?

I’m voting to close this question because Google Hangouts is no longer available.

Leaving the hangout should block people from seeing your photo, even if you are added back. However, the other participants of the chat will be able to see you have posted a photo, it will just be blanked out.


text:
In Android, view previously opened web page when offline
On a laptop, I can open some tabs in the browser, switch to another window, disconnect from the network, return to the browser window, and the tabs are still there.
On Android, when I return to the browser, the contents of the tabs is lost (well, usually -- sometimes it's still there). Is there a simple way to have the pages cached as it would be on PC?
Namely, on the phone I open a web page in Chrome, read half of it, close my phone (or let it turn off the screen after some seconds of inactivity) or use some another app (such as make a call), go out of home (no wifi), open my phone, return to the Chrome window, and I would expect to see the same page (and the same tabs), even if I am offline by that moment.
But the page is gone and says it won't be shown without connection.
I know I can use other apps to save the pages in a folder and open them from that folder.
However, can't it work just transparently without the need to explicitly save the pages and explicitly open them? Open a page, do something else, return to the browser window, and see the same page.
I am OK using any browser (Firfox? Opera?) that can do this.

Chrome has a flag for saving webpages. Can't remember offhand.

The Sleipnir browser for Android has an option for making all tabs remain loaded even when the phone is offline. No need to specifically save a tab or do anything special to make your tabs available when you're offline. I'm not sure about the details, but it seems to fit your needs. The Mac/Windows versions of Sleipnir has much cooler features than the Android version, but it is still worth a try.

You can use Via Browser from Play Store.

Hello. Please do mention the instructions that one can use to achieve the objective in question. If the app usage is trivial than sometimes these instructions can be skipped. In this case, it doesn't seem to be trivial enough.

On your laptop, you cache images and websites to disk while on Android you only cache in memory. Meaning that when the app quits (or the system determines that it can quit the app automatically), the page is removed from your device.
Opera’s browsers does indeed allow you to save any webpage for later offline use. You must, however, choose to save it while you are online.
Many reading-list apps also does it if you want to explore other options.

What is your source for saying that Android browsers cannot cache pages to disk? // I distinctly know otherwise

This is not true. All browsers, chrome, firefox, brave, duckduckgo, all remember open tabs


text:
Is it possible to install pure Android on any Android phone?
As the title says, is it possible? What is AOSP (Android Open Source Project)? I want to install a pure Android operating system, nothing else. Full control (root access), no bloatware and all.
Is there any possible way, as Android is said to be an open source, so why we are bounded by these restrictions?

And please, DO NOT SCREAM. My eyes are hurt … As for your goal: that's called a custom ROM.

Here is your answer.

@Firelord, sorry for plagiarizing your ideas.

Depends whether there is a ROM of the kind you are looking for available for your device. AOSP is simply Google's source code for pure stock android, with no modifications whatsoever.


text:
Contacts are not displaying after Marshmallow update
Recently I upgraded my Moto G (Second gen) to Android Marshmallow. After that, my Contacts app is not displaying any contacts and call logs. What I am getting is one blank screen only.
I tried installing other apps like Contacts+, True Dialer, etc. but the same result. In fact, Contacts+ is not launching only. It's getting stuck while launching. So, after the Marshmallow update, my phone is of no use, because I can't make any calls, see my call logs, etc.
Is this a bug with Marshmallow? Any solution for this issue?

I could fix this issue by doing the following steps.
First Wipe the Cache partition. (It won't erase any files or settings)
To wipe the cache partition do the following steps.

Ensure the device is powered off, and unplugged
Press and hold the Volume Down button and Power button (located on the right edge of the device) for approximately 3 seconds then release.
From the "Boot Mode Selection Menu" screen, select Recovery.
Note: Use the Volume Down button to scroll through the menu options        and the Volume Up button to select.
From the "No Command" screen (Android figure lying on his back), press and hold the Power button, tap Volume Up once and then release the Power button.
Select "wipe cache partition".
Note: Use the Volume buttons to highlight and the Power button to select.
"Reboot system now" will be highlighted, press the Power button to select it.
Note: Allow several minutes for the reboot process to complete.

Once you are done with the Wipe procedure , go to https://contacts.google.com and export your contacts as .vcf file and copy to your device.
Open Contacts App (Phone app) -> go to options on the top right corner (3 dots) -> choose import/export -> import from .vcf file. This will restore your contacts..

I tried wiping cache and it didn't seem to work (but it is possible that I simply didn't wait long enough for the contacts to re-appear) so I tried wiping the dalvik cache and that worked. (Just as a tip if someone is experiencing the same issue. Just wiping the cache, deleting the dalvik cache doesn't destroy any data on your phone)

Remove the Google account first, then set it up again. Go to the Contacts' setting & set contacts display as your Google account. This time, the sync will be as per the Google account and all invisible contacts not found during the search will be visible.

Make sure your device's screen is on, then press & hold the Power button.
In the box that opens, touch & hold Power off.
You’ll see a “Reboot to safe mode” box. Touch OK.
Your device will start up in safe mode. go to contacts tab all contacts will update automatically then again reboot the device and you will be able to see the contacts in normal mode.

Restart your phone in safe mode, open the Contacts app, and you will see your contacts list loaded without any delay. Now switch off your phone and restart it in normal mode. Everything works fine.

On Moto G, the new Marshmallow doesn't allow to save contacts to phone accounts (device). You can save your phone numbers to your Google account and during the adding process of a new contact, there are no options to select the place where you actually want to save the new contact like it used to be in the previous version of Android; for instance -- SIM, phone, card, Google account.
In this way, Android tries to own you, your contacts, and all information about you.

To be fair, this depends on the Contacts app. Some 3rd-party Contacts apps still provide local storage.

Press contact icon and drag it to app info.
Then go to permission and enable all options (storage).
Then it will work.

Go to Settings - Contacts - Contacts to Display.
Select All Contacts.
This worked on my Oppo R9 Plus with Android 6.


text:
Unable to download apps from Play Store using mobile data
I have Mi4i mobile. I am trying to download  applications from Google Play Store- when I click on Install it  displays  "Waiting for WIFI...".
I am on mobile data, but it is not downloading through mobile data.
How can I download through mobile data?

Possibly the app you're trying to download is very big, hence Play Store recommended to use WiFi and will wait until it's connected to WiFi.

For MIUI 8(previous versions also).
Check your 'Security' app's -> Data usage -> Restrict data usage -> System tab. Within system check Downloads is allowed to use Mobile data.

Im using mui7, try go to tools>donwloads icon>on uper right pres " ....">setting>downloads size limit, u can change by mb or unlimited..

This will happen if you have Play Store: Settings set to Auto-update apps over Wi-Fi.

Cancel the download
Start the download manually

Manually started downloads will go through regardless of your data connection. You can also change the previously mentioned setting.

OP wrote: "I am trying to download applications from Google Play Store- when I click on Install". You don't click on Install when updating an app.

You may need to clear all data of Google Play store. I always prefer not to download from play store due to slow connection. There are many site which allow me to download apk file. See What are the alternative app markets? for more details.


text:
How can I run the Android emulator together with another VM?
Whenever I open an Android emulator when a different kind of VM is already running, I get the "usual" error messages:

emulator: Failed to sync vcpu reg
  emulator: Failed to sync HAX vcpu context

Here it is recommended not to run another VM, but what if I need the another VM for development, or to run the server for my Android app on it? Is there a way to run a VirtualBox Linux guest VM and the Android emulator at the same time? My host OS is OSX if that matters.

So "another VM" is not running Android (e.g. the Android-x86 project which one normaly runs with VirtualBox), but it's just "some other VM" (e.g. running Linux or Windows), like in the linked question – so it's basically the very same issue?

It IS the same issue, except, that there they wanted to be able to run the android emulator, and closing other VM-s were a sufficient solution, and in my case I explicitly stated that I need both VM-s running side by side.

This isn't about development specifically so Stack Overflow would not be a good fit.  Super User would probably be but, since we do support emulator use here, I think it's fine to stay.  I've incorporated some info into the question and cleaned up some comments.

If you don't need to run your app specifically in the emulator, you could run it in an android-x86 VM using VirtualBox or a Genymotion VM (which is a wrapper of VirtualBox) alongside your Linux guest.

Unfortunately I can't use Genymotion, it's failing. Maybe I'll open another question about that.

Yes, there is a way to run a VirtualBox Linux guest VM and the Android emulator at the same time.
I have a working setup doing exactly this now, and its reasonably simple. To solve the problem above, you can run Genymotion as your Android emulator, and Virtualbox for your Linux guest VM virtual machine.
This counteracts the problem described in the answers above as Genymotion uses Virtualbox "underneath" as a hypervisor, meaning both of your Virtual Machines (The Linux Guest and the Android emulator) are running in the same hypervisor. This is exactly what hypervisors are meant for.
Also, to clarify the meaning of the poster in the link you gave, who states "it is recommended not to run another VM", I think what he means is that you can't also run other hypervisors (Docker and Virtualbox are described there) in parallel with Android Emulator, for the reasons described by other answers here.

This answer does not help without links and additional direction. It is not clear at all how this is supposed to work or how to even get started.

You can’t run two different emulation stacks on your processor at the same time. Sorry, it wouldn’t happen.
Update: Your processor can only run one emulation system at the time. Kernel modules will “reserve” the right to use the processor’s emulation capabilities at the exclusion of any other emulator that want to use it. So you can only use VMware, VirtualBox, HyperV, etc. separately.

What is "emulation stack"? I am able to run multiple andorid emulators, and I am also able to run multiple VM-s in Virtualbox. You're saying there's no chance I will be able to run one VM in VirtualBox and one android emulator from Android Studio?

Though that's possibly true, mind to give reasons? Any backing for your claim (with some background) would be nice.

@Gavriel what Aeyoun most likely means is while you can run multiple VirtualBox VMs in parallel, it's the same "Stack" they run on (VirtualBox, which manages them). But you cannot start a different "stack" (say, VMWare or Android Emulator) while there is already one running, as there's probably some resource locking in place. That's just the idea I get, I've got no proof for this – which is why I asked Aeyoun to provide some background ;)

emulator: Failed to sync HAX vcpu context

HAX stands for Hardware Accelerated eXecution.  It is not really possible to run 2 different hypervisors correctly using hardware acceleration — they don't know what the other is doing and both would try to use the hardware for their own purposes.  Trying to do so is more or less the same as trying to run two non-virtualized OSes at the same time, which clearly can't work.
Now, you might be able to run a purely software-based virtual machine at the same time as an Android emulator — but its performance will suffer greatly (depending on what you're using it for).  I've found that the Android emulator is so slow as to be worthless without hardware acceleration, so you definitely don't want to disable it.
However, Memu seems pretty performant and plays nicely with VMware on my machine, so that might be an option for you.  I have not tried any development with Memu, however; I couldn't get ADB to work.

It is indeed possible. You need to run HAXM version 6.1.1 at least.
If you upgrade to this version, it will work.
After upgrade, DO make sure the correct version is running by running:
$ANDROID_HOME/extras/intel/Hardware_Accelerated_Execution_Manager/silent_install.sh -v

If it reports an older version, you might have to run the installer manually by running:
sudo $ANDROID_HOME/extras/intel/Hardware_Accelerated_Execution_Manager/silent_install.sh


text:
Keep sound from video playing in background
I have some serious trouble with VLC player on my device, so I have started using KMPlayer.
The only thing I miss from VLC is the ability to continue listening to the sound from videos even while switching to other apps or locking the screen.
Is there any good way to do this, either by modifying the system to make KMPlayer or any player do it, or by using another app?
Samsung I9305, rooted stock 4.4.4, Xposed Framework.

Does the answer have to be an app? If you're open to non-app answers (e.g. a way to make any video player do this using Xposed), your question is perfectly on topic here.

I thought this was a duplicate question at first but it seems like we only have similar questions about YouTube specifically.

@DanHulme I'm certainly open to that Xposed module. I'll edit the question to reflect that. You can post it as an answer, including the name of the Xposed module. I will try it and accept your answer if it works.

I don't know if there is such a module (I don't use Xposed myself): it was just an example of a possible answer that's not "use app X". I wanted to check because often people post a question "I want an app to do this" when the answer is a combination of apps or a way of using their existing apps differently. Thanks for being open to that suggestion, and I hope someone does find an answer for you.

I personally use MX Player, and it does what you say very well. It has support for locked screen audio playback, background play of audio from videos, pop-up videos and others. Downside is that the free version is ad-supported. Also, it needs a plugin for DTS/AC3 audio.
The background play setting is not enabled by default, and has to be enabled by the user, however, the background playback of audio is enabled by default.
Click images to enlarge
The background play notification:

The background audio playback setting:

@beeshyams, IMHO MX Player is the most compatible and featured Android video player. It's also popular, as a plus. It surprises me that you didn't know about it!


text:
Wifi is working on android 4.2.2 , but not on 6, exclamation mark in status bar
I'm trying to connect to a wifi network using 4 phones.
1 phone uses Android 4.2.2, and the others are using Android 6 and 5.0.1.
The one with the Android 4.2.2, everything's work fine.
On the others, I get an exclamation mark next to the WiFi icon on the status bar, and no communication.
Are there any WiFi restrictions between Android 4.2.2 and Android 5.0.1, 6?

Check the 5.1/6.0 phones to see if static IP is set up on them by long-pressing on the network, and selecting modify network. It will look like this: (except you're on 5.1 & 6.0)

Turn off WEP/WPA on your router and see if it solves the problem
If it does, set up a new WPA2 Personal with AES (not TKIP!) for maximum compatibility.
Turn off WPS (Wifi Protected Setup) on your router. (It's hardly a security feature more of an annoyance. It just exposes the location of the router because everyone has to click the button to connect.)
Check your DHCP settings to make sure nothing looks foul.

That is all I can think of. Hope one of them does the trick!


text:
Trigger Setup Wizard at next boot using command-line
I am looking for a way to use ADB to trigger Setup Wizard at next boot. I know I can run the following command and get it to pop up. However, I can't figure out what triggers it to start at boot.
adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity

The phone I am currently using is stock and I would like to keep it that way.
I've read the  question:
how to re-enable first time setup at next boot?

No root, and currently using a motorola G on 4.3. with that said,  since majority of phones use SetupWizard I am looking for a mostly-universal ADB solution that can work with 6.0 as well. There has to be a flag somewhere to tweak, I just can't find it.

I am trying to get SetupWizard to start up at boot as if it were a freshly reset phone. that is all.

"I can't figure out what triggers it to start at boot" it's a combination of using RECEIVE_BOOT_COMPLETED permission and setting the global flag SETUP_WIZARD_HAS_RUN... though running adb shell settings put global setup_wizard_has_run 0 and rebooting didn't solve this...

@AndrewT. setting that property doesn't work because the components of Setup Wizard are disabled once the wizard ends. I have it covered in my answer below.

Note: This solution:

requires a rooted Android;
is tested on Android 4.4.2, Vanir (Android 5.1.1) and on an unofficial CM13 build;
requires adb setup in PC.

Following are some screenshots serving as a proof:
(Click image to enlarge)

Note that you cannot replicate those images by issuing that shell command, because the test activity you would run would hide all the icons in the left of status bar and even time in my ROM.

Here are the instructions I followed:

Find the disabled components. Do:

adb shell dumpsys PACKAGE

Replace PACKAGE with package name of Setup Wizard app. Often, it would be a setup wizard from Google with package name com.google.android.setupwizard. Package name of CyanogenMod's setup wizard
is com.cyanogenmod.setupwizard. If it has GApps installed, then use package name of Google's setup wizard. If none of the package name works then this resource may help: View app's full package name?
This step inter alia provided me a list of components of that app currently disabled. Here is a relevant excerpt under the heading Packages: from the output of the said command:

User 0: installed=true hidden=false stopped=false notLaunched=false enabled=0
  disabledComponents:
  com.google.android.setupwizard.account.RestoreServicee
  com.google.android.setupwizard.carrier.MobileDataActivity$HfaChangeReceiver
  com.google.android.setupwizard.util.SetupWizardAdminReceiver
  com.google.android.setupwizard.SetupWizardActivity
  com.google.android.setupwizard.util.GservicesChangedReceiver
  com.google.android.setupwizard.carrier.MobileConnectivityChangeReceiver

com.google.android.setupwizard.SetupWizardActivity is the main and default activity of that app. Although the app has requested the permission android.permission.RECEIVE_BOOT_COMPLETED, strangely, there is no receiver declared in the manifest to receive android.intent.action.BOOT_COMPLETED broadcast. My guess is that the property user_setup_complete alone is used for the purpose of launching that app.
Whatsoever the disabled components shown in your command's output for User 0 are, simply enable all of them for the same user. The simplest way is to use pm command.
adb shell
su
pm enable PACKAGE/COMPONENT

An example to enable a component:

pm enable com.google.android.setupwizard/com.google.android.setupwizard.carrier.MobileDataActivity\$HfaChangeReceiver

Note: It is not clear to me why but when I tried to enable the components using an app (say X), they were disabled automatically once I exited the X app. So I recommend you enable the components using the command-line and refrain from interacting with screen at all costs.
Get the property name:

adb shell 'content query --uri content://settings/global | grep -e "setup" -e "complete"'
adb shell 'content query --uri content://settings/secure | grep -e "setup" -e "complete"'
adb shell 'content query --uri content://settings/system | grep -e "setup" -e "complete"'

One of the commands must return output containing either the key user_setup_complete or, as Andrew T. noted, setup_wizard_has_run.
Once you have the key, do:

adb shell settings put secure KEY 0  # replace KEY with the key noted above.

Do adb reboot for full reboot or adb shell su -c 'setprop ctl.restart zygote' for soft-reboot or reboot ordinarily as you would and there you would have the Setup Wizard app waiting for interaction after reboot is completed.

Setup wizard isn't showing up for me after reboot.

Which Android device and Android version are you using?

it's SM-P610 on Android 12.

Hmm. It is best if you ask this as a question. Please do mention there the Android device and Android version.

In addition to Christopher's answer
settings put global device_provisioned 0
Will disable some of the functionalities of the phone and will be unlocked after setup wizard.
adb shell settings put global setup_wizard_has_run 1

adb shell settings put secure user_setup_complete 1

adb shell settings put global device_provisioned 1

Will unlock all features of the phone as far as I know, vice versa.
Just in case someone needs these information

How does this information relate to the question? Could you explain a little further?

Ty, this worked for me, all other options did not work because of permissions issues

Thanks, this helped me solve the problem where the home button doesn't work and the notification tray and quick settings are unavailable. Most solutions on the web tell you install Nova Launcher and trigger the setup wizard, which will in turn set certain settings, but that doesn't work on LineageOS. (@DanHulme that's how it relates to the original question.) This is a much easier solution, provided you have adb running.

That's a useful hint. It has helped me. Thanks!
It should go as an improvement or comment to Christopher's answer. It's not an answer itself.

The following shell script will trigger the Google Setup Wizard:
#!/bin/bash

adb root
adb remount

adb shell settings put global setup_wizard_has_run 0

adb shell settings put secure user_setup_complete 0

adb shell 'content query --uri content://settings/global | grep -e "setup" -e "complete"'
adb shell 'content query --uri content://settings/secure | grep -e "setup" -e "complete"'
adb shell 'content query --uri content://settings/system | grep -e "setup" -e "complete"'

adb shell pm enable com.google.android.setupwizard/.SetupWizardActivity

adb shell am start -n com.google.android.setupwizard/.SetupWizardActivity

The following command worked for me without root access:
adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.deferred.DeferredSetupWizardActivity

Thanks a lot! Worked on OnePlus 6T

Worked on my Pixel 6 Pro!

Had the same issue with my new Pixel 2 XL. I'd used Nova Launcher to make a widget "activities" for launching system apps previously and sure enough, Pixel Setup was in the list so I added that widget/button and it fired up and offered me to restore from a cloud backup etc.

If you got root you can do something like this:
#!/bin/bash

adb root
wait ${!}
adb shell pm enable com.google.android.setupwizard || true
wait ${!}
adb shell pm disable com.android.provision || true
wait ${!}
adb shell am start com.google.android.setupwizard/com.google.android.setupwizard.SetupWizardTestActivity

You can find LineageOS sample script there


text:
Total Commander, is Move supposed to work over FTP?
I'm using an AT&T Note 4 with Total Commander (the latest according to Google Play) and sending files to FileZilla server 0.9.41 on Windows.  The user has read, write, delete, and append for files, and create directory permissions
The move command on Total Commander does not seem to work.  It's copying the files, but not deleting them from the Note 4 after the copy.  I can manually delete the files.  Occasionally I get an error about permissions where it says it can't delete the folder.
I was trying to move things from Downloads, and now I am moving other things.
It took me a while to figure out how to move things with Total Commander (it's backwards), so I wonder if my expectations are also misplaced.  Should a move command to an FTP server work like a regular move command anywhere else?
EDIT
It seems like there are special permissions for Android installed/default directories.  I'm so used to root access that I forget this phone isn't rooted.  Directories and files within those behaved as I expected.

Why not try a different file manager app? Alternatively, you can install busybox and use a set of simple commands (such as wget and rm) to do the job as well.


text:
Is SuperSU a "rooting app" or is it an "app that requires root"?
There are so many guides that say SuperSU is a "rooting app".
A method of rooting a phone is to install SuperSU as a .zip:
How to Root Redmi Note 3
Then, SuperSU shows up as an app in Play store that requires root: SuperSU - Google Play
This article says that the way to root zenfone 2 is to install SuperSU.zip
Here is another guide where installing SuperSU is a way to root a phone.
Who is correct? Is it a way to root or is it an app that requires root?

The other question does answer the confusion. However, the answers here tells things that the other questions do not.

From app's description in Play Store:

SuperSU is the Superuser access management tool....
SuperSU allows for advanced management of Superuser access rights for all the apps on your device that need root. SuperSU has been built from the ground up to counter a number of problems with other Superuser access management tools....

(Emphasis mine)
In more simpler words, it manages whether an app should  gain superuser privilege per the settings chosen by the user. It requires a specific su binary, so first, it attempts to gain root access to mount system partition in rw mode, then it attempts to replace the existing su binary with its own binary (an educated guess). This technique sometimes (often in my device) fails so it suggests you to root the device using the recovery mode.
I suppose it should be clear now what that app is about and why does it need root access.
Edit:
You misunderstand the meaning of rooting the device and managing root access to all the apps in the OS. This link takes care of the former (that zip also installs the SuperSU as a system app) while the app takes care of the latter.

Yes I am aware of that page. However, other pages say differently.

What about this http://howtorootmobile.com/root-asus-zenfone-2-and-install-cwm-recovery/

See my edited answer.

so installing supersu.zip root the app and then install supersu as a system app.

No, installing that particular supersu.zip (the zip is created by developer of SuperSU app -  Chainfire) roots the device because it installs su binary which gives apps a legit option to gain root privilege. It also installs SuperSU as a system app.  Now think that if there is just about any su binary in the system, any app can use it to gain root privilege. This poses a security risk. This is where SuperSU app comes into the scene. It installs its own binary su binary so that it can listen to calls made to that su binary by apps and take decision of allowing or denying root access.

Ah I see. So the original su binary doesn't allow any apps to su. Super user allows apps to su if you press allow

No. Those apps can always access su and gain superuser privilege in the absence of SuperSU app (having a superuser manager app and su binary are two independent things). Even in the presence of that app, those apps can always access the su binary. What they can't successfully do when that app is installed is to  gain superuser privilege without user's discretion. That app listens to calls made to su and then per its settings decides what to do with the call: allow it or deny it.

Please add this on your answer.

I wrote a summary. Please check if it's correct. Your answer is the one I selected though.

IMHO, as I read your question at least 5 times... Supersu is an application.  Root is a system state (uber-administrator).  Yes, I'd imagine you need Root Access to run the SuperSU application.  That would take another application to give your user account "root privileges"  I hope that clearifies...


text:
Insufficient memory with my andriod phone
I have 16GB SD card but I still get the message insufficient memory when I want to download any app.

Will stay the same if you put in a 64GB or even 128GB card. Just putting in a card doesn't solve it. For some background and solutions, please see our insufficient-memory tag-wiki.

The issue is that apps aren't by default stored on the SD card. The SD card is for extra data like music/videos/downloads etc.
You can however move existing apps to the SD card most of the time (some apps don't allow that). You go to Settings > Apps and pick from as many apps that are large (the list should have a filter for this). After selecting an app you can often click "Move to SD" or something similar.

Good advice.  This location is a little different depending on your phone.  For my Samsung Phone with Android 5.1.1, I find this under:  Settings > Storage > Applications > [Pick App] > Move to SD Card

Consider setting your camera to save new photos to the SDCard
Most camera applications are all created by the hardware vendor of the phone, but they almost always allow an option for storing new photos on the SD card.  There isn't a universal way for us to tell you how to find that setting, since every camera application is a little different.
Pay special attention to the fact I said NEW photos.  The camera applications normally don't move your images for you to the SDCard.  For that, I'd recommend moving the files yourself, or simply backing them up onto some cloud service like DropBox or GoogleDrive, and then deleting the ones on your phone.
Consider an application to help you visualize what is taking up the space on your phone.
Android Settings > Storage will give you some clues.
I like ESFile Explorer.  It's the application I use to help people find and clean-up files.  This part is all opinion, and you'll find other people give you great advice on their clean-up application of their preference.  Here's the play store linke to ESFile Explorer:
https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=en


text:
userdata .backup android
My tablet is not rooted. I made a backup of it through console (in recovery mode):

boot my tablet in recovery mode
go down to menu "backup user data"

After that, in my sdcard, I have three files:

userdata_20160211_092627.backup
userdata_20160211_092627.backup1
userdata_20160211_092627.backup2)

Then I moved the sdcard to another tablet (which is the same model), and recovered this backup there through recovery mode (steps as above, just selecting "restore user data"), but after about 10 seconds I get this error:
"Checksum compare fail".
Does any body know how to fix this error or how to disable the checksum in the .backup file? (this works if i recovered on the same tablet that i have made a backup in)
Thanks

You can't disable the checksum in the file, you would have to alter the restoration code to not care about the checksum.

@MatthewRead: how to alter the restoration code to not care about the checksum?

@KhacQuyetDang thanks for your update (I've integrated those facts with your question, so we can remove the now obsolete comments). It's clear now you're using a custom recovery – but not which (and on what device); these details are needed to answer where to disable checksum processing. Most popular custom recoveries are ClockworkMod and TWRP. Which one are you using? What's your device's brand and model?

My device's brand is DANEW and the model is DSLIDE 1015.  My device is not rooted, so i think the default recovery tool is used.

Unfortunately we can't help you with code issues, as development questions are off-topic here.

The checksum prevents of stealing data (put sdcard into someones phone and create a backup). You can not restore to even similar phones.
I posted the ektoric solution, please download the script from page 2. This skips checksum and makes it restoreable to other phones. Root is required, but no need to flash custom recovery.
http://forum.xda-developers.com/showthread.php?t=2528969&page=2

A checksum is used to validate the integrity of the data, not to prevent theft.  You're probably thinking of encryption.

you are technically right. but think twice. you cannot restore to similar phone, even data integrity is intact. why they did so?

Hi, the link in your post went away. Best would be if you would copy-paste the script here (if it is not too long). If not, then a direct link would be more useful.

https://android.stackexchange.com/q/141805


text:
I cant find hidden pictures and videos on my samsung note 3
O year ago I took a bunch of pictures and videos on my Samsung note 3 but I can't find them now but when I plug the phone into a laptop I can see all the pictures and videos how do I delete them. I need this done ASAP.

Does deleting them from the laptop not work?

When you plug the phone into your laptop and see the pictures what folder are you looking at? You ought to be able to simply delete them via your PC. If you can see them you can trash them.
In order to view the files on your phone using your phone you will need to utilize a file browser / file manager application. There are many free ones in the app store of your choice.


text:
How do I change the lock Pattern !!!! - Lenovo A7000
i have lenovo A7000, and i had recently had performed a reset, but, after setting the pattern, now i want to change the pattern as my brothers know the pattern. so, whenever i go to security settings and try to change it, the screen becomes repetitive and asks me to confirm the pattern infinite times, after giving the correct pattern too it again asks the same.... i cannot the change the lock as there is no screen to set it on the different modes like pin etc. what should i do ??? i tried clearing the certificates but it is grey and i dont want to hard reset or format the phone now.... pls tell me the correct way to go through it......


text:
Samsung Galaxy G6 System Warning
I have the Samsung Galaxy G6 and keep getting a SYSTEM WARNING
I have added three pictures of the warning I get (all the same warning)
Does anyone know why I keep getting this warning and how do I remove it??

Why are you going to that web page?  It's pretending to be Google and lying about the error.  Is it set as your home page?  You probably installed an app that changed it or is opening that page itself.

I don't think that there is such a thing as a "battery virus" (what would they infect?)  sounds like a scam.  What did you recently install?  i would uninstall any new apps and see if this disappear.  I would NOT under any circumstances click on the"OK" button.  It may allow the installation of malware.

There isn't such a thing as a battery virus and I am always amazed about how many people fall for it.

@EthanZ I'd bet some even would put their device into the microwave for 10 min if advised such to remove/kill this "bad virus" (or get a "quick charge", pick your choice).

Unfortunetly so. I have a great response to this but it would be offtopic. Just known that if something sounds dumb and fake, it probably is.


text:
How can I evaluate availability of security updates for CyanogenMod / Cyanogen OS
Suppose I'm looking at a Cyanogen OS phone.  It seems to be very difficult to find a history of available build versions (and compare the dates e.g. to the first build of that version available for any phone, or when the security issues it fixes were released).
How can I check the quality of this support for a specific phone, like the WileyFox Swift?
Do I need to forget about complaints for community-maintained CyanogenMod... just look at commercial Cyanogen OS as a monolith, and ask how well they're doing in general?  Is there a written evaluation of this anywhere?
[I'd like to think of Cyanogen OS as more credible than vendors who go through carriers.  And only promised monthly security updates after the most glaring remote security hole a few months back.  Or who just completely fail on updates after claiming they wouldn't, because of a change in ownership.  But I can't even find marketing claims about the superiority of Cyanogen OS here, so this seems fairly wishful thinking on my part].

This questions seems very unclear, have you investigated yourself? Cyanogenmod.org

Yes. At least enough to see that Cyanogen explicitly don't keep old releases available for download.  So you can't just look at timestamps on available downloads.  All I'm asking is "does Cyanogen * have reliable security updates".  Seems pretty clear it's not true in the general case.  However I gave a specific example of a Cyanogen OS target (EDIT) phone which I could buy - I guess the real question I'm asking is whether for my money I can expect security issues to be resolved within 30 days

or so, i.e. that would be comparable with the "monthly updates" standard some of the vendors have recently claimed they would provide.

Well unless you're gonna pay therm whatever the cost is to keep the hundred of nighties and data that is generated every single day, I don't expect how they can financially do this (keep old nighties) Also you seem to confuse Cyanogen OS and Cyangenmod. Latest avoidable nighty for officially supported Cyangenmod are from February 19.

I'm not confused, it's likely I'm being unclear though :). I don't expect them to keep archives of the snapshot releases for X devices and Y months. I'm just saying because they're not there, there's no clear way to look at the version history on the Cyanogen websites. I.e. to answer your question, I have looked at the link you gave, and it doesn't seem to give the information I'm interested in.  The history of "snapshot" releases over time would be much more useful than the date of the latest nightly in answering the question of reliable security updates, right?

I may be making unjustified assumptions in that I assume if CyanogenMod is doing OK. for a Cyanogen OS device, that would be an excellent sign for the Cyanogen OS (provided the vendor is still in business).

Cyanogen OS was similar to CyanogenMod, in that I was able to find a page of factory images for the WileyFox Swift, but it only showed the most recent version.


text:
ADB does not detect my device while in Recovery Mode
I have a Moto G (Falcon-xt 1033).
Recently I successfully flashed cm 13 nighly on my device, everything worked fine, used the phone a little while, then flashed supersu and device went into a boot loop.
I had removed rom zip files from device storage, so I am trying to push rom zip into my device via adb. But the adb does not detect my device(nor does my laptop- running ubuntu 14.04). I tried a bunch of things from from trying all ports to updating adb version to creating 51-android.rules file under etc/udev/rules.d/
The recovery my device used is cwm.
I want to access the storage drive of my device either by adb or by any alternative to push the rom .zip and other files. How exactly can I go about solving this problem.
PLEASE HELP!

What recovery application do you use? For instance, with TWRP, you could simply boot into recovery, enable MTP, then simple load up your internal storage (or external sdcard), copy whatever you want copied, then flash. I will recommend you wipe-wipe-totally-clean-everything before re-installing. If supersu continues to give problems, perhaps its unstable with your phone/CM yet.

Thanks @Rexford you solved a major problem. For some strange reason MTP was not enabled and cwm lacked options. Flashed TWRP onto my device, enabled the MTP and finally moved using the gui way(avoided the adb situation). After all the flashed phone working perfectly(even the adb shows my device now). Thanks!

Considering you're using CWM (which isn't developed in a fast pace), you could switch to using TWRP, boot into recovery, enable MTP, and simply mount your internal storage or external sd card.
Copy whatever files you want onto whichever location of your choice. Unmount and flash. As I mentioned earlier, I will recommend you wipe-wipe-totally-clean-everything before re-installing. You don't want any traces of anything lingering around to hunt you!
Considering the above step worked for you, this point might not be helpful in your case, but to someone. If after everything above, supersu continues to give problems, perhaps its unstable with your phone/CM yet, and you might want to either get an updated version, or find a similar app that's stable with your ROM.


text:
Moving app data to external sd card
Is it possible to move almost the total app size of an app to external sd? example 90% of its data will move to external and the 10% will stay...
I've tried moving the Clean Master app, its total size is 71 MB but only 20 MB was able to move in the external... not even 50% of total size has been moved...

The default mechanism of moving an app only moves the APK of the app. App's private data (including cache) always remains in internal storage (under /data/data).

@Firelord, wow - that's an interesting tidbit on how Android works.  I'm curious to research that more.  I always assumed an app running on SD would attempt to put all of it's other files on the SD too.  I figured that's why the SD card ends up with all those other folders I didn't create.

@Baronz You can begin from here: http://developer.android.com/guide/topics/data/install-location.html

Please see this new article 2017/02/10 10 most useless apps and games for Android. Most prominent, but specifically named in the list: Clean Master (along with quote-Booster apps, Anti-Virus apps, and Task Killers-unquote)

Easy approach: Link2SD
Manual method:
If you are sure that the file attributes does not matter, then there's an acceptable way to do this. Root is required.
1. Copy the app data from /data/data/com.example.foo to somewhere in your SD card. Personally I recommend sdcard/Android/data/com.example.foo. If you are running Android Lollipop or up, there will be a symbolic link named lib, leave it alone.
2. Kill the app process. Remove the original data. Open a terminal emulator (or adb). Run
su
ln -s /sdcard/Android/data/com.example.foo/files /data/data/com.example.foo/files
That's all. To revert this job, it's a little complex. You'll have to chmod and chown the proper file modes and attributes manually after copying them back.
Special notices:
Never copy and link the /data/data/com.example.foo folder directly as the symbolic link lib inside will fail, which will lead to unknown behavior. Link every (or some of them at your choice) subfolders one by one.


text:
sync contacts from Samsung S5 to Google account
my phone says it has synced contacts to my google account but when I log into the google account there are no contacts. what am I doing wrong?

• You sure that device doesn't have 2 different gmail accounts added. Might be the contacts backed up is in 'account 1' and you're looking for contacts in 'account 2'.
In case you have only one account added to the device, check this.
Open Settings/Accounts/Google.
Or
Open Settings/Cloud and Accounts/Accounts/Google.
Click your account, there you will see different options that can be enable or disable as per user choice.
Make sure 'Sync Contacts' is enabled for that particular account. Tap above 3 dots on the upper right corner on the screen and click 'Sync Now'.

https://contacts.google.com
that is the site you have to go to see if you have any contacts on the google account. If there aren't any or there aren't one you synced, then it is probably phone sync problem.
I would rather suggest you to export all contact to storage then, import them, but while importing them import to google account as it gives you an option to do that. That should fix your problem. And, yes, delete the phone contacts after syncing, as they might cause "doubled contacts"
Make sure you have proper working internet connection while doing that, poor connection might also cause trouble while syncing.


text:
Famoc & KNOX on Samsung XCover 3
I have a problem, I have a phone with Famoc & KNOX enterprise security applications. I was able to root the device with Odin, I've installed twrp-2.8.7.0 & SuperSu.
I've removed this Famoc application, but it seems there's still something wrong, since it can't connect to the Internet at least using UI interface.
I've connected the device to the ADB Android debugging console via USB cable, I can execute commands as an admin (using SU privilege), I can ping whatever server I want and it seems the Internet connection works fine using shell, but when I try to connect to the Internet with Chrome (or anything else) on the phone itself - it doesn't work.
Now my question is, what else can block an Internet access from the phone itself, how to check it (any apps?) or how to enable it? I need some pointers. Thank you :)

iptables flush did the job, now I need to find out where does it keep those settings ;)

Care to elaborate your answer to explain in detail please ?


text:
Persistent restart
Can anyone here help please?
my galaxy tab 2 with jelly Bean 4+ keeps restarting itself. Here is what happens:
1- while it is rebooting itself constantly, i hold the power button. it boots.but stays on only for one minute and starts its rebooting cycle again.
2-i put it on safe mode.the little " safe mode " shows up at a corner.but there is no real change.it doesn't really go into safe mode. All apps remain there and it falls into it's rebooting cycle again after one or tow minutes.
3-i press and hold the right buttons for recovery. The recovery mode comes up. I select factory reset.and then say yes.it brings up some 4-5 new lines up and says I can boot now, which I do. It turns on but again no changes.no reset happens at all.and soon it sinks into its restarting cycle..
So to put it in a nutshell it neither factory-resets nor does it go in safe mode.
All I can do now is what I explained in number 1 above. I turn it on and during that one minute window, before it restarts itself, I bring up boot menu and turn it off.
Now, What can I do?, Without using a computer.I don't have one.
But if connecting my tablet to a computer is the only way, then how could I do it using a computer?
And I am not a geek.
Thank you very much

1)Boot into recovery mode and clear cache.

Power Down the tablet
Hold Volume Up button and power button at same time, wait until it starts and release Volume Up button only after you see the menu,
In this menu only volume key and power key works, so, navigate to , wipe cache partition and press power key, that will select that option and proceed.
-In new menu , agree to proceed, by selecting OK , using volume key and power key.

2)Boot into recovery mode and Factory Reset.

Follow same steps as above
In this menu only volume key and power key works, so, navigate to , Wipe data/ factory reset and press power key, that will select that option and proceed.
-In new menu , agree to proceed, by selecting OK , using volume key and power key.


text:
Does full device encryption protect my data from Google and the government?
Apple recently made waves within the tech community by refusing to comply with law enforcement in regards to accessing encrypted user data.  Their statement was that they do not have the technical ability to decrypt this data.
As an Android user, is there any similar possibility (preferably built in to the OS instead of third party) that I can use to achieve similar protection from even Google and my device manufacturer? I know there is the "Full Device Encryption" in my settings, but does this prevent Google etc. from accessing it?
For reference, my device runs Android Lollipop and is a OnePlus Two. If other versions like Marshmallow would allow me to do this that's fine.

Google has no idea what the encryption key for your device is. The entire process takes place on your device and the key is never transmitted anywhere. The key itself is also not stored in plaintext on your device:

Storing the encrypted key
The encrypted key is stored in the crypto
metadata. Hardware backing is implemented by using Trusted Execution
Environment’s (TEE) signing capability. Previously, we encrypted the
master key with a key generated by applying scrypt to the user's
password and the stored salt. In order to make the key resilient
against off-box attacks, we extend this algorithm by signing the
resultant key with a stored TEE key. The resultant signature is then
turned into an appropriate length key by one more application of
scrypt. This key is then used to encrypt and decrypt the master key.

So even if someone had a copy of your encrypted master key, they could not decrypt it without the TEE key from your device's SoC.
Therefore, outside of a flaw in the implementation, full device encryption will prevent anyone from accessing your data unless they know/obtain your password OR can guess your password (e.g via brute-forcing it or some kind of social engineering techniques). On devices that lack the necessary hardware-backing, FDE will attempt to encrypt the key using a software-only method.

@beeshyams It's a feature of the processor. ARM's implementation is called "TrustZone", but other architectures also provide similar mechanisms. The idea is that you can generate a device key, store it in a place only accessible to the TEE, then never reveal it to the outside world. When you need to encrypt/decrypt something, you ask code running in the TEE to do it for you, so the key remains secure. Wikipedia has a decent(-ish) article.

How well does this protect against brute-force attacks via modified firmware? Does it prevent firmware updates without decryption? Apparently that's the current potential attack vector for iOS (prior to iPhone 6). Would be good to have that answered for Android too. Keeping a device-local TEE key is all well and good, but it's weakened if attackers have the ability to load/boot a vulnerable version of firmware.

@eldarerathis: Thanks. IMO it requires more understanding. Drafting a bounty question. You may like to answer, provided it does not get shot down :)

@Bob The encrypted data itself couldn't be decrypted by a ROM update alone. You would still need the key (I'm not sure if that was what you meant by your second question?). As for flashing a weakened ROM, as long as the device's bootloader is locked it would be basically the same as the iOS situation - only OEM signed updates will install. Also, unlocking the bootloader to try to flash an unsigned image would wipe the device.

@eldarerathis What I've heard is that iPhone 6 and newer are safe from even OEM updates, as the password verification (including the timed delay/lockout) are implemented entirely in hardware. What I'm asking is whether Android does something similar, or if it's purely a software lockout - which can of course be bypassed by a firmware update. I'm also asking if there exists any Android-based phones with bootloaders that refuse updates without the user-specified passcode being entered - which would make bypassing software lockout periods easier.

Yet another way of rephrasing is whether there is a way to require that decryption (w/ user password) occurs before updates are allowed. In other words, are (OEM, signed) updates installable by without the decryption key (without a compulsory wipe of user data)?

@Bob To my knowledge,  Android does not require the decryption password to perform the update process, because it only encrypts the /userdata partition, not the partitions that the update would actually be modifying (/system and /boot, generally). It's pretty much in the same boat as the iPhone 5 (and lower).

I would add,  I'm not sure if the general delay per attempt is something that can be "disabled" by an update, or if Android scales it artificially. Android uses scrypt rounds during the key generation process, so it would need to be used when decrypting the key as well, and scrypt is designed specifically to be difficult to speed up, as a mitigation against brute-forcing. That much would remain consistent. A lockout after X number of failed attempts (or a scaled lockout, if one exists) would be implemented in software, though, AFAIK.

Thanks. Also, relevant: http://crypto.stackexchange.com/a/32891/11619 apparently on iOS it might be possible to update the "Secure Enclave" firmware without knowing the passcode and without losing the keys. Assuming that's true, at the end of the day the same vulnerability (to OEM-signed updates) applies to both Android and iOS. Perhaps Android is more secure by virtue of allowing longer passwords, though that depends on the user and would be quite inconvenient.

Bob, I suspect that "implemented in hardware" is misleading. What actually happens is that these protections are implemented in firmware, and that firmware can be updated. The alternative would be that there was no way to fix bugs in it, such as the "Error 53" problem in iPhones. Bruce Schneier refers to this as a "security hole" but arguably that's stretching the definition of "security hole" too far. Obviously the firmware can only be updated if you possess the OEMs keys. We know those keys leaked for the Stuxnet worm (as Schneier points out) and they might for Apple or Google products too.

will rooting the device allows anyone without the OEM keys update the firmware?

@JimThio Probably, but only if you had access to the system or ADB while booted. Otherwise you'd have no way to actually make use of the root permissions. Alternatively, a custom recovery would allow you to update the firmware.

Full device encryption will protect your device if you use a key too long to brute force, even when the attackers are able to use brute force techniques -- assuming there are ways to allow them to do this.  Snowden says 64 characters is long enough for truly unbreakable encryption. So complete security is attainable - if you don't mind typing in a 64 character passphrase every time you wake the phone.

Are you aware of the limitation of screen lock PIN length? Consider rebooting your answer accordingly

Yeah, 16 characters is the limitation if you check the source code.


text:
marshmallow and personal security/privacy
I've been reading the news in the US about a court order for Apple to help the FBI bypass the security check present on devices running iOS8+. Since iOS8, Apple has stopped storing encryption keys on the cloud.
I'm just wondering how does this apply to Android. I believe Nexus devices that came with Marshmallow out of the box (6P and 5x) have full disk encryption thus these will have the same security as iOS8+ devices.
How about those that were upgrade to Marshmallow? I know my G3 was upgraded to Marshmallow but encryption is turned off. Also, does turning it on make a difference? Or perhaps the 6P and 5x has extra hardware so encryption keys aren't stored in the cloud?
Thanks for reading and your replies :)

Encryption keys are never stored in the cloud on Android, and I seriously doubt they were for iOS. iCloud's backups can be encrypted, but that's a completely different key and the goal is to keep the data safe while it's at rest on Apple's servers. Storing the device encryption key in the cloud would be an incredibly poor design.

See https://source.android.com/security/encryption/index.html#storing_the_encrypted_key


text:
Android Wear: Way to choose a watch face using voice commands?
I love voice commands on Android Wear. Is there a way to choose a watch face using only voice commands?


text:
Backup AND RESTORE of viber messages
Is there any free solution for backing up an restoring viber messages?

Since this is old question but someone maybe still wonder how to do it now there is option to do that manually and automatically. Everything you have to need is that you are logged in with Google account, and simply go to viber >settings>account>viber backup, you can select a Google account on which you want backups to be stored and than choose how often you want backups or do that manually by pressing 'backup', there is also restore option and by the way restore option will be offered automatically when you install viber if Google account in use have backup on it. Here is a video of how to do it:
https://www.youtube.com/watch?v=ISWywTUB2-M

Backup Viber messages
You can backup Viber messages using the built-in option by following the steps from this official Viber support webpage: Viber | Create a backup file of your messages .

Open Viber.
Select More options.
Select Settings.
Select Calls and messages.
Select Email message history. Tapping this option will create a backup file of all conversations present in the chat history.
Once the backup file is created, select the application through which you would like to email it and send it to yourself or any other email

Messaging history backup is available on Android and iPhone only.

Recover deleted Viber messages
Login to your email account and download the attachment (backup file) to your SD card. Once you’ve done so, the backed up Viber messages cannot be restored onto your device directly.

Yeah, I know that, but, those messages you can read as a text file, i wanted to restore messages directly in app, and as you said that isn't possible..

authors: Једноруки Крстивоје