text:
How does the emulator get connected to the internet?
I want to know the secret behind how my emulator gets connected to the internet. No matter whether I connect my netbook to the internet through wireless, wired or mobile broadband connection, my emulator does not indicate what type is my connection to the internet. It shows bars just like in phones/tablets to indicate the signal strength (as though a sim has been inserted!) in the notification area on the top edge.
The emulator (gingerbread) is not connected to wi-fi. (I don't recall whether it does not have a wi-fi enabling option or just that I haven't enabled it) So there is no icon next to the time display near the right top corner showing that I'm connected to wi-fi! Yet it gets wi-fi internet on the emulator when I online via wi-fi!
I find this curious. So I want to know what's behind the scenes. For instance is there some communication between the hardware network driver and the emulator network driver by any chance?

The emulator is a program on your computer like any other. The program can connect to the Internet in just the same way Firefox can. In particular, this means it makes no difference what kind of connection the host is using.
From inside the emulator, there's a 'fake' network driver. It appears to Android like a mobile Internet connection, but instead of communicating with a cellular modem, it's actually using the usual network API of your host OS to send and receive data, just like Firefox. It also does emulator-specific things like simulating packet loss.


text:
I can't connect my Samsung Galaxy SL GT-I9003 via USB
I can't connect my Samsung Galaxy SL GT-I9003 via USB. When I try to connect via usb mode the phone doesn't respond, it only charges. I tried restarting and restoring my device, but it still won't connect. I want to update my Android OS from Froyo to Ginger Bread.

Have you istalled Samsung drivers on your PC? Google drivers from SDK are not supported by Samsung phones.

Go to start.
Type device manager.

Do you see some icon with a yellow triangle exclamation mark in it?
If so, you probably did not install any drivers. Install the
Samsung USB driver or the Google USB driver.

I believe you should download the, SAMSUNG KIES software, it will update the drivers and maybe it will help. Personally, I had some problem with my HTC device which I solved using the HTC sync manager.

source: Stack Exchange

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

sort: votes


text:
Where to report a bug in a keyboard app?
I have Nexus4 with Android.
One of the input languages is Russian. I use Russian word suggestions or swype method for messaging.
There is a particular form of Russian verbs (frequently used) that seems to be omitted in the dictionary (suggestions).
Where can I report this bug?

I'd also like to know where to report dictionary issues. In German, it always suggests "war" (was) being written in uppercase, as if I am talking about War & Peace

@PacMani oh -- considered that BOOK it seems to be a really big BUG... (sorry, could not resist :D)

If you're using the stock Android keyboard, you can report it on the central Android bug tracker. Be warned that there are already more than 25000 reports there, and many never receive any response from Google.
If you find a bug in a third-party keyboard you're using, visit the keyboard's page in Google Play (either through the Play Store app or on the website) and click Email developer.
Lastly, and this definitely isn't applicable in this case, if you find a bug in a device manufacturer's keyboard (such as the Samsung Keyboard found on Samsung phones), the answer will depend on which manufacturer, so you should contact their product support in the first instance. Hardware manufacturers tend not to have publicly-accessible bug trackers.

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


text:
"fastboot -l devices" returns nothing
I'm a newbie trying to learn about what alternative firmware I could use to upgrade my Nexus Galaxy from Android 4.2.1.
After connecting the phone to my Windows PC with a USB cable, I followed this video on YouTube to start the Nexus in Fastboot mode, clicked on the right button to proceed, and once Android was up and running, ran this from Windows...
[c:\Android-adb]fastboot.exe -l devices
... which returns nothing.
Any idea why, and what to do?
FWIW, the phone is also running an ADB server since it's used by the MyPhoneExplorer application to sync Outlook with Android.
Thank you.

Edit:
The computer already had the Samsung driver since I'm using MPE to sync Outlook with the Android phone.

Next, on a new computer, downloaded and installed Galaxy Nexus Toolkit 11.1.0, and rebooted as prompted by Windows7. With phone plugged in, Windows7 detected the phone allright.
Rebooted, left in Fastboot mode: fastboot-toolkit.exe says nothing, and Windows7 complains with "Device driver software was not successfully installed".
Couldn't uninstall GNToolkit, as it's not listed in Programs. Downloaded and unzipped Android SDK in c:\Android-adb\, edited PATH, rebooted, and with phone still plugged in and waiting in Fastboot mode, ran "fastboot.exe -l devices": Still nothing.

Edit:

On new computer, downloaded and installed Galaxy Nexus Toolkit 11.1.0, rebooted as prompted by Windows7
Without rebooting, plugged phone: Windows7 complained with "Device driver software was not successfully installed". Followed this howto to manually update driver.
Rebooted with phone still plugged: Phone detected OK.
Rebooted phone in Fastboot mode, and rebooted Windows7: "Device driver software was not successfully installed" followed by "Google Galaxy Nexus BootLoader Interface: Failed".
Device Manager shows faulty "Android Device > Google Galaxy Nexus BootLoader Interface", but telling Windows to look for driver in C:\GoogleNexusToolkit ends with "The best driver software for your device is already installed."

What could be the problem?
Thank  you.

Could you explain a little further what you mean by "clicked on the right button to proceed, and once Android was up and running"? Booting Android leaves fastboot mode, so you shouldn't expect it to be visible to the fastboot tool then.

Ah, makes sense. I thought I should proceed with booting Android. Still, while in Fastboot mode, "fastboot -l devices" returns nothing. I notice that XP displays the familiar "Welcome to the Found New Hardware Wizard" message. Is there something I need to install?

How about drivers? :) On Windows, everything needs drivers. Never heard of the famous error message: "Mouse driver not found. Spank the cat?" :D

@Gulbahar I don't know, I've never used fastboot on Windows. You should add that information to your question so that other visitors will see it.

You might want to post your PATH, as you may not have edited it correctly.  You can also try opening a command window and dragging the fastboot executable to it from Windows Explorer, which should expand out the full path to it, and then running it with  "-l devices".

Thanks, but the issue is with faulty drivers, not with the PATH. See edited question for more information.


text:
Switch between accounts in Android 4.2
I would like to know if it's possible to easily switch between two Google accounts in Nexus 4 running Android 4.2 JellyBean.
For example, I have at the moment two Google accounts set up in the device: my personal account and my work account. But if I access Google Analytics, I can only access using my personal account (the first one that was set up).
Any suggestions?

How are you accessing analytics? Through Chrome?

I access using the Google Analytics app available at Google Play

I asked a similar question.
As a workaround, you can use the data profile feature of Titanium Backup Pro with the analytics app.


text:
Is there a simple way to use the same headphones for my phone and PC, at the same time?
Is there a simple way to stream sound from both my PC and my Android phone to the same set of headphones?  I'm open to both hardware and software solutions, but software solutions would be better.  I'd like to listen to music and notifications on my phone, but also hear sound effects and notifications on my work PC.

Personally, I've found software solutions to this kind of thing to be more hassle than they're worth. Do you mind if your devices are physically close to each other? If not, I recommend a cheap hardware solution:
2 x 3.5mm Stereo Male / 3.5mm Stereo Female, 6 inch

You could buy a 3.5mm extension cable to give yourself more flexibility if you need your devices a little farther apart. All of these kinds of cables are basically the same; search around Amazon, or your online market of choice, for the deal that fits you best.

My phone doesn't have a 3.5mm jack and is often charging (battery getting old).  Also, I use a magnetic charging cable so... Anyway, this might work for others who see the question.

Also, my headphones are strictly bluetooth.  So that's also a hurdle.


text:
How to uninstall revolutionary rooting tool from Android devices
i have different android devices and all are rooted with the help of revolutionary tool, now i want to remove revolutionary tool from my device is there anyway so that remove all those tool which are installed on my devices ?

What exact devices are these?  The procedure for removing the s-off varies.

i want to remove it from htc desire

To re-S-ON an HTC Desire, you will need the following

USB cable
Fastboot drivers installed, available here.
Android flasher and appropriate HBOOT images available here.
Optionally, an appropriate stock RUU, available here.  Either select the one for your carrier or use the RUU_Bravo_HTC_WWE_1.21.405.2_Radio_32.36.00.28U_4. 06.00.02_2_release_126984_signed.exe one.

Ok, now that you have your tools, now for the actual doing.

Extract all the files in the revert to stock zip.
Turn on USB debugging and plug in phone.
Either use the "click this.bat" file or run fastboot flash hboot engHBOOToverARX.img from a command prompt in the folder where you extracted the the revert to stock files.
Shutdown phone and power it back up holding the volume down button, then select fastboot.  It should show you as S-OFF and using HBOOT 6.98.2000
Fire up android flasher and select to flash the hboot.img file
Restart phone again.  You should now be S-ON.
Optionally, run the RUU downloaded above.  This will put your phone back in completely stock condition, perfect for warranty claims, etc.


text:
ad hoc network in android
I have Android 4.2.2, Nexus 4 and I would like to setup an adhoc network. Firstly I rooted the device, secondly I tried to create an adhoc network in Android phone: I create an adhoc network in an Android smartphone like below:
shell@android:/ # ip link set dev wlan0 down
shell@android:/ # iwconfig wlan0 mode ad-hoc
shell@android:/ # iwconfig wlan0 channel 6
shell@android:/ # iwconfig wlan0 essid 'Test1'
shell@android:/ # ip link set dev wlan0 up
shell@android:/ # ifconfig wlan0 192.168.65.129

when I typed iwconfig wlan0: the result is:
Qcom:802.11n ESSID:"Test1"
Mode:Ad-Hoc Frequency:2.437 GHz Cell: 02:82:5F:C1:4B:C1
Bit Rate=0 kb/s Tx-Power=0 dBm
RTS thr=2347 B Fragment thr=8000 B
Encryption key:off

Secondly, in my laptop, I could see "Test1", so I connected to "Test1" and I configured a static ip address 192.168.65.128. In this case, the smartphone created the ad hoc network and my laptop joined it, then I can ping from my laptop to mobile and vice-versa.
However,in other case when my laptop creates the ad hoc network and later in an Android mobile, I tried to join it :
shell@android:/ # iwconfig wlan0 mode ad-hoc
shell@android:/ # iwconfig wlan0 channel 6
shell@android:/ # iwconfig wlan0 essid 'Test1'

But, when I type iwconfig wlan0, ESSID is still off/any.
Qcom:802.11n ESSID:off/any
Mode:Ad-Hoc Frequency:2.437 GHz Cell: Not-Associated
Bit Rate:0 kb/s Tx-Power=0 dBm
RTS thr=2347 B Fragment thr=8000 B
Encryption key:off

It seems that an Android mobile can create an adhoc network but can not join an existing one. I found the same result when I tried to setup adhoc network between two Android mobiles. Can anybody tell me what is wrong here, and if there is any possible solution, I tried many methods to setup an adhoc network in Android, and only this method seems to work, but there's still something wrong that prevents an Android phone from joining an existing adhoc network.

Please take a look at the ad-hoc-networks tag-wiki and frequent questions first. It's correct that Android usually doesn't support ad-hoc mode by default, but there are several solutions available and already mentioned.

I have already tried many solution ,but this method is only one that works for me,but it still the problem to join existing ad hoc network

As far as I understand your question, you have successfully created an adhoc network on your Nexus and your laptop is able to connect.
Now you want to create an adhoc network on your laptop and you want to connect your Nexus to it.
After doing some research, I've found out that Android does not work (well) with adhoc networks.
There are some custom ROMs which have enabled the Ad Hoc function.From what I've been reading, mako bb-8 and AOKP will be able to do Ad Hocs.I think CyanogenMod has also a modified wpa_supplicant to support Ad Hoc networks.
If you don't want to flash a custom ROM, you could try to rip the wpa_supplicant (from the same Android version you are using) from one of the custom ROMs mentioned before. You could also try to install WiFi Ad Hoc enabler for Android, which might work for you.If that doesn't work, you could try another method, which is harder. Check it out here.
I also found this, I don't think it'll work, but worth mentioning:
http://forum.xda-developers.com/showthread.php?t=1591207

Maybe because Android does not support that for ad-hoc networks? It might do on some selected devices, but AFAIK those are only few.

yes ,I tried already with GUI and with static IP address,it still said "Not in range",it not the problem in my laptop ,because I can join it from iphone or other laptop.

Did you try other (non-Android) devices? Or does this problem only persists on Android devices?

it's only with android devices,

I edited my question.

Yes,I already tried the two method:the results is that the wifi still OFF and i can't turn it On

I edited my question again. For most Android devices there is a modified wpa_supplicant file which has Ad Hoc support. Unfortunately, this file does not exist for the Nexus 4. Anyway, not for stock ROMs. If you find yourself ripping the wpa_supplicant file from a custom ROM which works on stock, please report it here.


text:
Instagram LED Notifications
I have a custom ROM on my S3, but that shouldn't really be the issue here. I am on JB 4.2.2.
With my custom ROM I am able to set up different colors of the LED notification for each app that I want. However, this works for every single app I get notifications for except for Instagram. I still get the notifications for Instagram, the LED just doesn't light up when I receive them or they are still sitting in my tray. For Twitter I had to change the settings in the app itself to allow the LED to work, but for every other app, it has been default once I added the settings in my custom ROM. Instagram seems to be handling notifications a little bit differently from the other applications, because it doesn't wake up my phone when I get a notification either. But, I have a desktop application that shows me a pop-up on my computer when I receive notifications on my phone, and it notifies me for every notification, even Instagram.
I want to know if there is anything that I can do within Instagram or maybe somewhere in the phones settings to enable the LED to light up when I receive a new notification from Instagram.
Thanks.

What rom are you using?

@Nick it's a custom AOKP by Task650. Doesn't really have a name but all the settings are the same as plain AOKP.

Have you tried using Light Flow? It does the what the same thing as the custom rom does and Instagram is on their list of support apps for their Pro version.

I really don't want to have to pay just to receive notification from Instagram, but if I don't figure anything else out, thanks for the option.


text:
How do I undo "always show pictures from this sender" on Android gmail?
I accidentally clicked 'Always Display Images from This Sender' ('Always show pictures from this sender' in 2020) and was wondering if there's a way to undo this setting in Android gmail.
It's straightforward to undo on web Gmail, but not the same with Android (that I know of). Any help is appreciated!

In the Android Gmail app,
From the main inbox or inside any email: Bring up the Menu > Settings > General Settings. Now click the Menu button again to bring up sub-menu of options > Clear picture approvals.
WARNING: This clears ALL your approved sender settings, I believe there is no option to revoke by individual email senders.

Thanks! This did it for me. Just to be clear, once on the General settings page, click the three vertical dots(icon) on the top right corner to bring up a popup menu that has the "Clear picture approvals" option. It will display a confirmation prompt that says "Stop displaying inline images from senders you previously allowed." with a CANCEL or CLEAR option.

I needed to clear this setting for a single email address. I followed these steps:

Open Gmail (mail.google.com) in a web browser
Open an email from the sender which has an image in it
In the top left of the email it will have the sender's name and below that "to me" with a little down arrow next to it
Click the little down arrow and then click Don't display from now on

This seems to be outdated and isn't available for me. See https://webapps.stackexchange.com/questions/103469/undo-always-display-images-from-this-sender#comment126880_103470

@Ryan - still works for me. Make sure the email has an image in it

@RayfenWindspear This is the answer that I needed, but it's technically not correct because OP asked specifically about Android.

Worked for me 2021

A perfect and illustrative answer.  Worked for me, too.  Thank you!

If you do it from from gmail you can do it on a by sender basis. Here are the instructions: https://productforums.google.com/forum/#!topic/gmail/v0rJQjdR-Pc

click show details then click Images from this sender are always
  displayed. Don't display from now on.
NOTE YOU WILL ONLY SEE THAT OPTION IF THERE ARE EXTERNALLY LINKED
  IMAGES - NOT IF THERE ARE INSERTED OR ATTACHED IMAGES

Please include the instructions in your post, if the link stops working this will be useless.

Hi, I don't see that option. I went to email details, it only shows, from, to, enctryption, etc.. but no option to not display images.. Any suggestion?

@Rafael I found these instructions clearer: http://www.prowebguru.com/2015/04/how-to-disable-always-display-images-from-in-gmail/#.WKcCelfR37g

This solution no longer works.

I agree with @LS This seems to be outdated and isn't available for me. See https://webapps.stackexchange.com/questions/103469/undo-always-display-images-from-this-sender#comment126880_103470

In 2020 there is still a working solution to the problem of having accidentally chosen "Always display pictures from this sender" in the Android Gmail app (how I miss Inbox).
Gmail app > Settings > General Settings > Triple Dot Menu > Clear Picture Approvals.
PS I'm adding my answer here even though it's a partial duplicate of another (with lots of up votes). I ignored the other answer since it referenced a specific version of Gmail from 2013 figuring that it was no longer valid. Hopefully this answer will help others like me who skip the other answer.
FYI If all else fails there is a "nuclear option":
Clear the Gmail app's storage

Open System Settings app on Android.
Find the Gmail app details where you can clear cache and storage (Settings > Apps and Notifications > See all applications > Gmail on Android 10).
Choose "Clear storage".

Your stored accounts should persist but the unintended consequence of this action is that all your Gmail settings customizations like more sensible swipe behaviors will be lost. You have to ask yourself if the cure is worse than the disease.

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


text:
Can I install more apps if I get more internal memory/storage?
Most modern top-level Android devices, e.g., Samsung S4, has:

2GB internal RAM
16/32/64GB internal memory/storage
up to 64GB exernal/removable memory/storage

Does the amount of internal memory/storage make any difference - for instance how many apps you can install or does the size of the storage only affect the number of images/music pieces/... you may download to the device?
I agree with the answers on the performance part but what the number of apps?

The answer is...It depends.
As a rough equivalent between Android and Windows PCs:

RAM = RAM
Internal Storage = C: drive
External Storage = D: drive etc...

Allocation of RAM works differently in Android, vs. say Windows or Unix. The usual notion of more is better doesn't necessarily correlate here.
As I understand it, it's diminishing returns once you go beyond what's required. Android basically tries to keep the apps/files you use most cached in RAM. Swapping in and out as it finds necessary. Once you're beyond what's needed, then it seems like Android just starts caching random and useless things. That's why if you use a Task Manager on your phone there always seems to be "stuff" running that you might feel inclined to just kill and free ram...But there's a lot of debate that says you should leave it alone and let the Android OS handle it.
As for Internal Storage, I personally go for the biggest I can get in my budget. The Android OS files go there, all your settings, music, photos, and apps by default are installed here. Nowadays though internal storage offerings from manufacturers are larger and larger and options to put files on external storage are getting better and better.
Considering today's offerings and requirements, I'd personally suggest when buying a new phone to get:

At least 1GB, 2GB preferred (As new apps with more bells and whistles come out, their RAM footprint also increases. 2GB is still probably way more than most average people need, but it's quickly becoming the standard on newer phones anyway.)
Internal Storage at least 16gb (Again, as new apps come out with more bells and whistles and cameras with higher megapixels and recording High Definition movies, they all keep demanding more space. The more you have now, the less you'll have to deal with later if you have to start cleaning up or moving things off to external)
Get whatever the cheapest option offered with the phone (if it's offered) (Buying the external storage from a 3rd party is much less expensive and likely faster and more reliable).

The internal memory is where most things are stored by default such as: apps, music, pictures, and any other things that require to work offline at times. External storage handles the same things, except it can be removed from the device and usually serves as extra space if you want to install several apps, keep lots of music, or take tons of pictures, etc. You also might have to specify if you specifically want things stored on the external memory.
The internal RAM is the same as that on a computer and just allows process to run faster as there is more memory for them to access when they need it quickly. You ideally want the most of everything, but all phones are going to have much less RAM compared to internal and external storage. This is all very similar to the way computers handle things too. The computer has a small bit of RAM, and then a much larger hard drive.

Secondary storage does not really effect standard performance, since most memory written and fetched is in RAM. Secondary storage should be seen as a priority in terms of managing space and resources and to help increase access time, but the real performance is dependant on architecture design of the system, RAM, and CPU speed, cache, and other factors weighing in.
Also, secondary storage is for storing data so it remains there when you turn the phone or, battery dies, etc. RAM is electronically erased when there's no power in its capacitors, and all data fetched, retrieved, executed, or otherwise executing is gone. Secondary storage is non-volatile, so the data remains on it. Think of it as a drawer where you put stuff in, but takes time to open and move stuff out of. Think of the top of the dresser as RAM, where you're always moving stuff ...


text:
What to do when mobile gets wet and the battery is not removable
I got my mobile (HTC One X) wet yesterday and I could not take out the battery since it is not removable.
Currently, everything works fine but I can see a dark blur shadow on the right of the screen and few dark spots all over the screen.
What should I supposed to do ? Do I need to take it to technician right away or I can stay calm ?

It looks like your screen has been effected by the water and needs a new screen.

You can also open it up and dry the screen and digitalizer carefully. Maybe the screen and digitalizer are still wet on the inside. iFixit has said that it's "impossible" to repair it (open it up and being able to close it again), so be warned.
The other option is to turn your phone off and put it in the oven for a short few minutes. The heat will come into the phone and the water will dry up, but it's not guarenteed, since it looks like the screen has already been infected.

It's best to let a technician do it's thing. Take note that waterdamage is probably not a warranty thing, so that they're charging serious money. It's your choice to let it repair or not, because I don't think your phone will suddenly stop functioning. If it does, you can always let your phone being repaired later.

You could always try the trick of sticking the phone in rice along with the things that Tom pointed out. But in the end, since you can already see the damage, it might already be too late. Seeing that you have a newer phone, you might still be under warranty, so I hate to say it but that probably will be your best bet if you want a completely fixed phone. Water damage is the worst to phones!

Depending on your warranty, budget and how much time you've got to invest in the fix...

Under Warranty: If your phone is under warranty, contact the store you bought it from and find out if water damage is covered...If it is, you're golden! Let them fix it for free. Otherwise, read on...
Cheap, doesn't void warranty, but takes time: Start with using a desiccant to try to dry-out the phone. This is the least invasive way to try to fix the problem as you don't have to take the phone apart, but as much water as it seems you've got in your phone...It could takes days to dry it out. If you've got rice around, then find some kind of container/tupperware that you can seal your phone in along with a bunch of rice. Then leave it sealed (important to seal it, so the rice is pulling the moisture from the phone and not the air) like that for several days. The other option, if you want something a little stronger than rice is to stop by an art&craft store and buy some desiccant bags. Do the same thing with sealing your phone in with the desiccant and leave for a couple of days and then check on it.
Cheap, but risky and could potentially void warranty: Check the internet and sites like iFixit for directions on taking apart your phone. Do so and carefully dab dry any pools of wetness you find and then leave all the pieces out in the open air to dry overnight. Put it all back together the next day and the phone should be all better...And you'll have had the experience of taking apart a phone!
Safest, doesn't void warranty, but likely expensive: Bring the phone to an authorized repair store and have them fix it. If the warranty doesn't cover it, it'll likely cost quite a bit but since it's done by an authorized repair shop, you won't lose warranty status in case something else happens.

I dropped my HTC m9+ in the toilet and it was completely drowned. There was water inside the display within seconds.
I tried turning it off asap but it kept
turning back on automatically 2 or 3 times because it was getting short circuited internally. After a few tries it turned off.
I took out the sim and sd card and placed the phone in a box of raw rice. After 6 days i plugged it back on into charging (in a wall socket) and the phone turned back on perfectly alhamdulillah. Its been more than a month, there is some problem with the sim tray though. The rest is working perfectly alhamdulillah.


text:
Restore SMS from a phone with broken screen
I have a Samsung Galaxy S phone with a broken screen. I have text messages on it from about 2 years ago (which I need for court).
After the screen broke I changed service providers. Now their is no service to the phone. So if I fix the phone will my messages still be on the phone?

You might want to take a look at How do I backup data (SMS/contacts) from a device with a broken screen? -- as you main issue is probably exactly that. Once you've restored them, you most likely will not care if a screen replacement would wipe them from the device :)

The SMS will still be there, assuming that:

you have not wiped, or done a Factory Reset on the phone
the SMS was saved to the Phone and not the SIM
the phone can still be repaired


text:
Can I use android phones and PC as walkie talkie? (without internet!)
I want to call my PC using my android phone(vice versa) without internet. I think it is possible, but not sure there is a program like that.
PC to Android or Android to PC. Not just Android to Android.
This is not a duplicate of this question

Without mobile internet or without any data connection at all?

Well, I'd say no "internets", but local area of course. There must be any packet data connection available (plain GSM is not an option).

Install SIP user agents on both phones and PC.
You can use SipDroid or CSipSimple for Android and a softphone program like X-Lite on the PC.
Note that you need to set up local accounts when configuring the software. You can then call other parties on the local network directly by their IP:Port.
If you don't want that, you need to install a full blown VoIP proxy like asterisk.

Do you have any instructions? I tried it but not sure how it works. Thanks

I haven't done this for over a year, sorry, I don't have any detailed instructions. You need all devices hooked up to the same LAN, and configure local accounts w/o a sip proxy. Then you can call each other by using the IP instead of a normal phone no.


text:
Unlocked phone, GPS active
What does it mean when I unlock my phone and the GPS icon shows active when I'm not running any apps that use GPS? After a second or two, it goes away.

I means you're on an security reset[ed] phone. If you forgot the pin / pattern / etc and you had to reset it with alternative access ways, like login with the google account email and password, then after every unlocking your phone sends your gps coordinates to the google account and the location settings will always reset to high precision, no matter what.
Offtopic, I'm on 4.4.1 and have no idea how to turn it off. Most suggestions are for smart lock but 4.4.1 doesn't have it or I can't find it.

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


text:
Record phone calls
Is there a way to record phone calls? I tried some apps that appeared to work but it seems these only record thru the mic, ideally it should work with headset and earphones too but it doesn't and the sound quality is really poor and buggy. Is there a market leader for this purpose? I want to automatically record all calls and preferably automatically save them to Dropbox, Skydrive or Google Drive. I have Samsung Galaxy S.
Update
I tried all the phone recording apps and none work.
Update
Why is something simple so difficult? I tried all the phone recording apps and none work. They don't even look good. This feature lacks support and it is important. We are many users who need to record phone calls. Why can't we?

This depends on if the kernel has the capability to have the call recording facility activated and enabled in place.

Link to how I can do it? I don't know how to do it and why is it so difficult to do something simple?

There's no "how-to-do-it", it is very specific to the manufacturer and kernel, if you're brave enough to hack, mod and recompile kernel, flash it and try it... not all DSP audio chipsets have the feature necessary hence a lot of work involved, not intended for average John Doe user. :)

@t0mm13b Thank you for the information. I've got progress but it's not perfect. I installed a buch of freeware recording to see whether I must do some kernel configuration and it seems that it can record (via microphone(?)) but it might be the case that I must activate some module or so in the kernel since the app I'm recommended in the answer is not working for me. I think this is an important feature that should be included and I see in discussions that I'm not alone in wanted this function. I'm a Java programmer and if I don't find a good 'nuf app I'll strike and make my own app to record.

Have you tried Galaxy Call Recorder yet?

Features list:
- Recording calls, ability to enable/disable recording service in the settings
- Showing grouped records extended with contact information such as name and icon.
- Settings to disable recording when headphones on or Bluetooth device connected
- Settings to disable recording for incoming, outgoing call and for some contacts.
- Ability to specify different audio sources for headphones and Bluetooth devices.
- Calling, sending SMS, creating an event from the app.
- Ability to stop recording from a notification.
- Ability to play, delete the recent record from a notification.
- Ability to specify a recording delay, a minimal length of records.
- Ability to enable/disable the detailed notifications in the program.
- Ability to record a conversation into a small set of files.
- Deleting a record or many records at once.
- Locking/Unlocking records to prevent unwanted deleting.
- Ability to automatically deleting records.
- Ability to send records to DropBox, Google Drive, and SkyDrive etc.
- Integration with Google+.
- Flexible UI settings to change a font size and a background.
- Screen Lock.
- Saving records to MicroSD card, DropBox disk.
If you already tried this, you should mention which apps you tried already.

In some (most) jurisdictions, this is legally not allowed and may fall under wiretapping laws. It would also allow easy covert surveillance by 3rd party apps and would scare most users while only a minority would benefit from it and ise it in the intended way.
Think of rogue apps (blackmailing the owner), cheated wifes/husbands wiretapping their SO, the scandal when reporters from the News of the World wiretapped Royals and celebrities, etc.
This is an anti feature that opens a can of worms.
From the technical side:
The Android kernel/API do not expose a way to do that. This is why it doesn't work unless you install a hacked 3rd party firmware that allows that. Searching XDA developers for modded firmware for your model will probably yield some.

Some phone models allow recording and in many countries recording phone calls is completely legal as long as you are active member of conversation.

And in the rest of the jurisdictions it's perfectly legal.  The world is not run by a compiler that interprets everything in the worst possible way to prevent you from hanging yourself.  There are plenty of reasons why free people would want to record their own calls, not that free people even need them.


text:
Where do Android apps store data?
Could you list all the possible directories where Android apps may store data? Can you also provide description of the kind of data stored in each directory?

See also: List of special Android SD card folders? / Is it possible to reorganize the SD card? Because it is a mess in there / Which directories can I remove in internal SD? / Check what storage an app uses?

Plus Android Folder Hiearchy / Where on the file system are SMS messages stored? / Where in the file system are applications installed?

All apps (root or not) have a default data directory, which is /data/data/<package_name>. By default, the apps databases, settings, and all other data go here. This directory is "private" to the app – which means no other app and not even the user can access data in it (without root permissions).
If an app expects huge amounts of data to be stored, or for other reasons wants to "be nice to internal storage", there's a corresponding directory on the SDCard (Android/data/<package_name>).
Apart from that, all apps can store data anywhere on the SDCard, as there are no restrictions -- and many apps do so. They can use directory names freely (and they again do), which is what often makes it hard to decide what all that "junk" on the card is intended for, and what of it can be deleted.
Though, as Tom pointed out, root-apps could store their data almost everywhere on your device, they usually follow the same rules as other apps.
You can find a general explanation of the Android directory hierarchy in my answer here. For your specific question I might add some more details on the /data/data/<package_name> (and corresponding SD-part):

databases/: here go the app's databases
lib/: libraries and helpers for the app
files/: other related files
shared_prefs/: preferences and settings
cache/: well, caches

There might be several more directories in this place, or fewer -- it all depends on the app. In its own "home directory" (and that's what it basically is, spoken Linux-wise) they can place files where they want. Usually, these files and directories are only accessible by the app itself (and root, of course) -- other than those stored on the SDCard, which are accessible by all apps.

Comments are not for extended discussion; this conversation has been moved to chat.

And then along came Android 11 with scoped storage.

Some major changes occurred to storage in Android 4.4 (see Android's Storage Journey). So, the following is generally true for Android 4.4+ and particularly 6+.
This is from my detailed answer to How disk space is used on Android device?. Apps' files are saved (by the system and the app itself) to internal and external storage under different categories.

Directory
Description/API

App code

/data/app/<pkg>*
(user apps installation directory)

/data/app/<pkg>*/base.apk
(original .apk file)

/data/app/<pkg>*/lib/<arch>/*.so
(shared libraries)

/data/app/<pkg>*/oat/<arch>/base.[art|odex|vdex]
(compiled executable code)

/data/dalvik-cache/<arch>/*.[art|dex|oat|vdex]
(compiled executable code, only for system apps)

/data/misc/profiles/cur/<user_id>/<pkg>/primary.prof
(ART profile)

/data/misc/profiles/ref/<pkg>/primary.prof
(ART profile)

Internal storage

/data/user[_de]/<user_id>/<pkg>
getDataDir

/data/user[_de]/<user_id>/<pkg>/files
getFilesDir

/data/user[_de]/<user_id>/<pkg>/[code_]cache
getCacheDir or getCodeCacheDir

/data/user[_de]/<user_id>/<pkg>/databases
getDatabasePath

/data/user[_de]/<user_id>/<pkg>/no_backup
getNoBackupFilesDir

/data/user[_de]/<user_id>/<pkg>/shared_prefs
getSharedPreferences

External storage

/storage/emulated/obb/<pkg>/*.obb
(shared by multi-users, exposed in following view)

/storage/emulated/<user_id>/Android/obb/<pkg>/*.<pkg>.obb
getObbDirs

/storage/emulated/<user_id>/Android/media/<pkg>
getExternalMediaDirs

/storage/emulated/<user_id>/Android/data/<pkg>/
getExternalFilesDirs

/storage/emulated/<user_id>/Android/data/<pkg>/files
getExternalFilesDirs

/storage/emulated/<user_id>/Android/data/<pkg>/[code_]cache
getExternalCacheDirs

All of the above paths on internal and external storage (primary and secondary) are the app's private directories which are accessible to the respective app without requesting any permission. Apps can also create other directories (not explicitly available through APIs) in their private storage. All of these directories belonging to an app are deleted when the app is uninstalled.

Additionally, apps can put their data anywhere on primary external storage (including some standard directories and other apps' private directories) if WRITE_EXTERNAL_STORAGE permission is granted (getExternalStorageDirectory returns /storage/emulated/<user_id>). For secondary external storage and removable storage, SAF is used. See details in How to save files to external SD card?.
However, in Android 10, writing directly to primary external shared storage is deprecated (getExternalStorageDirectory and getExternalStoragePublicDirectory are no more available). Apps need to use one of Android's built-in content providers; either MediaStore (for media files) or SAF (for any other type of files).

/data paths may get replaced with /mnt/expand/[UUID] when using Adoptable Storage. /storage/emulated gets replaced with /storage/[UUID] when using secondary external storage (like an SD card).

For multiple users/profiles, <user_id> is different, the device owner is always 0. /data/user/0 is a symlink to /data/data for historical reasons. Secondary external storage is only available to the device owner.

OBB directory is shared among users/profiles (up to Android 9) to save space. FUSE/sdcardfs always exposes /storage/emulated/obb as /storage/emulated/<user_id>/Android/obb.

/data/user_de is the Device Encrypted storage on FBE devices which lets certain apps run on boot without asking for user credentials.

/data/misc/profiles are used by ART for profile-guided compilation of app code.

Description of each directory is somewhat evident from names, details can be seen in API documentation.

Caches are cleared by OS when running low on storage, keeping apps exceeding the allotted quota on top.

Apps' private files directories in external storage aren't automatically scanned by MediaScanner but media directories are.

Caches and no_backup directories are not backed up to the cloud. See official documentation.

Where is /data? Not found in windows explorer displaying the internal storage when connected the android phone to PC.

@zwcloud See How disk space is used on Android device? and Why are superuser permissions needed to acess /data partition?

The answer to your question you are asking is too big. I can, however, give you a basic answer which covers the basics.

There are two kinds of apps:
Root and non-root.
Root apps can basically store/modify files wherever they want.
Non-root apps can only store/modify files here: /sdcard/ and every folder what comes after.Mostly, the installed apps store themselves at /sdcard/Android/data or /sdcard/Android/obb.Some apps store their save games/configuration data files on /sdcard/APPNAME/, or just on the /sdcard/

To be able to use root apps, you'll need to have rooted your Android device and have given permission from one of the superuser apps.


text:
How to see which partitions are mounted?
I want to see if every partition is mounted correctly on my devices; in particular I want to see if the /proc gets auto-mounted. How can I see this?

In the Android Terminal, you can enter the command mount to view what has been mounted.For a graphical extended view and to view if it gets mounted at boot, you can install the shareware app EzyMount.


text:
Power off randomly after screen lock...
I have a very interesting problem. This is a chinese based phone Alps i4000 (fhd, inew i4000) with Jelly bean 4.2.1 os.
The problem:
 - After i click the power button to screen lock, the phone randomly turn off (random value from 1 sec to 15 min)
 - After i let to go to automatic screen lock, also turn off randomly the phone.
But if i use / let running any software, its working well. No battery problem, no temperature problem.
the phone stock, no rooted, no custom rom, no custom app (apps just from play store).
Bitdefender and avira antivirus say everything okay.
Idea?

Sounds like a hardware problem to me, like the internal power supply. Fixing would probably require a change of the logic board.
If the device is still under warranty, I would just return it as defective.

Now the support send me a new firmwre, if not working, i do it what you recommend for me. Thanks the idea.


text:
Disable or sign out of Google Talk?
I have a Sony Xperia X10 Mini. It keeps annoying me with Google Talk notifications, although I already went to "running services" under Settings/Applications and cancelled them. How do I get it to stop?

The easiest way:
If you'd rather not receive notifications, you can disable some or all of them.Here's how:

Click 'Settings' at the top of your Friends list.
Highlight 'Notifications' along the left side of the Settings
window.
Uncheck the boxes next to the notifications you don't wish to
receive, or check the box next to 'Disable all notifications.'
Click 'OK.'

Source: https://support.google.com/talk/answer/24742?hl=en
Alternative methods:

If you're running Jelly Bean, you can go to the app details, disable the app and uncheck the option to show notifications. Click here to see how.

If not, you can do one of the following things:
Root:
Root your phone and install Titanium Backup. You can uninstall Google Talk so it won't bother you again.
Non-Root:
Delete the app by running an update script which removes the app. Click here to view how exactly. You should only delete the /system/app/Talk.APK.


text:
How to root a Huawei G330D (U8825D) phone?
The Huawei U8825D is on Android 4.0.4, and my computer is on Mac OS X 10.6.8.

You might want to check the rooting tag-wiki, follow it up to How do I root my Android device?, go to the section titled "Methods/apps", and take a look at available methods, especially Root Many Android which should work for many ICS/JB devices. If you succeeded, please answer your own question with details on the steps required. Thank you!

There must be some Windows machine you could use for 10 minutes.
Follow this tutorial and you'll be good:http://forum.xda-developers.com/showpost.php?p=31986973&postcount=21
Unlocking Bootloader
1) download the following file
https://www.dropbox.com/s/pfhdbykms3imxr4/G330D%20a%20key%20to%20unlock.rar

2) go to Settings>Application>Fast boot and "click off"

3) power off the phone (to make sure pull out the battery about 5 seconds after switch off)

4) enter to the fastboot mode by pressing (Volume Down + Power Button) about 15 seconds and connect cable to the computer

5) double click and open >> G330D一键解锁.exe file form unlock folder that you downloaded

6) type the unlock code that you got form Huawei official website and press
if you didn't yet, here is Huawei official website to unlock bootloader (it is easy to follow in English version) >>>http://www.huaweidevice.com/worldwide/servicePolicy.do?method=toApplyUnlock

7) it will automatically restart and your bootloader successfully unlocked

Install CWM
1) download the following file -
https://www.dropbox.com/s/61a0e0553cu7wwt/recovery6.0.1.2_AscendG330D.rar

2) power off and pull out battery about 5 second

3) enter to the fastboot mode by pressing Volume Down + Power Button about 15 seconds and connect cable to the computer

4) run this recovery6.0.1.2_AscendG330D.exe file that you got from downloaded zip file.

5) there will be see in China Lungaue in cmd. Actually, I don't know what  but type 1 and press enter

6) enter again

7) it will be reboot automatically and successfully installed CWM

8) to go to the CWM recovery, press Volume Up + Power Button after power off

ROOT
1) download the following file
https://www.dropbox.com/s/2ytam587dakpdp9/Root%20Recovery.zip

2) copy the downloaded "Root Recovery.zip" file to the SD card

3) go to recovery and Install zip from SD card
4) after reboot system, successfully rooted your phone.

What are you talking about? It works just fine. I just checked all the mentioned links on the website, and every single link works. But I edited my answer so that it'll be available here.

My point is: Answers on Stack Exchange are expected to be self-contained. An answer that is just a link elsewhere is not an answer.

Okay, good to know. Thank you for your helpful review. That helps me improve my future answers :)


text:
No-name i.onik android tablet not recognized by adb -- adb devices empty
I have followed various instructions and finally was able to connect my ZTE Blade to my Ubuntu laptop for USB debugging. The same setup does not work when I exchange the phone by my "no-name" i.onik TP10.1-1500DC tablet.
I have tried different cables and different USB ports. Do I need a special type of cable to connect a tablet for USB debugging?
This is what I get from a root shell:
~# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached

~#

(I know that it should be possible to run adb as non-root, but this test was to rule out permission errors.)
The lsusb output is special for this device, no textual description is shown. The first entry below is from another device, the second entry from the tablet. I have verified this by running lsusb with and without the tablet attached:
Bus 002 Device 005: ID 10d5:5000 Uni Class Technology Co., Ltd
Bus 002 Device 009: ID 2207:0010

Of course, USB debugging is enabled in the tablet's settings, and I have already rebooted it.
Any further hints?

You might want to check Configuring ADB for Nexus 4 on Ubuntu 11.10. Maybe you omitted the step to make your device known :)

@Izzy: Adding the manufacturer ID to the adb_usb.ini file solved the issue right away. Thanks a lot! Care to write an answer so that I can accept it?

Sure thing, just did it. As we have the details already in the linked question, I kept it more general. Glad it solved that easily -- but on the other hand, that was just what I expected :) Enjoy! // Btw, for other machines to set up easily, you might also be interested in Is there a minimal installation of ADB? -- which was what finally convinced me to do it: Just copy a few files, and you're done. No need for the entire SDK if you're not a dev :)

@Izzy: In Ubuntu, I can install adb using apt-get install android-tools-adb. No need to ever copy files or adjust PATH settings. The package itself is tiny and contains only adb and a couple of necessary files.

I know of that (as I'm using Ubuntu as well). But I've also heard it carries with it a bunch of dependencies -- which is why I resorted to the "copy variant". Here the executables are compiled statically, so that always works no matter the distribution.

@Izzy: Right, the dependency on zlib1g will break libxml2 and texlive-binaries. Hm... Heavy.

See? There it starts. So instead of fiddling around with tricky dependencies to fix a "simple apt-get install", in the end it proves much simpler to download and unpack a file manually :)

@Izzy: Wait, I was wrong. It would only break libxml2 or texlive-binaries if these packages are very old. In practice I'd always go for the apt approach unless an installation tries to uninstall half of my system, but that's not the case here. Anyway, both methods of getting the files are valid and work most of the time :-)

Izzy’s answer is misleading. Two unrelated things were mixed up (the vendor ID list in adb on one side and the permission setup in Linux on the other side).
1) devices considered by adb:
Adb has a hard-coded list of USB vendor IDs it tries. E.g. HTC mobile phones use 0xbb4, which is listed (source file usb_vendors.c), while 0x2207 is not.
The only way to add to this list (without patching the source) is to put vendor IDs in the file $HOME/.android/adb_usb.ini, line by line. (HOME is set up right?)
No special cable is needed.
2) permission setup for non-root access:
The udev-fiddling is to give user-access to e.g. /dev/bus/usb/002/009 (bus number/device number change; see lsusb for current values).
The details of this are not relevant to the original poster’s question, as he ran adb as root.

As described in Configuring ADB for Nexus 4 on Ubuntu 11.10, under Linux it is important to be listed in either ~/.android/adb_usb.ini (user based) or /etc/udev/rules.d/51-android.rules. Syntax for both files differs: while in the first case it's sufficient to simply add the vendor id (echo 0x18d1 >> ~/.android/adb_usb.ini for a Nexus 4), the entry for the UDEV rule is a bit more complex. Details can be found in the linked question (or rather its answers).
Im krlmlr's case, it was not an "either-or", but seemingly both parts were needed (I never had that before, and I never even used the adb_usb.ini -- but that doesn't mean there are no such exceptions). By adding the device in both places (which cannot hurt anyway), the device finally showed up.
Two additional remarks: After changing the UDEV rules, the UDEV service needs to be restarted to accept the changes. On Ubuntu, this can be done via sudo service udev restart (alternatively, you can simply force UDEV to reload its rules using udevadm control --reload-rules). If your device is still not detected, it most likely was plugged in while you did the changes; you need to disconnect and reconnect the USB cable then. Of course, USB Debugging must be enabled in your device :)
Example
by krlmlr
Based on the following output of lsusb for the Android device in question:
Bus 002 Device 009: ID 2207:0010

it was necessary to create /etc/udev/rules.d/51-android.rules as root with the following contents:
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", MODE="0660", GROUP="plugdev"

and to create ~/.android/adb_usb.ini with the following contents:
0x2207

The first is required to allow regular users (that belong to the group plugdev) to access the device. Note the permission mask 0660 instead of the frequently seen 0666 which is weaker from a point of view of security (the latter allows "world" access, while the former only allows "user and group" access). The second is required so that adb attempts to talk to the device in the first place. After that:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server

and unplug+plug your Android device. Then,
adb devices

finally showed the Android device.
Remark by Izzy:
For my LG Optimus 4X HD, it was sufficient to add one line to /etc/udev/rules.d/51-android.rules:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61a6", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

Maybe the SYMLINK option makes the difference that I didn't need the extra entry in ~/.android/adb_usb.ini.

Note that I have already added my tablet to a file in rules.d. From my understanding, I had to do both: The setting in the .ini file is required for "no-name" devices of which adb does not know that they run Android, while the rules.d setting is required in order to access the device without root privileges.

I've never added a device to that ini file, always only to the UDEV rules file. Maybe you missed something when doing that? To my knowledge, one of the two variants is sufficient. In my case the UDEV part works fine, and I've read many reports where the Ini-file variant did it without any special UDEV adjustments.

No, after your comment the only thing I did was patching the .ini file, and it worked without even having to restart udev, as regular user. (I had to restart the adb server, though.) I had already added the device to the rules with no avail. This particular piece of information about the .ini file is very difficult to find, let's create a Q&A that finally sorts things out :-)

Try removing (or commenting out) the changes to UDEV, restart the UDEV service, and you will find it still works. And I agree with you: I was surprised to read about the Ini file solution as well. As for your Q&A suggestion: just check the ADB tag-wiki :)

No, it doesn't. I need both the rules and the .ini. Really. I have just checked all combinations. Moreover, as you have stated correctly, the .ini must live in the home of the corresponding user -- so, if you intend to run adb as root, you have to add it to root's .android directory.

Perhaps one subtle detail: For changed udev rules to have an effect, you must restart udev (or run udevadm control --reload-rules) and unplug+plug your USB device.

OK -- again learned something new: There are cases where both is needed. Never had that before. And yes, good hint with "restart and unplug/plug", I can confirm that one.

The rules are not needed if you run adb as root and (if necessary) have the adb_usb.ini in root's .android directory. Just checked that, too.

So this answer is not acceptable to you anymore? Shall I integrate some of the comments? :)

Your hint was crucial and helped me fix my problem. But so far the answer is imprecise, and it would be great if it included the essence of our findings for later reference, especially concerning the difference between ini and rules.

You've made your point -- and I've made my edit :) Full ack to congregate important information from comments and have them included with the answer itself -- that's what I also encourage many times, as nobody goes through all the comments (especially when there are that many).

I have added an example with actual file contents that shows how I got this to fly.

No, the SYMLINK option didn't help, I still need the .ini file.

Try to edit adb_usb.ini and add your device id you can find it by going to the device manager find the "Android ADB Interface" double click on it go to the details tab, and on the "Property" drop down menu select "Hardware Ids" on the box below it labeled "Values" You should see something like "USB\VID_2207&PID_0010&MI_01" The numbers maybe different based on your device vendor id, for example my vendor id is "2207" No open the adb_usb.ini located on the folders below and add your device id in hex format
for example my device id is "2207" I'll put it there as "0x2207"
It is usually located in

XP: \Documents and Settings.android\
Windows 7: \Users.android\
Windows 7: \Users.android\

But if the folder doesnt exist try to create it by using cmd. And if the file adb_usb.ini also doesnt exist you can create it using notepad and only pasting only your device id and save it on the .android folder.


text:
Minimum lcd brightness on android 4.2.1
I'm looking for a way to reduce the real brightness (the backlight) of my lcd. I'm using android 4.2.1 on a Star b94m/b943.
I search for apps, and i found RootDim, which can decrease the light below the minimum 30/255 (default by android).
I found another great app, Velis Auto Brightness, which allows to control the brightness in function of the light sensor. It can't go below the 30/255.
So i thought if there were a method to reduce the default android brightness i could use Velis Auto Brightness (so auto brightness) AND use lower than 30/255 levels.
I tried this tweak of build.prop
How can I reduce screen brightness below the minimum without an app?
but it didn't work. Any other ideas?
Thank you!

If you don't mind installing a custom ROM, CyanogenMod ROMs allow much more control of the Brightness setting...Including going below 30/255.

This answer should work. Otherwise, try Gravitybox app which definitely would do the job.


text:
How can I install a CSC code which are not listed on Samsung Galaxy S/S2/S3 CSC app?
I have a Samsung Galaxy S2.
I want to change its CSC to any Indian version. I came to know that ODD, INU, IND, INA, INS, IMS & REL are the Indian CSCs. But when I checked it with Samsung Galaxy S / S2/ S3 CSC, these CSCs are not listed.
How can I install a CSC which is not in the list?

You will have to use Odin to do the deed in performing a wipe/flash with the appropriate CSC, as @geffchang mentioned in his answer - you will lose everything on your handset so backup first before proceeding :)

If you change CSC, you need to wipe / Factory Reset your phone.
So, you might as well download and flash a stock ROM that is for India. It has Indian CSC.
EDIT #1: You do not need root to flash stock ROM on your phone using Odin.


text:
Hdmi drivers in Android 4.0?
I am trying to install Android 4.0 on a tv box. I just need to know whether Android 4.0 will have the HDMI drivers.
Thanks

It depends on how the Android image you're using was built. When you build a ROM image from the Android sources, you set what drivers are included in the image, according to what target hardware you're expecting to use it with.
If you got the Android image from the manufacturer of the TV box, it should have drivers for all the hardware in the device. (At the very least, it should say if anything is missing.) If you're using a third-party image that was created for that device, again, the author should tell you which hardware is supported. If you're using a third-party image that wasn't created for that device, it probably won't work at all.
If you're building your own Android image, then you should look in the sources you're building from, to see if the HDMI driver is included; if you don't already know how to do this, you probably shouldn't be trying to build your own ROM.
You might also find Can I install Android on my non-Android device? useful reading.

Thanks a lot Dan.
I was trying to use third party image which is why it is not working.


text:
how to change input method with ime command
I want to know how to change input method using the command line. Any ideas? Sorry for my english.
I have tried this:
C:\Users\admin>adb shell
shell@android:/ $ ime list -a
ime list -a
com.huawei.inputmethod.hwpal/.PinyinIME:
  mId=com.huawei.inputmethod.hwpal/.PinyinIME mSettingsActivityName=com.huawei.i
nputmethod.hwpal.SettingsActivity
  mIsDefaultResId=0x7f080000
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.huawei.inputmethod.hwpal.PinyinIME
      packageName=com.huawei.inputmethod.hwpal
      labelRes=0x7f0c0000 nonLocalizedLabel=null icon=0x0
      enabled=true exported=true processName=com.huawei.inputmethod.hwpal
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
org.apelikecoder.bulgariankeyboard/.BulgarianIME:
  mId=org.apelikecoder.bulgariankeyboard/.BulgarianIME mSettingsActivityName=org
.apelikecoder.bulgariankeyboard.BulgarianIMESettings
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=org.apelikecoder.bulgariankeyboard.BulgarianIME
      packageName=org.apelikecoder.bulgariankeyboard
      enabled=true exported=true processName=org.apelikecoder.bulgariankeyboard
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard:
  mId=com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeybo
ard mSettingsActivityName=com.example.android.softkeyboard.FKSettings
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.example.android.softkeyboard.SoftKeyboard
      packageName=com.thihaayekyaw.frozenkeyboard
      enabled=true exported=true processName=com.thihaayekyaw.frozenkeyboard
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
shell@android:/ $ ime enable com.example.android.softkeyboard.SoftKeyboard
ime enable com.example.android.softkeyboard.SoftKeyboard
Error: Unknown id: null
shell@android:/ $

Probably helpful: adb shell ime list commands - Please clarify!

The ID of an IME isn't just the class name. Multiple packages, signed by different developer certificates, might use the same class name. That's especially likely in this case where it's a downloaded example. You need to use both parts of the ID, before and after the /. In this case:
shell@android:/ $ ime enable com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard

Note, though, that ime enable doesn't select that input method: it merely allows it to be selected by checking its checkbox in the IME list in Settings → Language and input. To select an IME (i.e. to make it the one that will appear when an EditText is focused) you need to use ime set:
shell@android:/ $ ime set com.thihaayekyaw.frozenkeyboard/com.example.android.softkeyboard.SoftKeyboard


text:
What is the meaning of the set of Play Store icons at the top of the screen?
Why are there a set of Google Play Store icons at the top of an Android (Nexus 10) screen?  What do they mean?

Can you post a screenshot?

Although you don't have a screenshot, they are most likely apps that have recently been installed, updated, or have updates ready. I can give you more specific help if you post a screenshot.


text:
Google Music won't cache my songs?
I haven't updated my Google Music in ages (I still had the blue interface) but when I updated it to the latest version, I had to clear my song cache because some of my music weren't playing correctly. This time around, it seems to stream the music all the time. I only have internet when I'm around wifi and I rely heavily on its caching so I can listen while on the road or offline. I didn't even have to specifically mark my songs as "Offline" on the older version I had, they just get stored as soon as I finished streaming them once.
So, what gives? Also, I assumed that they simply changed the behavior so that I am required to tick on the "keep offline" option this time around but I can't even find that option anywhere. Is this issue happening to other Google Music users?


text:
IR Receiver for Android Device
Assuming I already have a USB IR receiver and WMC remote as well as an Android device with a USB port, what is the best way to go about controlling the Android device with the remote after plugging in the receiver?

Welcome to [android.se] As you can see in [faq], which app does x is outta scope

@Sid: I'm more interested in presence at all rather than choosing between one of several apps.

This question is fine. @Ignacio: We have a strong tendency to dislike app recommendation questions here. You might do better to phrase your question as a problem to be solved rather than an app to be found.

@AlEverett: I'll give it a shot.

Looks perfect to me! I'm very curious for the answer, it's an interesting question! A pity that our devices have no built-in IR, there would be plenty of uses for it.

will the IR blaster be reconized by android out of the box ? if your device doesn't have support for it in it's kernel but here you go start with this there is easy may to do this but here you can start from here https://www.youtube.com/watch?v=3JEvM7gvcNE you can follow the guide to build your own IR then use Asmart remote from the play store to control it

this is an other way too http://www.irdroid.com/purchase/

I'm looking for a way to use a receiver, not a blaster.

sorry ,I must have miss understodod ,the best way to do it ,is via the kernel but it is not gonna be an easy ride ,but not impossible ,create a new input device that's all it take ,then make an app that can use that new input device


text:
Using existing playlists on Google Play music
I have a Nexus S, and I sync my music between iTunes and my phone using iSyncr, which basically just dumps the music files and playlist files into a folder within my phone's USB storage. I'm using iSyncr instead of Google Play to get music to my phone, because I want a true sync, which, in my understanding, Google Play's uploaded doesn't currently do with iTunes.
Until recently, Google Play music would read both the music files and playlists, but with the most recent update it no longer sees the playlists.
Anyone have any idea how I might go about fixing this ("fixing" meaning getting my synced playlists from iTunes to show up in Google Play music on my phone)?


text:
How to delete a system app?
How can I delete any system app? I deleted a wallpaper app in my app folder but I don't see any changes? I want to delete some apps especially default factory-installed apps. Is there a simple way?

How can I uninstall applications that are locked by phone vendor?

How can I deal with unwanted system applications without rooting?

If you are rooted, then you can delete or hide them with the Titanium Backup app, but if you aren't rooted, I don't think there is a way to delete the system apps.

I'm rooted and I have full access.

Try just uninstalling the app from the app drawer, but if that doesn't work, you can disable, hide, or fully delete apps by installing Titanium Backup

Before uninstalling any system app, I strongly recommend to freeze it for a few days to see if nothing else depends on it. Then make sure to back it up (Titanium Backup is a very good choice for that) before you finally delete it. And keep in mind, you don't gain any additional space by deleting it (as it resides in system space, where user-installed apps have no access to).

But I'm root  can I delete all file from app folder?

I honestly don't remember. When I run a custom ROM I got rid of the bloatware anyways. That's why I told you to try it and then use Titanium Backup if it doesn't work that easily.

Root:
You can install Titanium Backup to uninstall unwanted apps easily.
Without Root:
I found an interesting article which helps you creating a script to remove certain stock APK files.
Check it out here.

Download the recovery flashable BloatKill script in zip. Do not
extract it: bloatkill.zip.
Download and install a zip manager program on your computer, such as
WinRAR or PowerArchiver.
Double click the bloatkill.zip to open the zip
Now browse over to META-INF\com\google\android\
Right click the updater-script file and extract the file to
desktop. You can also extract this file by dragging it to the
desktop.
Open the file with a suitable program like NotePad++, or Adobe
Dreamweaver. The opened script file should look like this:

ui_print("Unwanted stock apps remover.");

ui_print(" ");
ui_print("Partitions mount");
#Properly unmounting to avoid issues
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");
#Then mounting
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/cache");
run_program("/sbin/busybox", "mount", "/data");

ui_print(" ");
ui_print("Unwanted stock apps remover");
delete("/system/app/StockApp.apk");

ui_print(" ");
ui_print("Unmounting partitions");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/cache");
run_program("/sbin/busybox", "umount", "/data");

ui_print(" ");
ui_print("Finish");

The line delete("/system/app/StockApp.apk"); being the app you want to delete.

When the editing is over, save the changes and exit NotePad++ or the
    editor you are using.
Now drag the updater-script file back to its place:
META-INF\com\google\android\ folder in bloatkill.zip
Now copy the bloatkill.zip file to the root/main directory of your
phone’s SD card (/sdcard/)
Open phone Settings and enable USB Debugging Mode from Developer
 Options.
Turn off your device and boot it into Recovery Mode. The method
 involves a special combination of hardware keys that are pressed
 simultaneously and differ from device to device.
In the recovery mode use the volume keys to scroll/highlight and
 the power key to select an option.
Scroll to an option called apply zip from sd card and select the
 bloatkill.zip file.
Confirm your choice by selecting yes.
Finally, select reboot system now.

you can not uninstalled them if not rooted,but you can disable some of them.not all!
go to Setting --> application manager --> then select application that want disable --> and disable it


text:
Nexus 4 problems connecting usb mtp
I recently bought a Nexus 4 and I encountered a real issue with my computer (Windows 8 Pro 64 Bit) not being able to connect in USB mode. It does however work with Camera PTP mode, which I find very strange.
I have tried/tested with:

Different usb cables
My computer with the same OS of Windows 8 64 bit isn't connecting compared to another computer with the same OS.
Removing its current drivers on my computer and reinstalling drivers from Nexus 4 ToolKit
Restarting the computer
With/without USB debugging mode

Note that the device is visible on the computer although it's not recognized:

Is your phone rooted? Stock ROM?

Just got it not rooted yet can't even connect to my PC to root this thing.

Try the Universal ADB driver. Also see: Transfer files to Nexus 4 and Mount a Kindle Fire (though a different device, steps are comparable).

Also see: Why does the manta (nexus 10) not “mount” with MTP selected? / Nexus 7 won't show up as a drive on Windows in MTP mode after update to Android 4.2 / File transfer between Windows 8 and Nexus 7 / Unable to connect my Nexus 7 to a PC / How can I troubleshoot MTP on my Galaxy Nexus

@Izzy Universal ADB driver I have tested and tried no luck. The other links are for different OS systems which doesn't apply to my situation.

I remember we had this issue already with Windows 8 (that user had no trouble with Win7, but only with Win8) -- and if I remember correctly, the universal driver solved the issue for him. Just cannot remember wich question that was... OK, sorry it didn't help. Not having any windows other than those to let light and air into my house, I'm afraid I can not further assist you.

You tried your best. I looked into most of the question and answers with no avail. I know the cause is not my phone, it's windows end with an MTP issue.

related: Android 5.0 Lollipop device not detected via USB.

I have Windows 8.1 and I had the same problem, PTP working, MTP not. I was following the steps suggested in this page but it wasn't doing the job, until I made some previous steps, and slightly changed the last part. Summarising what I did is:

Connect your device.
Unistall ALL the drivers from the Device Manager, be sure to go in "View"->"Show hidden devices" and then check that all of the following are unistalled:
a) Android Devices
b) Other devices
c) Portable interfaces
Now disconnect your device.
Check the PTP mode and connect your device. Wait for the drivers to be installed.
Without disconnecting check the MTP mode on your device and wait the drivers to be installed again.

Now it should WORK!! At least it did it for me ;)

I solved the problem by just :

Deleting Acer Adb Interface not just Uninstalling it
Disconnected my Phone and then connected it back
Waited for drivers to be installed.

Then the pc recognizes it, in  Usb Mode not as a ADB interface.
Hope this can solve your problem.

Hope you are expecting mass storage USB mode which is not supported with Nexus4 (stock android)

Could you please clarify your answer, and provide a reference showing that it's not supported?


text:
Is there a way to do Nandroid backup directly to pc and then restore it directly from pc also?
My phone doesn't have enough space to store backup files so I wonder if there is a way to do Nandroid backup and restore with files stored on pc.

I doubt that there is any way to do this. You should try backing up to an external SD card and then transferring to the computer. Or just move enough files to your computer so that you can create and restore the backup on your phone and then move the files back when you are done.

I have written some tools for exactly this purpose, due to similar frustrations: https://github.com/dlenski/tetherback
These tools are written in Python and use adb to create either nandroid-style backups (raw partition images from dd if=/dev/block/mmcblk0pXX) or TWRP-style backups (mixture of raw partition images and tarballs for ext4 partitions).
They attempt to probe the correct partition layout, and show the progress of the backup:
$ ./twrp_backup.py
Device reports TWRP kernel (3.4.0-bricked-hammerhead-twrp-g7b77eb4).
Reading partition map for mmcblk0 (29 partitions)...
  partition map: 100% Time: 0:00:03
Saving TWRP backup images in twrp-backup-2016-03-17--18-53-12/ ...
Saving partition boot (mmcblk0p19), 22 MiB uncompressed...
  boot.emmc.win: 100% Time: 0:00:05   3.10 MB/s
Saving tarball of mmcblk0p25 (mounted at /system), 1024 MiB uncompressed...
  system.ext4.win:   2% ETA:  0:06:29   2.69 MB/s

This is a work in progress—feedback is very welcome!
Requirements:

Python 3.3+ under Linux/OSX/Windows.

progressbar package is needed (pip install progressbar should do it)

adb (Android Debug Bridge) command-line tools
Rooted Android device with TWRP recovery installed.

The requirement for a rooted device and a custom recovery is never going to go away: if you don't have root access, then you have no means to copy the entire contents of your device's memory, simple as that.

EDIT: Looks like most of the traffic to https://github.com/dlenski/tetherback comes from this thread. The early issues with data corruption described in the comments below have all been resolved; tetherback now includes very strong checks against corruption.

First off thanks for making the program. It seems to be working well except whenever I use nandroid.py the bigger files, such as the system.img.gz and the userdata.img.gz, fail when decompressing the gzip. The "crc fails" and it produces an img file about 1/5th the size of the img.gz file. However, the bootloader.img.gz decompresses fine. Is their anyway that you could disable the gzipping or do you know another way to fix the corrupted file?

@I'm_With_Stupid, you can disable the gzip by modifying L46, but I doubt this is actually the problem. Are you running Linux or Windows? Unfortunately, under Windows adb mangles CRLF characters, meaning that it's impossible to transmit a binary image through it using the technique I'm using. I can write a workaround for this if need be.

Also, if you can provide any more details, please add it as a New Issue on the Github repository because it makes it easier to keep track of!

I added my problems as new issues so we should probably continue our conversation there.

A thread on XDA developers describes How to make a nandroid backup directly to your computer without using sdcard. Of course it only works on rooted devices. Further requirements include either a Posix OS like Linux/MacOS (Windows users can emulate this with Cygwin), and ADB (so either the entire SDK, or at least a minimal install). Moreover, busybox must be available on the device, and USB debugging activated.
The article describes step by step the commands needed to create a Nandroid backup. Basically, it's using dd via a named pipe to create a block-level copy of your device's partitions – what a nandroid backup basically is.

Thanks for the pointer, @Hudayfah! But whilst link-only posts may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. Otherwise, the answer becomes useless in case the link dies. I updated your post accordingly to show how that can look like, to help you concerning future posts (which you hopefully will make :) A warm welcome to our community included!

Also how would you go about restoring this backup, assuming you only have access to fastboot or maybe adb in recovery?

why must it be rooted?

I noticed that (if you already have ADB configured, your phone is rooted and you're working on a Linux system or similar) it is possible to dump the partition content by a single one-liner:
adb pull /dev/block/mmcblk0

This is the same as what is described in the XDA thread for getting the bit-for-bit contents of flash memory, except without the dance with netcat and pipes (which might be needed or not depending on circumstances, I guess). Obviously no partition on the flash memory should be mounted while copying the data (ie. do it from a recovery while adb mount doesn't list any partitions mounted), otherwise you'll risk an inconsistent backup in places which Android decided to write data at the time of backup.
Note that for restore a simple:
pv mmcblk0 | adb shell dd of=/dev/block/mmcblk0

will not work, as adb shell does not support piping. But if you somehow can do a dd of=/dev/block/mmcblk0 on the device itself, I suppose it should restore your backup. Don't trust me on this though, it might as well brick your phone. I haven't tested it yet; so far I only needed to recover a single partition and dd was fine for that.

Show Developer Options (Settings > Developer> tap build 7 times)
Enable USB Debugging (Settings > Developer > USB Debugging)
use recovery to avoid OS root limitations
./adb reboot recovery
do the pull
./adb pull /dev/block/mmcblk0 mmcblk0.img

How would I restore such backup?

@Suma with adb push (or mount the img and copy the files of interest out)

Android will let you access the entirety of internal storage that easily?

@Suma I have been scouring the internet and there are tons of guides on pulling the raw mmcblk0 partition data, but only vague answers or guesses on how to restore the data. From what I understand so far, restoring the mmcklk0 full device backup is not possible. You would use a utility to identify each partition contained therein and restore each of those partitions separately. You may need utilities like simg2img to get the right format of the data. Raw, sparse, image, etc. I am still looking into this, so that is all I have now.

@KingHolly "adb root" will let you restore. no need to over-complicate by using anything other than a raw image.


text:
ls command works but not with options?
In my terminal app when I type ls /? it gives me ls /d. Where can I find the other options?  For example I want  to list the file attributes  and file length.  I have tried also busybox to no avail.

The /? is a Windows/DOS thing. It generally has no meaning under Linux/Unix. If ls on Android provides a help page it's probably ls --help (as it is on a desktop Linux distro).

This I have also tried to no avail?

It might be helpful to include your phone model / ROM and list the output of busybox ls --help.

It sounds like you want the extremely common
ls -l

For reference, the complete busybox help for ls:
BusyBox v1.21.0-Stericson (2013-01-28 21:49:55 GMT) multi-call binary.

Usage: ls [-1AaCxdLHRFplinsehrSXvctu] [-w WIDTH] [FILE]...

List directory contents

        -1      One column output
        -a      Include entries which start with .
        -A      Like -a, but exclude . and ..
        -C      List by columns
        -x      List by lines
        -d      List directory entries instead of contents
        -L      Follow symlinks
        -H      Follow symlinks on command line
        -R      Recurse
        -p      Append / to dir entries
        -F      Append indicator (one of */=@|) to entries
        -l      Long listing format
        -i      List inode numbers
        -n      List numeric UIDs and GIDs instead of names
        -s      List allocated blocks
        -e      List full date and time
        -h      List sizes in human readable format (1K 243M 2G)
        -r      Sort in reverse order
        -S      Sort by size
        -X      Sort by extension
        -v      Sort by version
        -c      With -l: sort by ctime
        -t      With -l: sort by mtime
        -u      With -l: sort by atime
        -w N    Assume the terminal is N columns wide
        --color[={always,never,auto}]   Control coloring

Solved! It was 2 ls installed and I deleted the one linked to toolbox. But what is toolbox?

Probably it is the phone vendor's custom version of busybox. Or it could be anything.

I would generally not expect /? to provide meaningful output, because it's really a DOS/Windows thing. Linux/Unix command option are typically passed with hyphens, either a single one for short flags (for example, ls -l) or two hyphens for verbose ones (e.g. --help). Two possibilities that you can try:

If you're using a version provided by busybox, you can use busybox ls --help. Doing this without the call to busybox at the front of the command may not yield any results (e.g. CyanogenMod just responds with unknown option '--' if I try ls --help).
The Linux man page for ls is readily available online. The options there are probably not all implemented in the Android binary, but it will give you a bit of an overview. You can also check the man page for busybox, which has all of the commands it implements as well as the options they support. I am not sure if the Android version implements all the same commands/options, but it very well may.

I tried with and without  busybox to no avail.

The help can be omitted from a busybox build. When omitted, you can't get help/usage information from busybox commands.


text:
Blank screen when trying to boot into recovery mode on Samsung Galaxy Tab 2 10.1
I am in the middle of trying to install Cyanogenmod on my Samsung Galaxy Tab 2 10.1 according to Wiki instructions and I'm getting stuck when I try to go into recovery mode. I tried to flash it to koush's ClockworkMod Recovery (recovery-clockwork-6.0.2.3-p5110)
I've tried using Power + Vol Up and by using adb reboot recovery in the terminal on my PC. It seems to start into recovery mode with a message in blue stating it's entering recovery mode, however, it just goes black and I can't progress passed this point.
I can still boot into the stock and into Download Mode fine.
It's possible there was a problem installing the custom recovery as I never saw a progress bar as described in the wiki. Instead, it seems to stay at the "Don't power off target device" screen, despite the message in my terminal stating that it was finished. If the custom recovery was botched, how can I remedy it?
What can I check to narrow down the problem?
I'm running off a PC using Linux Mint in case that helps.

Didn't know that Odin works on systems other than Windows (Heimdall does, however). AFAIK there also were at least two different methods to get CWM installed on your device. Good luck, and thanks for updating your question! My last CWM install is already quite a while in the past, so I better leave you with someone more experienced in this field.

Me too. Tried flashing "Bump" TWRP 2.8.0.0 for LG D855 (G3) with Flashify and I got the same all black screen. Then after a while, it reboots normally...

It would be better if you could also provide more detail to get the file and flash it.

Try using CWRP OR PHILZ recovery.
It might be the case that your recovery doesn't able o flash the cm image correctly.
https://forum.xda-developers.com/showthread.php?t=2548257
Here is a link where you'll get the recoveries specified.
Good luck:)


text:
Why can't my laptop detect my S3 phone?
I want to upload pictures from my S3 to laptop.
There is no problem with my cable and laptop because my phone was able to charge when I connect my phone with the laptop. However, my laptop didn't detect any device when I connect my phone in with the cable. Hence, I am unable to upload images / add songs to my Samsung Galaxy S3.

Possible answer here
http://android.stackexchange.com/questions/64751/note-3-cannot-connect-to-windows-7

For Windows OS, download and install Samsung USB Drivers for Mobile Devices from here, or here. Then, enable USB Debugging on your S3. Next, connect your S3 to Windows via the USB cable and you're good to go.

This post helps me. In short: just remove your SIM card and battery, wait for about 30 seconds and put it back.

@sameer the post has been deleted.

Samsung has very bad connections on that line of phones (S3, N2) I know this because I have a Galaxy Note 2 and about 6 months ago it was doing the same thing, then eventually it stopped charging all together. I also have a friend with S3 and the exact same thing had happened, except it wouldn't charge(luckily his was still in warranty).
You need to check if it is being detected in another PC, if not, the connection is broken.If you really really need to be able to plug it into a PC, you will have to buy a replacement charger dock port.
Or you can use airdroid to wirelessly transfer files to an from your PC over a wireless network.

Did you install the correct USB drivers for the Samsung Galaxy S3? If not, download and install Samsung Kies.
You also need to make sure USB tethering is disabled: Settings > Wireless & networks > More > Tethering & portable hotspot. Then, check USB settings: Settings > Device > Storage > Menu > USB computer connection.
Source.

So now it needs drivers for Windows even if you just want to access the storage? Didn't know that MTP was that bad. Besides, the page you link as source doesn't even mention the word "driver" -- it basically says "plug in the USB cable and enjoy": When you connect your phone to the USB port on your computer, its USB storage is mounted as a drive and appears on your computer screen. -> the word is "drive", not "driver" :)

@Izzy Windows users still have to install USB drivers for the phone, so that MTP / PTP will work correctly.

OMG. I see, MTP is a real improvement over UMS. With UMS, one can simply plug the device in any Linux/Mac/Windows computer, and it's detected like any USB stick. MTP doesn't seem to work out-of-the-box anywhere -- and I know quite a few people who'd rather kill me than letting me install "some driver" to their Windows computer, as I'm not the vendor and they're afraid for their warranty or whatever. Ooops  :) So why doesn't that Google help page mention this? To me it looks like "Plug and enjoy, no drivers needed". Strange.

@Izzy UMS can be dangerous, because it exposes every file/folder to the regular user. With MTP, the user sees only what is "safe" to touch. They can still make mistakes and delete stuff, but it shouldn't be dangerous enough to brick the phone.

Yeah yeah, sorry. I didn't want to start discussing their pros and cons here (there are both; if you like to, we can do that in chat -- but here's the wrong place, my fault :)

We people have issues like that too. I am not so sure about Samsung S3, but I am sure about Android, I had an android phone, whose Drivers were perfect! I have checked for Drivers by the CD that came.
The issue is either not because of the cable, because if it charges well then it must connect to PC too, then where is the issue?
Here are the two major reasons:

Please check that your USB supports fast data transfer (USB 2.0), because Android would try to connect to a faster one.
Please note that there is alot of issues with Android itself too. Like many other apps running. When you connect to the USB, you get a popup that connecting usb storage would stop many other apps bla bla. So that is a reason too as android does not want to stop some personal apps from working. For this, you can restart the phone. This way this issue would be resolved, I have checked this one more than 5 times.

And USB tethering is just related to Internet, you won't get to use Internet on your connected PC, if you're having the tethering settings turned off. So that has nothing to do with the USB Storage!
Tip: When android gets the favourable conditions it would itself show the Connect dialog, otherwise you might need to change the port of USB you are connection too. Ory try the might Restart-the-phone trick. This way, you will get the images there! There is no other issue, I have been facing this issue for a long time. Then I caught the errors, the basic one is the USB port, then the Android apps; for that you can restart the phone.
USB drivers are installed by Default while you're connecting the device by general. In Windows OS (That's the only one I use) you would see the popup saying Installing Device Drivers, if that goes perfectly, then you can connect the device. Otherwise the only is this! Or there is a bug in the ROM (if you installed a custom ROM).

My problem was solved when I restarted my phone. After that, it automatically detected my phone from my laptop

Few Samsung phones have issues with their micro USB ports. Even my Galaxy Nexus has had this problem. The easiest way to fix it it use a pin(something shard) and push the micro USB port of the phone slowly and very carefully to the screen.
I suggest you to take it to a authorized service center though.

Maybe you have connected the device as PTP but not MTP. Follow these steps to connect through MTP-

First connect the USB cable to your laptop then scroll the notification bar down and you will have USB icon box ,Click on that and change your connection to MTP (Media Transfer Protocol) to transfer files in Windows.
Now that you have the proper settings you can connect to the Laptop. As soon as you connect your laptop the Windows Operating System will try to identify the hardware(Mobile device) connected and install its drivers which would be already present in the Operating system thus making it a plug n play Operating System.
Else if you still are unable to change the setting then visit this link
it has a complete description along with pictures

Else if not available then you need to update your drivers either through the windows update >USB Drivers for Samsung or manually download the drivers from the Samsung site.


text:
How to recover contacts from backed up galaxy S2 (gingerbread) files
I recently gave my old Galaxy S2 to a friend as I just got an S3 and before I did, I copied the "My Files" folder from my phone to this computer via USB debugging mode and then factory reset the phone.
I have since noticed that I had saved a few of my contacts on my old phone rather than to the sim since when I put the new sim in, there are some missing contacts. I was wondering how I might recover the contacts I had saved to my old phone from the copy of files I made on this computer.
I have the following files:

Is there anything I can do to get the old contacts?

Did you sync the contacts via Google? Or did you just save the contacts on the phone?

I think they were just saved on the phone since I have synced my google accounts to my new phone as well (and still missing contacts).

SIM contacts are not synced, neither are "phone" contacts. If you had used Google contact, they would have been synced with your Google/GMail account -- but then you wouldn't have noticed their loss, as they would have been synced back to your new device. Had you saved them as SIM contacts, they'd also be on your new device.
Which leaves us with the other non-synced variant: "phone contacts". Those are stored on device internal storage (to be more precise: in a database file located in /data/data/com.google.android.providers.contacts/databases), which is not directly accessible by normal users, so you could not have simply copied it.
Conclusion: as these data are not stored in "My Files", you have not copied them. And as you've factory-reset the original device, you cannot simply restore them from there. So apart from a quite expensive forensics recovery (done by a data recovery specialist) from your old device, there's no way to recover those contacts, sorry.

It is possible to recover your contacts from your old Galaxy S2 if the contacts are not overwritten by new files. A fact is that, the deleted files in your phone are still in your phone but hidden and inaccessible to you. That is why you cannot see them. To recover them, you need to use an Android Data Recovery to enter the file system to extract the contacts. In the market there are many such software, try them, your contact may be back.


text:
How can I shutdown my Android phone using an adb command?
How do I halt an android phone using adb command? I can reboot, but I don't know how to halt.
I tried shutdown -k wait command, but it did not work.

Try adb shell reboot -p to shutdown the phone.

For those who wonder what the "p" stands for: it's short for --poweroff :)

it would have been better unix way: "shutdown" for shutdown and "shutdown -r" for reboot

Doesn't work for me though. Nexus 4 on Lollipop 5.0.1 (rooted), or LG P705 on ICS 4.0.3 (unrooted). I wonder if it's related to ADB version or not (mine's 1.0.32).

Try adb reboot -p (leave out shell).

reboot -p only reboots my tablet. Doesn't shutdown.

How did you find out? It's not mentioned in the official doc: https://developer.android.com/studio/command-line/adb

so strange on my lg g5 i have to do adb shell reboot -p. if i do adb reboot -p it just reboots and ignores the flag.

works fine on a nokia 6.1 running android 9 without root. at first glance I thought that it just rebooted because of the splash screen immediatly showing, but it was the "charging" mode that automatically booted up since the phone is plugged for adb.

Google Glass XE23 doesnt power off with the button as some docs indicate so I needed this to power off for storage. Thanks!

Seems to power off immediately, no graceful shutdown(?).

Does not work for my phone with AOSP rom on Android 10 unfortunately, seems to be model, adb version or Android Version related?

Note: All the following commands below require root access.
On Android Oreo, this works and does a graceful shutdown:

adb shell su -c 'am start -a com.android.internal.intent.action.REQUEST_SHUTDOWN'
adb shell su -c 'am start -n android/com.android.internal.app.ShutdownActivity'  #alternative; the aforesaid intent is supposed to be passed to this component under normal circumstances, but calling the component alone works too
adb shell su -c 'svc power shutdown'       # alternative; tested on Android 5.0, 6.0.1 and 8.1.0

Following is an alternative and is tested on Android 4.2, 5.0 and 6.0.1. I do not know about Nougat but it doesn't work for Oreo though.

adb shell su -c 'am start -a android.intent.action.ACTION_REQUEST_SHUTDOWN --ez KEY_CONFIRM true --activity-clear-task'   # I kept this here for historical purposes only.

For low-level and instant shutdown
If you're running Android KitKat or above* and have root access, you can try this command:
adb shell su -c 'setprop sys.powerctl reboot,recovery'

replace su -c with adb shell to run the command using adb
replace reboot,recovery with reboot to reboot the device
replace reboot,recovery with shutdown to shutdown the device

* The last version on which the command is tested upon is stock Android 6.0.1.

"setprop sys.powerctl reboot,recovery" worked for me. Thanks!

here is an another method, go to android shell then shutdown the phone!
adb shell
shutdown

Doesn't work for me though. Nexus 4 on Lollipop 5.0.1 (rooted, even after using su), or LG P705 on ICS 4.0.3 (unrooted). I wonder if it's related to ADB version or not (mine's 1.0.32).

Doesn't work for me on an MIUI Redmi 3.  "shutdown: not found".

This is not a standard command

In Windows Sub-system for Android(WSA) shutdown doesn't work instead try doing
adb shell reboot -p or
adb shell
reboot -p

To shutdown the phone use this command on PC:
adb shell halt

Doesn't work on stock 5.0 Galaxy S5 & 5.1 nexus 7,   Interestingly when run in CM12 Reboot process asked for superuser access and works in CM12

Try

adb shell "input keyevent 26"

It's work for me.

That would put the device to sleep mode or would awake it. 26 is keyevent for power key. This cannot shutdown the phone.