text:
ICS and support for gamepad/controller devices
I own an Asus Transformer TF101 and finally the official upgrade to ICS has been released.
I remember some ICS video previews where they said that ICS would have native support for gamepad/controllers and I have some questions about it:

How can I understand if a market available USB gamepad is compatible with ICS?
Is there a list of already supported devices?
I also own a Microsoft PC Wireless controller, do you know if there is a driver written for ICS that supports that dongle?

USB controllers follow a spec which means any USB controller "should" work. So there is not a "list of supported devices" as they all are supposed to work as long as they are not proprietary. Even an Xbox 360 wired controller should work (not sure about a wireless 360 controller, even when plugged in with the charge kit). Now your wireless controller is probably a different story. This is probably using some proprietary protocol to communicate information from the dongle to the controller, but you could try it. As long as the android device thinks that the dongle is a USB controller, and the dongle handles the communications to the controller, it may work.


text:
How to keep Apps, that are banned from the offical market, up to date?
Sadly, a few fine Apps are banned from the official Market by Google (e.g. Transdroid): How can I keep those Apps up to date, without visiting the project sites regularly?

I usually sign up for an RSS feed on the project's website, and add the feed to a separate group in Google Reader.  Since I sync up with Reader twice a day, when an update to an app I'm following is available I know about it the same day.
For sites that don't provide a native RSS feed, there are some services that can generate an RSS feed on-the-fly, like Feed43 or FeedBeater, for example.

source: Stack Exchange

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

sort: votes


text:
How do I save images from google search on my Galaxy Ace (Android Version:2.2.1)
When I want to search for an image and I get the image results, I do not see a download option when I select a particular image (although the URL is of a .jpg file)
Is there an app for that or some way to do it with the existing options?

What happens if you long press on the image?

Google Image Search seems to be doing something funny with the way it shows you image previews.
What you need to do is when you run your image search you should see the grid of all the picture results:

Tap the picture that you're interested in and it should appear larger on a black background. When that first loads you should see something that looks a bit like a toolbar above the image. The toolbar disappears after a few seconds, just tap the image again to get it to reappear.

You should see a View Full Size "button" if you tap that the image appears actually full screen and now you can long-press on it and save it as normal.

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


text:
How to make Android use remote DNS servers over VPN?
I've set up an L2TP/IPsec PSK VPN between my phone and my home network.  It works, but Android doesn't use my home DNS server, so none of my internal hostnames resolve.  I can access internal servers by IP address, but not by name.  How can I get the phone to use my internal DNS instead of whatever servers it normally uses?
Some background: I'm using a Samsung Epic 4G running Gingerbread.  My VPN server is running xl2tpd and openswan on Linux.  I checked the routing table on my phone, and traffic is correctly being routed through the VPN.  On the server, there are options in the PPP config called "ms-dns-1" and "ms-dns-2" that allows the server to push DNS server IPs to the client.  But apparently those options are only used by Microsoft clients.  I've Googled the issue, and other people have the same problem, but I haven't been able to find a solution.
My phone isn't rooted.  I'm willing to root the phone if I have to, but I'd prefer not to.
Edit, 2 months later
I finally found out what was wrong, and it had nothing to do with DNS.  I'm using my desktop computer as the VPN endpoint, and I had neglected to turn on IP forwarding, so it wasn't forwarding packets.  I could access services on the VPN endpoint itself, but anything that required forwarding packets (including DNS lookups) failed.  The VPN client was correctly picking up DNS information, but it couldn't reach the DNS server because of the forwarding issue.  Once I corrected that, the VPN worked perfectly.  To summarize, I'm an idiot.

Isn't there a DNS configuration for the VPN connections? When I set up my PPTP VPN connection, it asked me for remote DNS servers specifically.

I think it only asks for DNS servers if you configure a static IP.  If you use DHCP (very common), it picks up everything from the DHCP server.

I have similar issue. (Still have.)
There is something I don't understand in your initial description. You wrote "I can access internal servers by IP address, but not by name." Did you are able to access internal machines with IP forwarding turned off?

@utom No, that was another mistake on my part.  I was able to access my VPN endpoint by IP address.  I didn't even check other IP addresses.  I just assumed I could access them the same way.  If I had checked other addresses, I might have found the issue sooner.

You might want to take a look at the DNS Settings app, which claims to be able to do what you want (you just have to switch once to a static IP to change the DNS settings, and then switch back to dynamic IP, according to the description). That's the only non-root app I could find for this issue -- there are two more apps at least, but they require root to work.

I know this is an old thread, but I recently ran into this problem on my Samsung Galaxy A21s and figured out the fix yesterday.
In my case, I had a VPN server where DNS resolution was working fine when used with my iOS device, but DNS resolution was not working when I used an Android device to connect to the same VPN server.
In my case, the issue was the DNS settings on the Android device.
Under Settings > Connections > More connection settings, there is a feature called Private DNS. This was set to "Automatic". I set that to Off. After that, when connected to the VPN server, the Android device started using my internal DNS server (as specified by the VPN server). When not connected to VPN, the Android phone uses the DNS servers specified by the local network. This was the desired behaviour for my use case.
Apologies, but whether someone set the Private DNS feature to Automatic while troubleshooting is unclear. So I can't tell whether or not Android sets that to Automatic by default. Frankly, I've spent too much time troubleshooting the issue to confirm either way (this was only meant as a POC). Just sharing my experience in case anyone else runs into the same problem in the future.

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


text:
How do I convert videos for Samsung GT-i5503?
I'm using Samsung GT-i5503 with android version 2.2. I recently updated my Kies application. And after updating when I tried converting videos using Kies Video COnverter from youtube then saved in my phone, it won't play and error message was displayed(Sorry, this video cannot be played.). However, before updating my kies it works perfectly. How can I convert videos now so that can be played in my phone.

Did you use Kies to convert the videos? If not, how is the Kies version related to this question?

@Matthew: I used Kies to convert the videos.

To what extension did you convert the videos? GT-I5503 by default supports only some limited extensions.

@CustomiZer: I use the device specific setting. File type: MP4, Resolution: 320x240, Frame rate: 30, Bit Rate: 6291456

@Kyle Give MX Video player a shot. I have the same handset and I gaurentee its working pretty well.

I highly recommend Handbrake Video Converter. It can convert all common video formats to mp4,mkv that the samsung video player supports. Choose the iPod Profile which is supported by most phones or you could also create your own profile. I always use Handbrake to convert videos for my Galaxy Ace. The Samsung GT-I5503 shares many similarities with the Galaxy Ace and as Samsung is using the same Layer of Software on top of android (TouchWiz with all the Apps such as Music,Video etc..) the same settings should work for your phone.

+1 for Handbrake. My fav more-than-you-ever-wanted-to-know guide on converting via Handbrake is at Maximum PC. Just follow the instructions for iPhone/iPod.

Thanks for the tip. Handbrake works very nicely for me to convert HD mov files.

MX Video Player supports quite a number of video extensions namely .3gp .avi .divx .f4v .flv .mkv .mp4 .mpeg .mov .vob .wmv .webm .xvid and many more but it will require you to install this codecs for GT-I5503 (you will be auto prompted after you install the player but in case not, use the link).
You will not need to convert videos anymore.

+1 No conversion needed. You can also try MoboPlayer or RockPlayer


text:
What are workable/straightforward methods for using external game controllers (bluetooth, USB) with the Android platform?
I own an Archos 43 IT running Android 2.2.  It is my understanding that the Archos devices in this product line support USB Host and Bluetooth.
What are workable/straightforward methods for using external game controllers with the Android platform?
I am aware of the WiiMoteController project, and the capability of hooking up a Wii Classic Controller to a Wii Controller via bluetooth for emulator usage such as here.
The thing is that I don't already own any Wii controllers and it seems like a waste to go out and get those controllers if I already own several Logitech Dual Action USB gamepads, and could use those instead.

Voted to close -- "What's out there?" isn't a real question.

I have changed the wording to be less subjective.

"Best" is still pretty subjective.

I changed "best" to "workable/straightforward".  I just want to see solutions with as few steps as possible.

This question is more an open question than an straightforward one. But I think it has a great value, should stay and become community-wiki when more good quality answers show up.

@Zoot: Better, although the whole "would anyone like to share their experiences" still runs afoul of the guidelines.

@Al Everett The "share your experiences" paragraph has been removed.

The best option (albeit a rather pricey one) appears to be the iControlPad.  It was originally designed for use with an iPhone but now uses bluetooth to communicate with all bluetooth-enabled devices.  It sounds like developers plan on supporting it, but I'm not sure how well it will work with current games.
EDIT:  I recently became aware of another bluetooth gamepad that caters specifically to smartphones.  It's called the Bluetooth Game Gripper.  There is an Andoinica article about it here, and the kickstarter project is here.  However, it doesn't appear that the maker has garnered enough VC to get the project off the ground, so I'm not sure of the current status.

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


text:
Sending Map from PC to Archos 43 using Chrome to Phone?
Has anyone used this feature successfully? (C2DM feature explanation here - warning, it is a technical document)  As a user, how do you do it?
The only app that I can find that looks like it does this is Chrome to Phone.
Given the name, is the phone function crucial to pushing a Map to your Android device?
I'm looking to send directions from my PC to my Archos 43 that is paired up with a Bluetooth GPS.
Thanks!

Chrome to phone is a great app.  It's one of my most used apps.  Install Chrome to Phone from App Brain or the Android market.  Next install the Chrome Extension.  Finally find the directions on Google Maps and click the chrome to phone button.  This will open up either the web page, Google maps, or Google Navigation (can't remember) on your device assuming your device is connected to the internet.
However, since this is not a phone I suspect you won't have an internet connection while you are driving which could be a problem if you are trying to use Google Maps/Navigation.

The latest version of maps will download all the data needed for your directions so you dont have to have a data connection. There is also a plugin for firefox if you use that browser. Chrome to phone also requires android 2.2 or later, but there are others that support android 2.1

Yes, it does require Android 2.2.  Good point, I forgot that maps can download all of the data for directions now.  @Ryan Conrad Do you have links for the others that support android 2.1?

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


text:
How can I set accessibility options on an Android ROM without them?
After buying an Android '13'† Head unit with a screen higher resolution than my previous stereo, I found that it didn't offer any options to change the font or icon size in it's accessibility options, so text is too small at arms length, where the screen is.
Since there are no after market ROMs for this device yet, I wonder if there is any other way to change these settings via an app, or by editing a configuration file somewhere?
I have enabled Developer options on this device and can enable adb if needed.
† About may say "Android 13", but it's probably a lie, it looks more like Android 10, but I would like to know the most reliable way to work it out.

Do you have adb access?

Some of those settings for me have been in "Display" under "Display size and text" rather than Accessibility, have you looked there?
Also, would you mind providing the Android version? A lot probably depends on at least that.

Nothing like that in Display either. What's the most accurate way to tell what version it it, as it's one of those versions hacked to say that it's Android 13, when it definitely isn't. I believe that it's based on Android 10, but I don't know which values in About that I can trust, and which I cant.

# for font size
adb shell settings put system font_scale 1.10
# 1.30 is apparently the largest font size possible
# for dpi
adb shell wm density <dpi> # higher the value, larger the icons

Sometimes a reboot might be needed for changes to take place

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


text:
Problems accessing message logs on Jelly Bean with aLogcat
Summary
I have been having problems accessing the K9 log messages using aLogcat, see below for more details. What I would like to know is:

Why are no log messages from K9 appearing in the aLogcat log viewer?
Does anyone have any suggestions as to how I can see the full text of the errors which are occurring when trying to sync my K9 folders?
Could something have changed in Jelly Bean which lead K9's logging to stop working?
Since there seem to be remarkably few messages being shown by aLogcat in general, has something has changed in Jelly Bean which could mean that it is no longer able to access all messages?

Detail
I have recently been having connection problems with K9. My folders fail to sync and the folder list ends up full of socket errors (libcore.io.ErrnoException:) or ssl errors (javex.net.ssl.SSLException:) etc. where the last checked time should be. I get different messages depending on which problem is occurring at the time, but I can't see the full text of the error message, so it's difficult to guess what the cause might be.
Thinking that the log files might contain more information, I followed the instructions at Recording a debug log, enabled debug logging in K9, installed aLogcat and tried to look at the logs. Sadly, whichever log buffer I select (Main, Events or Radio), there appear to be no messages from K9.
If I add the suggested (k9|AndroidRuntime) regex filter then I see nothing in any of the logs. If I remove it then Main contains mostly garbage collection messages, Events seem to contain mostly messages from aLogcat itself and I haven't seen a log message in Radio yet.
If it makes any difference, I'm using a Nexus 7, but I would have thought that logging would have been to a standard location which wouldn't change between android versions.

Does anyone have any suggestions as to how I can see the full text of the errors which are occurring when trying to sync my K9 folders?

It seems that there is no way to see these log messages on the device without root access, but if you do have root access, there are a couple of options, either grant the required permissions to aLogcat or consider using a horrible hackTM to view them directly.
View the log files on your PC or workstation via adb
If you can connect your Android device to a PC or workstation, then you can access the logs via the adb command.
To do this on Windows, first you will need to install the Android SDK (which will require the Java SE SDK) and add the android-sdk\tools and android-sdk\platform-tools to the system path. Then enable USB debugging on your Nexus 7, plug it in via USB, and install the Android Composite ADB Interface from android-sdk\extras\google\usb_driver (I had to force Windows XP to look here, it wouldn't find the drivers on it's own).
For details of how to get adb up and running without the full Android SDK install, or on Mac or Linux machines, see Izzy's excellent answer to
Is there a minimal installation of ADB?
Then you can open a shell (i.e. a cmd window) and run the command:
adb logcat k9:V *:S AndroidRuntime:E

I have confirmed that this works on my non-rooted Nexus 7.

Grant permissions to aLogcat
If you have root access, you could consider granting the READ_LOGS permission to aLogcat, as suggested in this post aLogcat/CatLog/Lumberjack not working? Do this ... on the xda-developers forum:
pm grant <pkg> android.permission.READ_LOGS

To grant this permission to alogcat or alogcat.donate, you would use one of the following commands, depending on whether you are running the donate version or not:
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
pm grant org.jtb.alogcat android.permission.READ_LOGS

According to one post on android-developers and the ticket, the permission grant survives reboot and update, but not uninstall/reinstall.
Sadly since this requires root access, whether I run this on the device or on my PC (prefixed by adb shell) I just get the error:
Neither user 12345 nor current process has android.permission.GRANT_REVOKE_PERMISSION

I cannot confirm that this works, since my Nexus 7 has not been rooted.

Consider using a horrible hackTM
If you have root access, you could consider making logcat setuid root and running logcat from the device shell, as suggested in this answer to my How can I access android log files on my Nexus 7 without root access?question:
chmod 04755 /system/bin/logcat
logcat k9:V *:S AndroidRuntime:E

Again, I cannot confirm that this works and I would probably only use it as a last resort, given the security implications.

Why are no log messages from K9 appearing in the aLogcat log viewer?
Could something have changed in Jelly Bean which lead K9's logging to stop working?
Since there seem to be remarkably few messages being shown by aLogcat in general, has something has changed in Jelly Bean which could mean that it is no longer able to access all messages?

This appears to be a change in Jelly Bean which affects all applications which may try to read the log files.
Apparently READ_LOGS permission is not granted to 3rd party applications in Jelly Bean. Since this link seems to be unreliable:

Today I've tested my application on newest (api 16) emulator before releasing it to Google Play. It turned out that Android now refuses to grant this permission to 3rd party applications. This is weird because I've looked through all Jelly Bean's documented changes and couldn't find anything that mentions READ_LOGS permission.

and later

The protectionLevel for READ_LOGS is now "signature|system|development". The new pipe syntax for protectionLevel is also undocumented (see http://code.google.com/p/android/issues/detail?id=34785).

My suspicion is that aLogcat is only seeing messages generated by itself and it's vm.
For further information, see Flow answer's to my question How active should I expect my Jelly Bean system log file to be?

IIRC adb logcat is still able to get the full android log on Jelly Bean.

It does not require root but you need to enable adb on your device (usually under developer options).

@Flow - I've now confirmed that I can view the log on my PC using adb logcat from there and have updated my answer accordingly. It's still frustrating that I can't find any way to access the logs without root access from the device itself.

It is the whole point in the JB log change that a non-root user can't access the full system log.

@Flow - Yeah, and the whole point of log messages is that you can use them to find out what's going on. JB makes an app like aLogcat pretty pointless, since it can now only access log messages it has created itself!

I created a simple utility to access log files from a PC: https://gist.github.com/hrj/5983971

BTW: It does not require a Windows PC to use ADB. It runs fine on a Mac, too – and I use it without any issues on my Linux machine. Neither does one need a full SDK install with all its dependencies (see: Is there a minimal installation of ADB?). Apart from that: Great and thorough answer :)

Thanks @Izzy, I've updated my answer to reference your answer and make that section more generic.

Thanks, good job! One more detail: My linked answer also applies to Windows. The full SDK is not needed just for ADB to work :)

That's why I prefixed that para with For details of how to get adb up and running without the full Android SDK install. I prefer self contained answers, so I didn't want to remove my procedure, but I did want to highlight your as an alternative.

Thank you! adb logcat k9:V *:S AndroidRuntime:E showed me stacktrace of morning crash at night of the following day! Log was still there!

I've seen this behaviour in K9 when my mail server updated it's SSL certificates. The fix was to long-press the account, select Account settings -> Fetching mail -> Incoming server and just hit Next through the pages to confirm your settings until you get the popup about the certificate (this might not appear if everything is OK with the certificate, mine had a wrong vhost). Confirm the certificate and just go through the rest of the settings and you account should start to work.

@MarkBooth Perhaps you should have asked that, we generally prefer questions that don't presuppose a solution.

@MatthewRead I must agree with Mark here: The 4 items in his summary explicitly state he wants help with the logging issue, and I also do not see the "XY problem" here (presupposed solution). K9 is clearly just the example -- but maybe the question title should be adjusted to underline it: "Using logcat to determine the cause of problems" would match (and focus) better ;)

@MarkBooth Yepp, tnx -- much clearer now. Also tnx for the detailed answer! Please keep us updated about your progress.

Should I delete my answer, since it's completely off-topic after the edits and prone to be downvoted?

It's up to you onik. As I said originally I do appreciate you taking the time to post an answer, but now that I've updated the question your answer looks even more out of place. I suppose you could always wait and see if it gets voted below -3 so you can collect your peer pressure badge. *8')


text:
How can I make the browser remember login credentials for Google mobile sites?
The stock browser forgets the username and password when logging into mobile versions of Google sites such as Google Search and Google Tasks. Setting Menu -> Settings -> Privacy Settings -> Remember form data and Menu -> Settings -> Security settings -> Remember passwords in the browser has no effect. Checking the "Remember me" checkbox at the sites' login forms has no effect either.  How can I get this to work?
I use a Nexus S running Android 2.3.6.

Webpages can opt out of autofill; intended to be added security for banks and other sites requiring higher than normal security. There are ways to circumvent this in firefox, chrome and IE but I haven't figured out how to do it for android. Whats the origin of the android browser code base? That might be another place to look.

It could possibly be due to blocking cookies. If you don't accept the cookie it will never remeber who you are.
Check the setting for:
Menu->Settings->Accept cookies

My browser is already set to accept cookies, and it remembers the login credential of other sites.

Use an app called LoginBox. It's a browser that specialize in remembering the complete login process.

This answer might be useful if you [edit] it to add a link to the app you're recommending. Also, please confirm your relationship (if any) with this app: recommending your own app is OK on this site, as long as you're honest.


text:
Delete an account from Android without affecting the apps related to it
I have three accounts in my Android phone. I have apps installed in the phone via them.
Now I want to delete one of the account (NOT primary) but don't want to lose the apps related to them.
Is there a way to do that?
Or if I can move my apps from one account to another, so that after doing this I can delete the second account?

Are these purchased apps our free ones?

some are purchased and some are free... but more importantly I can not loose the data in them ... its about data of 1.5 yrs ...

If you're worried about losing data, I'd strongly advise getting Titanium Backup and doing a full backup of your phone before you make any changes.  That way if anything happens to go wrong, you can just restore from the backup.

Deleting a secondary account won't delete the already installed apps associated with the account, AFAIK.  However, that's a loophole that Google might plug in the future.
It's not possible to move apps from one account to another.

thanks @Logos ... so Will I be able to update those apps even after I have deleted the account related to them?

Yes, the apps should still update.


text:
Why does Google play show a "no connection: retry" error?
Recently I bought a Spice MI 280 with Android 2.3.4, I downloaded apps from the Android Market like App2sd, Task killer, Soundhound etc.
A few days ago Android Market was upgraded to Google Play and when I try to open it it shows a no connection: retry error...although I can browse the net through Opera and uc browser without any difficulty.
When I open YouTube through Opera it shows the main page of the site, but then when I try to play a video it shows cannot play the video.
I have tried adjusting the current date, clearing data and caches etc. I've tried a factory data reset but its asking please input phone password. Any suggestions?

Okay, I ran into the same issue and finally found a fix that worked!
First off, go to settings>Applications>Manage Applications>Google Play Store and select "Clear Data"
Then, return to your home screen and just wait for the Play Store to auto-update.
If it does not come up on its own, re-open the store and select "update"
Finally, close the app (after it boots up), give your phone another minute,and have at it!
After trying this, my Play Store has been working just fine.
I hope that helps!
Cheers

The same kind of technique applies to some, not all, apps. :) Go as far as Settings > Applications > Manage Applications, select the app that's giving grief, then Clear Data

nope doesn't work

I'm finding that I can install apps again if I downgrade from Google Play Store to Google Market on an HTC MyTouch running Android 2.2.1.
To downgrade, go to Settings -> Applications -> Manage applications -> Downloaded -> Google Play Store -> Uninstall updates.

I had the same problem with my Xperia ZL. It was supposed to be because of incorrect setting up when the phone booted for the very first time.
I did a factory reset and the issue is fixed for me. So simple.
Good luck.

If you have root access, you can also clean up the "host" file content.that sould also work. It is under /etc/ directory.


text:
Can the Galaxy S2 be rooted without increasing the custom flash counter using adb?
Normally, rooting guides for the S2 involve flashing a kernel to the device to install busybox and su. This xda post suggests a method for doing so via adb (found approximately in the middle of the first post):
adb shell mount -o rw,remount /dev/block/mmcblk0p9 /system
adb push busybox /system/xbin/
adb push su /system/xbin/
adb shell chown root.shell /system/xbin/busybox
adb shell chown root.shell /system/xbin/su
adb shell chmod 755 /system/xbin/busybox
adb shell chmod 4755 /system/xbin/su
adb shell /system/xbin/busybox --install -s /system/xbin
adb shell mount -o ro,remount /dev/block/mmcblk0p9 /system

This also seems to be the method tools like SuperOneClick use. Now I recently found this blog post indicating the above method does not increment the hardware counter in the S2 that counts flashes of custom firmware. More than that, it can also be used to install ROMs via Mobile Odin, also without increasing the counter, because they come form the device itself and not from a computer via the USB cable.
I fear to try out myself and lose my precious counter value of still 0. Has anyone tried out a method like this before and can confirm that it really does not affect the counter?

You can make or buy a USB Jig for Samsung Galaxy S2 i9100. It’s a really simple circuit that involves putting 300K Ohms of resistors between pin 4 and 5 of the microUSB connector.
With a USB Jig you can reset the custom binary counter to zero and also remove the yellow triangle on start up if you have rooted your device.

Turn off your phone completely and remove the battery for 10-15
seconds
Put the battery back but don't switch on the device
Plug the USB Jig into Micro USB port of your phone Wait for around 2-3 seconds
You phone screen will show "ERASING DOWNLOAD INFORMATION SUCCEEDED" in ODIN mode and Custom Binary Download : No
Now you can remove the battery and restart the phone.You will also notice that the yellow triangle which comes at start-up is gone now.

A little information for people that may not be aware. The counter in the SGS2 is there for Samsung to tell if you have flashed custom kernel / ROM on your SGS2. Samsung ships these devices with unlocked bootloaders, but being a company and need to protect themselves, if your counter is not 0 and you try to return your device under warranty, they will not honor the warranty.
Even if you can't flash without increasing the counter, there are ways that the counter can be reset. With that said, there is no guarantee that you will be able to reset the counter. Samsung may identify the way that people are using to reset it, and they may "change" it.

Although the counter can be reset, it is suspected that there could also be a way to determine if the counter was reset. That is why my question does not aim for a way to get the counter to 0 when it was once increased, but for a way to flash without counting up to begin with.


text:
How to fix Sync Browser not working on ICS
I just got a Galaxy Nexus and all is good apart from that my Sync Browser doesn't work.  When I run logcat against it it gives me the error of :
BookmarksSync  I  Sync failed due to soft error: Skipping any commits.

I've seen some pages online which describe this issue and suggest fixing by removing all your bookmarks and starting again, but I'd rather not do this. *see edit below
Does anyone know how I can fix this without removing all my existing browser setup?  or if this is the only way, can someone point me to a page with clear instructions.
** EDIT **
I tried removing all my bookmarks and syncing and it's still giving me an error with no bookmarks present.

Have added a bug report to the Android issue tracker.  If you are experiencing the same, could you please star it : http://code.google.com/p/android/issues/detail?id=22407

Disable syncing in Google Chrome.
Remove stored sync data on your Google Dashboard.
Enable sync again in Google Chrome making sure that only the passwords are encrypted.
Disable and enable sync browser in ICS.

There is a more detailed howto with photos on my blog if you need it.

Yup from the comments on the Android issue tracker it seems that encrypting everything is the issue here - in order to have browser sync, you need to have unencrypted data in chrome sync.

I had a similar issue.
Eventually, I disabled the following:
auto fill forms; sync via USB an developer tools. It worked!
Oh also I cleared data (settings..content settings) for Google sites.


text:
Bluetooth GPS compatibility list for Android 2.2 / Archos 43 tablet?
I've been looking at a very inexpensive bluetooth GPS (DeLorme Earthmate BT-20) to pair with my Archos 43 Internet Tablet running Android 2.2.  Is anyone aware of a compatibility list that I should be referencing when considering pairing my device with a bluetooth GPS?  I assume that the Android app will be used to reference maps, and the GPS will simply provide coordinates, but I may be mistaken.

I don't believe you need to worry about hardware compatibility beyond the BT specs.  Your A43IT uses Bluetooth 2.1 EDR so as long as the BT GPS supports that it should be all set.  You'll either need an internet connection to use Google maps, or like you were planning, an app that downloads the maps, like CoPilot.
I haven't gotten around to buying one yet, but I've been doing some digging in preperation.  Here's some links that may help:

BlueGPS4Droid - App over at XDA that interfaces with the BT GPS
This guy is using his Nexus 1 to give his A70IT WiFi and GPS
Here's another relevant thread... and another.

Let me know what you end up doing and what works in case you beat me to the setup.

Globalsat BT-359CS works fine with mine.  Watch the screen saver though.  If it kicks in the bluetooth connection gets messed up.

I finally purchased a BTGP35KM and everything is fine. Also, I have discovered Google Labs Zone which enables downloading a 10 sq miles map on your Android, thus enabling offline (only found the french version here).


text:
How can I prevent apps being killed prematurely on my Moto G 4G?
I have a Moto G 4G (XT1039, Android 4.4.4, non rooted) which aggressively kills apps, even while they are in use. Apparently one of the few Motorola 'enhacements' (read bloatware) compared to stock.
When driving, the only apps which matter to me are the app playing music and the app giving me directions, yet every 20 minutes or so, either Play Music, or Maps (or sometimes both) will get killed. I have to find a place to stop, pull over, set the apps going again (and often Maps has forgotten my previous destination) and set off again. It gets very irritating.
I have tried looking at Settings, Developer Options, Process Stats, but the apps which show as 100% running time cover only 250MB of the devices 1GB of memory, so it must be a non 100% running time background app waking up and pushing my running apps out of memory.
A similar thing happens with both Netflix and Ingress. Every time I watch a Netflix show longer than 20 minutes, when I open the app it reloads and I have to disconnect and reconnect to my Chromecast so that I can control the stream. Similarly whenever I switch to Ingress, even if I've just looked at the home screen, I find that it has been killed and it has to reload. I have already tried uninstalling all background apps I don't absolutely need, but I still have a problem.
Is there any way to configure the task killing behaviour without root access? Or prevent specific apps from being killed?


text:
Historical data usage on Android Pie
I'm trying to check my historical data usage on my OnePlus 6 (OxygenOS 9.0.6).
I used to be able to go to the Data Usage settings and use a drop-down list at the top to select different time periods, but trying this just now it only shows me the usage since the start of my current billing cycle, with no option to show any other period.
This is not the behaviour I was expecting, so I wonder if this specific to Android Pie on my OnePlus 7, or has Android Pie (or earlier) removed the ability to display data usage history.
Noticing that my billing cycle start date was wrong, I corrected it and found that the usage data shown now goes back to the start of the new billing cycle start date, so obviously it stores more data than is displays.
If more history is still recorded somewhere, how can I get access to it, and how far back would the history go? I'm comfortable with using adb if necessary.
My device is not rooted, nor can it be, but I'm comfortable with using ADB if necessary.

I use this apps to monitor my data usage I found it useful. You should try if you want.
https://play.google.com/store/apps/details?id=com.internet.speed.meter.lite&hl=en&referrer=utm_source%3Dgoogle%26utm_medium%3Dorganic%26utm_term%3Dinternet+monitor+android&pcampaignid=APPU_1_6egZXfunKIv6wAP8_ovoCA
https://play.google.com/store/apps/details?id=com.glasswire.android&hl=en&referrer=utm_source%3Dgoogle%26utm_medium%3Dorganic%26utm_term%3Dglasswire&pcampaignid=APPU_1_segZXchYxdb5BvHunLAF

I've used Internet Speed Meter Lite before, but it only shows you data it has recorded itself, so installing it now won't give me access to historical the data I'm after.  The same appears to be the case for Glasswire, so neither can help me access the usage data the OS has already recorded. Also, both apps need "Run at startup" permissions, so to be running in the background the whole time to record this data.


text:
When typing, automatically replace specific characters with others (ie accented uppercase Greek vowels)
I'm looking for an app or other way to automatically replace specific characters with others, from a list of my definition. This should be done in every possible text edit field, inline.
Ideally I would type up some text and, if the keyboard I'm using is configured to do so, it would replace as I type or after a word is autocompleted. Unfortunately I haven't found any keyboard app that allows for this.
A second way to do this would be to complete typing in any text field, select all typed text, share or copy paste to another app that will do the replacement, then paste the replaced text back into the text field. This seems like the most realistic solution to be looking for, and one that I could consider writing myself. I figured I'd check for a more elegant or existing solution before considering that.
The main purpose of this is to accomodate whoever types in Greek and wants to use a keyboard's autocomplete functionality, in particular to send SMS in GSM-ASCII encoding and thus be able to use 160 characters per single SMS.
All keyboards that I've tried (Go Keyboard, Swype, Swiftkey, stock ICS, Samsung), exhibit the same issue, namely the capitalized versions of the words in their Greek dictionaries incorrectly include accents on the vowels. This probably happens because the dictionaries include only the lowercase versions of the words, while automatically uppercasing them on demand to save store space or to avoid what they perceive as duplication.
Unfortunately, although lowercase greek vowels may carry an accent, uppercase ones must not do so. More importantly, the 7-bit GSM-ASCII encoding for SMS transmission that allows for 160 characters per SMS only includes uppercase Greek characters without accents (it does not include lowercase ones). As soon as a single lowercase or accented uppercase character is typed, the SMS must be sent using UCS-2 encoding which is 16-bit and limits us to 70 characters per SMS.
The list of characters and their replacements is this:
Ά => Α
Έ => Ε
Ή => Η
Ί => Ι
Ό => Ο
Ύ => Υ
Ώ => Ω

Would anyone have any idea how to go about doing this, in an existing app or some sort of macro with string replacement functionality?
Apologies for the long question, if you reached this far. I thought it was important to state the background that lead to this limitation. Thanks in advance.

Shortly after asking the question, I went about exploring the 2nd option I had thought of, namely using an intermediate 3rd party app to copy typed text to, replace accents, copy it again, and paste it back into the text field of the initial app.
I looked into Tasker and after a couple of hours managed to get a crude but effective solution using its quick dialog creator (Scenes) with an input field and a single button. I paste the accented text into the input field, click the button, and it removes all accents, copies to clipboard, and destroys the scene. For ease of use I am launching that one from a Task Cut shortcut that can be added to any home screen or even better, from a Swipepad portal.
Thus the crude and intermediate solution is the following:

type autocompleted capitalized greek words in SMS or other app, select all, copy
without switching apps, swipe to the Task Cut shortcut that opens the created Scene
paste into the text field and click on the button, which removes accents from uppercase vowels, copies back into clipboard, and destroys the scene
back in the initial app, select all, paste overwriting with the unaccented text

It is unfortunately not free as it requires the paid app Tasker. Hopefully the keyboard or atleast SMS apps will allow for this functionality, or even better someone will write the equivalent in a native android app.
I am including below the Tasker XML that you can use to import this into Tasker, should you find it useful. Below it I'm including another version that, on button click, fetches from clipboard without needing the user to paste the text. That one, however, requires root.
<TaskerData sr="" dvi="1" tv="1.3.1m">
<Scene sr="sceneRemove Accents From Greek Uppercase Vowels">
<cdate>1350679378737</cdate>
<edate>1350725381426</edate>
<gridSize>18</gridSize>
<heightLand>-1</heightLand>
<heightPort>362</heightPort>
<nme>Remove Accents From Greek Uppercase Vowels</nme>
<widthLand>-1</widthLand>
<widthPort>384</widthPort>
<EditTextElement sr="elements0">
<flags>4</flags>
<geom>20,20,343,214,-1,-1,-1,-1</geom>
<valueselectedTask>45</valueselectedTask>
<Str sr="arg0" ve="3">TxtUserInput</Str>
<Str sr="arg1" ve="3"/>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>
<Int sr="arg6" val="0"/>
<RectElement sr="background">
<flags>4</flags>
<geom>-1,-1,-1,-1,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3"/>
<Int sr="arg1" val="0"/>
<Str sr="arg2" ve="3">#77333333</Str>
<Str sr="arg3" ve="3">#77333333</Str>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3">#FF000000</Str>
<Int sr="arg6" val="0"/>
<Int sr="arg7" val="0"/>
</RectElement>
</EditTextElement>
<ButtonElement sr="elements1">
<clickTask>44</clickTask>
<flags>4</flags>
<geom>50,243,288,105,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3">BtnSubmittedText</Str>
<Str sr="arg1" ve="3">Remove accents and copy to clipboard</Str>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>

</ButtonElement>
</Scene>
<Task sr="task44">
<cdate>1350679493963</cdate>
<edate>1350679493963</edate>
<id>44</id>
<Action sr="act0" ve="3">
547
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">%TxtUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act1" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ά</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Α</Str>
</Action>
<Action sr="act10" ve="3">
547
<Str sr="arg0" ve="3">%TxtResult</Str>
<Str sr="arg1" ve="3">%TempUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act11" ve="3">
105
Copied to clipboard
<Str sr="arg0" ve="3">%TxtResult</Str>
<Int sr="arg1" val="0"/>
</Action>
<Action sr="act12" ve="3">
49
<Str sr="arg0" ve="3">Remove Accents From Greek Uppercase Vowels</Str>
</Action>
<Action sr="act2" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Έ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ε</Str>
</Action>
<Action sr="act3" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ή</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Η</Str>
</Action>
<Action sr="act4" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ί</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ι</Str>
</Action>
<Action sr="act5" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ϊ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ι</Str>
</Action>
<Action sr="act6" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ό</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ο</Str>
</Action>
<Action sr="act7" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ύ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Υ</Str>
</Action>
<Action sr="act8" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ϋ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Υ</Str>
</Action>
<Action sr="act9" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ώ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ω</Str>
</Action>
</Task>
<Task sr="task45">
<cdate>1350723583443</cdate>
<edate>1350723583443</edate>
<id>45</id>
<Action sr="act0" ve="3">
547
<Str sr="arg0" ve="3">%TxtUserInput</Str>
<Str sr="arg1" ve="3">%new_val</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
</Task>
</TaskerData>

The below saves 1 step (pasting into the scene) but requires root:
<TaskerData sr="" dvi="1" tv="1.3.1m">
<Scene sr="sceneRemove (ROOT) Accents From Greek Uppercase Vowels">
<cdate>1350679378737</cdate>
<edate>1350727181786</edate>
<gridSize>18</gridSize>
<heightLand>-1</heightLand>
<heightPort>362</heightPort>
<nme>Remove (ROOT) Accents From Greek Uppercase Vowels</nme>
<widthLand>-1</widthLand>
<widthPort>384</widthPort>
<EditTextElement sr="elements0">
<flags>4</flags>
<geom>20,20,343,214,-1,-1,-1,-1</geom>
<valueselectedTask>46</valueselectedTask>
<Str sr="arg0" ve="3">TxtUserInput</Str>
<Str sr="arg1" ve="3"/>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>
<Int sr="arg6" val="0"/>
<RectElement sr="background">
<flags>4</flags>
<geom>-1,-1,-1,-1,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3"/>
<Int sr="arg1" val="0"/>
<Str sr="arg2" ve="3">#77333333</Str>
<Str sr="arg3" ve="3">#77333333</Str>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3">#FF000000</Str>
<Int sr="arg6" val="0"/>
<Int sr="arg7" val="0"/>
</RectElement>
</EditTextElement>
<ButtonElement sr="elements1">
<clickTask>47</clickTask>
<flags>4</flags>
<geom>50,243,288,105,-1,-1,-1,-1</geom>
<Str sr="arg0" ve="3">BtnSubmittedText</Str>
<Str sr="arg1" ve="3">Remove accents and copy to clipboard</Str>
<Int sr="arg2" val="16"/>
<Int sr="arg3" val="100"/>
<Str sr="arg4" ve="3">#FF000000</Str>
<Int sr="arg5" val="0"/>

</ButtonElement>
</Scene>
<Task sr="task46">
<cdate>1350723583443</cdate>
<edate>1350723583443</edate>
<id>46</id>
<Action sr="act0" ve="3">
547
<Str sr="arg0" ve="3">%TxtUserInput</Str>
<Str sr="arg1" ve="3">%new_val</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
</Task>
<Task sr="task47">
<cdate>1350679493963</cdate>
<edate>1350679493963</edate>
<id>47</id>
<Action sr="act0" ve="3">
51
<Str sr="arg0" ve="3">Remove (ROOT) Accents From Greek Uppercase Vowels</Str>
<Str sr="arg1" ve="3">TxtUserInput</Str>
<Int sr="arg2" val="0"/>
<Str sr="arg3" ve="3">%CLIP</Str>
</Action>
<Action sr="act1" ve="3">
547
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">%TxtUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act10" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ώ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ω</Str>
</Action>
<Action sr="act11" ve="3">
547
<Str sr="arg0" ve="3">%TxtResult</Str>
<Str sr="arg1" ve="3">%TempUserInput</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
</Action>
<Action sr="act12" ve="3">
105
Copied to clipboard
<Str sr="arg0" ve="3">%TxtResult</Str>
<Int sr="arg1" val="0"/>
</Action>
<Action sr="act13" ve="3">
49
<Str sr="arg0" ve="3">Remove (ROOT) Accents From Greek Uppercase Vowels</Str>
</Action>
<Action sr="act2" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ά</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Α</Str>
</Action>
<Action sr="act3" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Έ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ε</Str>
</Action>
<Action sr="act4" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ί</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ι</Str>
</Action>
<Action sr="act5" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ϊ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ι</Str>
</Action>
<Action sr="act6" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ή</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Η</Str>
</Action>
<Action sr="act7" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ό</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Ο</Str>
</Action>
<Action sr="act8" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ύ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Υ</Str>
</Action>
<Action sr="act9" ve="3">
598
<Str sr="arg0" ve="3">%TempUserInput</Str>
<Str sr="arg1" ve="3">Ϋ</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
<Str sr="arg5" ve="3"/>
<Int sr="arg6" val="1"/>
<Str sr="arg7" ve="3">Υ</Str>
</Action>
</Task>
</TaskerData>

Just for completeness, have you tried the MessagEase keyboard? I don't know anything about its Greek features, but based on its English features, it's fairly likely to allow you to type what you want the first time.


text:
Say caller name feature
I am missing that feature from Nokia devices, Is there a chance to make my Xperia X10 say callers name when I have incoming call

The application SayMyName Dessert does this quite well.


text:
What apps in base Android can be replaced?
I've seen that you can replace the default launcher app with something like LauncherPro, the onscreen keyboard with Swype or ShapeWriter, and I've heard of others. Does anyone have a list of all default apps in the base Android OS (version 2.2 preferred) that can be replaced?

Strictly speaking, neither of those examples are part of the Operating System.

That is correct - updated question text.

Keyboard can be replaced
Browser can be replaced (Opera, xScope (i like), Dolphin HD, etc.)
Launcher can be replaced
Gallery can be replaced (3d gallery is my favorite)
Camera can be replaced (Camera 360 (drains battery like crazy), Retro Camera, etc.)
Hell you can even replace the kernel if you root.
Not an app, but you can add search providers like getting the DuckDuckGo app which allows you to search using all search tools, but ddg vs google.

Also, phone, contacts and sms apps can be replaced.


text:
How can I set Froyo's screen timeout to "Never"?
I have to keep my Skype running all night on my mobile. I am using a Motorola MB200 Mobile which I have today upgraded from Eclair to Froyo. Now the Screen timeout option has a maximum of 30 minutes and there is no "Never" option, causing my mobile to automatically disconnect my wifi after and Skype. Previously using screen timeout set to never solved this problem for me.
How can I fix this?

Seems like what you need is to set the "wifi sleep policy" to never...
You can find that in the Advanced Wi-Fi menu.
Then you could let your screen shut down and still be able to talk with no interference with skype.


text:
Is there anyway to bypass the Verizon Wireless block of the tethering?
I have a rooted Droid X (v.1). I used to be able to use Wifi tether to connect my computer to the Wifi from my phone. Now Verizon is automatically blocking that and taking me to a page where they ask me to pay for the Wifi. I don't use the connection that much so I really don't want to pay an additional $25. Is there a way to get around this and activate Wifi tethering again or am I hosed?

So, you're asking us to abet your circumvention of Verizon's Terms of Service?

Not that I have any love for Verizon (I don't) but I don't think we (as a community) or Stack Exchange (as a corporation) want to encourage that sort of thing.

Covered at Lifehacker recently: http://lifehacker.com/5850476/how-can-i-tether-without-my-carrier-finding-out

Get pdanet. Screw Verizon.  Lifetime use is $14 and you'll never be charged another dime. It works well.

I've heard (anecdotally) that the carriers are getting smarter about detecting tethering traffic. PDANet's days as a workaround for corporate greed may be numbered.

Switch Carriers to one that is more tether-friendly. (There may not be one.)


text:
Why is Clockworkmod taking up so much memory?
Question: I was checking the memory storage and found that under miscellaneous, Clockworkmod took up 4.5GB of memory. Is that normal? I’m operating on a HC 3.1 3G 10.1 Tab. with 16GB only. Now I have 4GB left. The rest of the other files are less than 50MB.
Please advise.

Is it a backup that's taking up all that space? Do you have 4GB or so of data (music, photos, etc) on your device?

Check your backups in /sdcard/clockworkmod/backup. It sounds like you have a lot of backups in there.

@eldarerathis, Ryan, one of you should probably post that as an answer :)

I would check your /sdcard/clockworkmod/backup folder and remove any old backups you have in there.
You can also remove them from within Rom Manager under Manage and Restore Backups. Then click on the older backups and select Delete from the menu.


text:
Why are some applications on the Market not on AppBrain as well?
Take this game; why is present on the Android Market but not on AppBrain?

Interesting.  Perhaps a question better asked of AppBrain themselves?  Another game by same developer is on AppBrain: http://www.appbrain.com/browse/dev/Top+Free+Apps+and+Games

The reason can be find in AppBrain FAQ:

4.I cannot find some apps, what's going on?
  It always says "The requested item could not be found". AppBrain lists applications that
  are available in the US that are available for Android version 1.6 and
  up for devices with a normal screen size. Developers can restrict
  availability of apps by country, Android version and screen size. This
  means that if you're not in the USA, have a device with a small screen
  size (for instance the HTC Wildfire or Tattoo), or when you're not on
  the latest version of Android, you may often get the "not found"
  message from the Android market.

So, to give you an example, I am a developer and published an app on Android Market, that is restricted to France and Germany, so users from those country will find it on Android Market, but not on AppBrain, who lists only US applications.

This is not what @michelemarcon is asking.  AppBrain's FAQ entry you quoted is talking about the case where you see an app on AppBrain, but Android Market gives a "could not be found" error.  In this case the opposite is happening.  You CAN find the app on Android Market, but it's missing from AppBrain.

The faq entry clearly explains situations where the game is available on the market but not on appbrain and that is what the OP is asking

@Chahk Please read it more carefully; it's exactly THAT case that is referred in the AppBrain FAQ.

I don't see how you may often get the "not found" message from the Android market can be interpreted as apps missing on AppBrain.

@Chahk Well, I agree that last row it's not perfect wording, though the rest of the answer is quite clear that it's talking about apps missing on AppBrain(it's their FAQ, anyway, not Android Market's). And even for the "not found" message from the Android market, AppBrain it's the one receiving it for you, when it's searching for that app in a filtred selection(country=US)of Android Market apps list.

@Adinia: I'm still not convinced, so I reached out to AppBrain for clarification :) As a note, the app in question IS available in the US, while another one from the same developer is not, and also can't be found on AppBrain. However, the interesting parts about "Road Warrior" game are its listed OS and Size requirements: "Varies with device".  Could be the reason AppBrain cannot display it.

@Chahk Well, then please keep us posted if you receive any reply from AppBrain. :)


text:
Is there a way to sort apps in Google's app store by size?
Is there a way to sort apps in Google's app store by size? I would like to know what are the heaviest apps and the lightest apps from a search result. For example, to search for a lightweight RSS reader.

www.appbrain.com allows sorting via more options than the Play store, but size isn't a criterion unfortunately for your requirements.

I don't know of any third-party app or site that does this. I did look around a few months ago and found nothing, but something might have come up since then.
However, if the reason you're looking for this feature is because of limited app space, AppBrain (both the app and the website) has a feature to view only apps with App2SD enabled.


text:
Is touch accuracy based on a phone's hardware or the application?
Many apps on my phone, especially browsers, have awful touch accuracy. I wondering whether touch accuracy was based more on the design of the app, or the hardware of the phone. Some apps work better than others, but I also found that some phones had better touch accuracy for the same kinds of apps.
Does touch accuracy depend more on the phone's hardware than the design of an app?

I'd say both and which of software or hardware is more important depends on the type of input.  Back in the Nexus One days, some apps (most notably keyboards) tried to compensate for its lack of true multi touch, with mixed success.

Well the hardware needs to be properly aligned, so that where it senses your touch matches up with what you see yourself touching.
There are also general algorithms the system applies to make decisions about where the center of your touch is, since your finger is not a perfect point, and so on.
Finally, and app needs to decide what to do with a touch.  When an app uses simple widgets like buttons it's fairly simple to map the touch position to a widget.  In the browser, however, it's much more difficult.  Determining the position of a control rendered dynamically via HTML (and JavaScript etc.) is a fairly complex task.  You'll find that most touch browsers, even on other platforms, have varying levels of difficulty with touch accuracy.
So it depends on both hardware and software, but the variance you're seeing between apps is probably all due to the apps.


text:
Is ROM Manager compatible with the Galaxy Nexus?
I looked a ROM manager called ROM Manager but it is listed as incompatible with my Samsung Galaxy Nexus.
Does ROM Manager support the Galaxy Nexus? If not, what are the alternatives?

Where are you seeing that it's not compatible? ROM Manager works fine on the Galaxy Nexus (I have it on mine right now). The app's developer even owns a GNex, as I recall.

Error : This app is incompatible with your Samsung Galaxy Nexus.
Samsung Galaxy Nexus
This item cannot be installed in your device's country.

The Galaxy Nexus is supported from a device/hardware standpoint, but it may not be available in your region for some reason. If that's the case, you can instead get ROM Manager directly from the developer's website. There are also ClockworkMod recovery downloads on that page.
If, for whatever reason, ROM Manager proves to be unusable or unsatisfactory, there are a few alternatives currently available:

GooManager Beta
ROM Toolbox

I would vote up but I don't have enough rep.


text:
Where does Voice Actions store my "Note to self" recordings?
I've been messing around with Android's Voice Actions. I tried recording various jibberish notes to test it out. However, I noticed that with each "Note to self" that I send to myself, the attached .amr recording has a suffixed number. For example, RecordedMessage2.amr, RecordedMessage3.amr and so on. It therefore occured to me that the recordings may have been saved on my phone and thus, the reason for the increment. I tried looking for those files via OI File Mnager but failed to locate it. Can anyone help me figure out where it's being stored? I'm not rooted btw.

When I did the "Note to Self", I was sent an email with the attachment (I assume this is the function, I've never used it before!). The attachment is the *.amr file that you can then download, and it will save it to download/RecordedMessage#.amr.
After some searching, the original file is stored in phone memory, not external, at /data/data/com.google.android.voicesearch/files/RecordedMessage#.amr
Note that you could not find this file because you weren't rooted, I used File X-Plore and did a search in the entire Root section to find them.
Note: If you would like to delete them:

with root: navigate to the aforementioned folder and delete them with your favorite root browser or adb
without root: from the home screen, press Menu, select Settings then choose Applications->Manage Applications and select Voice Search from the list. On the app info page select Clear data. This will delete all data associated with Voice Search, including any recorded "Notes to self", but keep in mind, it may also erase any data recorded to better results on a user-by-user basis.

Is there a way to delete them though? Surely they couldn't have made it a one-sided approach wherein data only gets written and not deletable.

@Shedo updated my answer, see NOTE


text:
Very long boot time on my Galaxy Nexus
My Galaxy Nexus 4.0.2 takes over three minutes to boot. Is this normal? Is it supposed to take this long to boot? Why does it take so long?

Shouldn't take that long... have you thought about trying a factory reset?

This is the phone I use every day and without a better reason that just trying a factory reset it is to much of a hassle. I will however try the factory reset if there is a problem that only can be solved that way. There are lots of stuff that needs to be downloaded, set-up and re synced.

My Galaxy Nexus (I9250, GSM version) with Android 4.02 definitely doesn't take that long to boot.
Just switched mine off to test, and from off it takes just under a minute to get to the SIM card PIN unlock code screen (and after entering my PIN it goes straight to the pattern lock with my normal wallpaper).

Then it must be something wrong with my phone?

You may have encrypted your phone contents. Both of my phones take a lot longer to boot since having to decrypt on start-up.


text:
Android added a plus sign before the number, making an undesired international call
I cannot repeat this bug, but I can see it in my call log. Last Monday I called a friend with a number beginning with 328 (Wind provider, Italy). According to the log, I called a number starting with +328 which was an international call to Belgium, and in fact some people answered me in French.
I tried to repeat the bug, but without success. I only know that in some (rare) occasions the plus sign is automatically added to the call. This is causing me trouble because I don't want to pay for undesired international calls.
How can I avoid this? I know that I never manually dialed the number, I always choose it from my contact widget menu.

Wouldn't this depend on your carrier?

As a workaround, you could include the country code of Italy in all your contacts. This has the additional advantage that these numbers will still work the way they are supposed to even when you are roaming abroad. I'm not sure if either Android or the cellphone network handle this case intelligently.


text:
Application-specific passwords only work for a short period of time
I have two-step verification enabled on my Google Account, and I generated an application-specific password for my Android device (Infuse 4G with custom ROM in case that's relevant), and input it. After about a day, the "Sign-in error for USERNAME@gmail.com" notification appears and I have to generate a new password and input it again in order to use the account. Is this a known issue with two-step verification or is it just me doing something wrong?

I have been using two-step verification for nearly a year, and have not have any issues on my Droid Bionic (2.3.3) or Transformer Prime tablet (4.0.3).

You should only have to change your application-specific password if you change your main password.

I know that theoretically it should work fine. The problem is that the reality isn't exactly matching up with that.

This sounds very strange. I've generated a few app-specific passwords (which look like "abcd-efgh-ijkl-mnop") for a few devices and have never heard from them since. Google says: "Application-specific passwords do not expire"
On the other hand, main password, which has to be accompanied with security code ("12345") does expire quite quickly. Please, make sure you use 16-letter app specific passwords, not the main password with security code.


text:
How can I assign a picture for a name-only text sender
Occasionally, you receive SMS messages that have a company name rather than a reply number.  The network provider, for example, might send texts from "T-Mobile" or "Vodafone" whilst banks might appear as "Barclays" or "Halifax" etc.
I recently got one of these messages from a system at work and was wondering if there is any way to add a contact photo to them?
I tried to do this in the normal way, by adding the message sender as a contact.  I thought this had been successful, however the phone simply created a new contact with an email address of "Sending Company Name", which isn't associated with the texts sent so the picture I added to the newly created contact doesn't show in the message thread:

Yet if you click the view contact button from the message thread:

Then the picture shows - it's really strange!  Has anyone been able to get this working in the past?  I'm using an HTC Sensation on Android 4.0.

This is all possible, but if you are open to a replacement  dialer app, I recommend Contacts+, it can assign pictures independently of numbers to contacts, and these pictures do show up on incoming calls and texts.

I know the types of messages you are talking about. I do not have HTC Sense, but I have had Touchwiz, LG (don't know what they call their version of Android), AOSP (CyanogenMod) and here is what I found and have been able to add a picture to these contacts this way.
When these message come in, they do in fact have a number. They have a Short Code. I get messages from T-Mobile every month from 456 to tell me they are going to take money from me.
I added a contact, then set the number to be the Short code. Then I edit the contact as I see fit. Change the user profile image, add additional numbers, websites, etc.

122 & 129 are message that are sent by the T-Mobile Visual Voicemail service

Another way that works on certain phones (I am not sure about the HTC) is to save the Name with the associated number in your contacts. For example, BANK becomes 2256 and BARCLAYS becomes 22725297 etc. Save this with a picture and you should be fine.


text:
Want to disable album art in music player
My brain is wired to text. Album art conveys no useful information and I would like to just display the artist name and song title in large letters.
Is there a way to disable or drastically reduce the size of album art in any music player app? I've bought most of the popular ones and tried the stock player and many OEM players. They all want to display the album art and just put in a blank square if it's missing. Even apps with skinning functionality seem to always have the album art present.

Looks like the Apollo player is OSS. I've forked the build and I'll see about adding a "no album art" feature.

Google Play Music has two modes, one of which displays the album art fairly small (about 1/8 of the display). It doesn't really use the space to give the title and the artist more prominence, though. On the other hand, instead of a blank square it uses auto-generated album art that consists of album and artist name and a solid coloured area.

I've seen that mode in Google Play, but I have to turn it on explicitly each time I start playing music. I'd like something that just dispenses with album art altogether.


text:
Is a google account mandatory to use the market?
Is a google account mandatory to use the android market?

Yes, it is mandatory to use Google Account to use Google's Android Market; however it is not mandatory to use Google's Android Market to install Android applications. There are many third party app markets and you can sideload an .apk file you have downloaded to the device (except on some devices from brain-damaged carriers where this option is disabled). Some alternative markets do not require registration.

Yes.  You need one to sign in, even for free apps.  Paid apps are paid for via Google Checkout.


text:
Better way to connect Galaxy Nexus (ICS) to Linux
I can connect my Galaxy Nexus to my Kubuntu machine using the PTP protocol, but it's really slow.  I've read this interview about why Galaxy Nexus doesn't support USB Mass storage, and I've gone to http://www.android.com/filetransfer/ as instructed but there's no way I can see which will allow me to connect to the device using a linux machine and MTP.
Does anyone know how to get MTP, or any other protocol, working?

You could also try mtpfs or gMTP. mtpfs allows to mount the MTP device as a filesystem, while gMTP is a standalone program.
Over at AskUbuntu there's an answer that shows how to use mtpfs.

gMTP seems to work very nicely for me to copy photos over from my old phone. Trying to copy over PTP was painful.

gMTP is unsatisfactory for me. It is VERY slow and it gives errors with music files (it tries to create albums for every file transferred). gMTP also crashes frequently in Ubuntu. I like the ADB method better. I also use SSHFS over WiFi and a few other methods.

I'll expand idea of Ryan Conrad:
adb from android-tools is the way.
I prefer to follow this guide to install Eclipse with android-sdk:
http://developer.android.com/sdk/installing.html
Installation depends only on JDK. No installing of new packages. I personally do the same few steps (=extracting two folders anywhere and configuring eclipse) in the same manner on Ubuntu, Mint or Debian distributions and all is just working.
After completing this classical guide I have two new folders: eclipse and android-sdks. In the android-sdks folder ./platform-tools/adb is the path to adb tool, which can be used to push (upload) and pull (get) files from android device—without mtpfs or additional mounts.
As adb is command-line program, it can be automated in a jiffy. Moreover, you have Eclipse's File Explorer view, which provides nice graphical tree filestructure and basic drag-and-drop interface (do not forget to select your device in the Devices view first!).
The big shortcoming of this method is that only adb tool sees the device and can access it. The rest of my system, including Nautilus for example, still not sees the device. But after getting used to stability and robustness of adb that's not the issue for me.

adb is a security problem if you keep it enabled constantly. Keep in mind that there's no passphrase dialogue or anything. One can bypass screen locks and even full device encryption. Especially if you happen to charge it at unknown locations (PC in internet cafe, etc.)

thanks for notice, ce4. Let me ask then: what means to access android storage should we use in unknown locations?

added own answer about bluetooth :-)

You can use bluetooth.
Bluetooth FTP (file transfer profile) is supported by Linux and there's the Bluetooth File Transfer app that adds this functionality to android. It's however not that fast (<200kb/s) depending on your bluetooth versions. –
There's a fuse module called obexfs, here's my Nexus S mounted:
root@local:/tmp# obexfs -b f0:08:f1:xx:xx:xx -- /media/bla
root@local:/tmp# cd /media/bla
root@leo61326:/media/bla# ls -lh /media/bla/DCIM/
total 5,5K
drwxr-xr-x 1 root root    0 2012-05-25 16:09 100ANDRO
drwxr-xr-x 1 root root    0 2012-07-05 17:31 2012-06-09_Rafting
drwxr-xr-x 1 root root    0 2012-07-09 22:30 Camera

Some file explorers support it via plugins directly (nautilus/gnome/kde/...)
Here are some Ubuntu related obex questions.

This answer deserves more upvotes - I couldn't get either MTP or PTP to work well with my Kubuntu install.

It'll hopefully get better with newer Ubuntu releases. I'm really confident about this. I mostly use ADB on the commandline (which I use a lot), so this is the fastest path for me right now. I also use "bluetooth-sendto some-file" sometimes.

You could use adb and transfer using the adb pull/push commands.
Not sure of what distro of linux you are using, but I found this that says MTP is packaged and available for ubuntu though a package called mtp-tools.
Also note that this is not specific to android 3.x/4.x, this is true for any devices that run 3.x/4.x that lack an external sdcard. If the device has an sdcard slot, you will be able to mount the device like in previous versions of android.

mpfs is a FUSE based file-system that can mount the Nexus on your system.
mtpfs -o allow_other /media/MOUNTPOINT

Will mount it for you. To unmount simply umount /media/MOUNTPOINT

Well, There's a very useful tool, its name is "Wifi File Transfer". Just download it from Play Store on your Android device and install it. It turns your android mobile on a mini server that allows you to download and upload files from and to your phone.

Another option is WebDAV.
Setting up an Android WebDAV server
On my stock Nexus 7, I installed WebDAV Server, opened it, clicked on the start button and was immediately able to see my /storage/sdcard folder in my web browser at the URL displayed by the application, i.e. http://192.168.x.y:8080
Note that with WebDAV Server, you also have the option of selecting Root (/) or DCIM as well as SdCard as the WebDAV root.
Using the WebDAV server via Nautilus
In Nautilus I selected "Connect to server..." from the File menu, selected "WebDAV (HTTP)", entered 192.168.x.y as the server and 8080 as the port and clicked on Connect.
Navigating through the directory hierarchy is slower than accessing other network shares, but not unreasnable. Copying a single 42MB file via Nautilus took around 12 seconds, so 3.6MB/s.
Mounting a WebDAV drive from the command line
I installed davfs2 and mounted my share as /mnt using the command:
sudo mount -t davfs http://192.168.x.y:8080 /mnt

Copying the same 42MB file but with more precise timing, took 12.88s or 3.24MB/s.
$ time cp music.fsb /tmp

real    0m12.880s
user    0m0.002s
sys     0m0.143s

Caveats

WebDAV access is not secure. Even if you set a password on the WebDAV share, the connection is still http not https, so it is not encrypted. Only use WebDAV on a secure wifi network and certainly don't enable the WebDAV server while you are in an internet cafe or other unsecured wifi.

You can use the FTP protocol at usb cable speed with this app (not that it requires having adb, but after you've set up adb connecting/transferring is quick and painless, and you can even view the files in your favorite file manager.
https://play.google.com/store/apps/details?id=com.theolivetree.ftpserver
instructions are in the play store description.

Working MTP on Ubuntu for Galaxy Nexus, Nexus 7 and Acer A500
Where to start.
I found some instructions for the Nexus 7 (which I had just brought) on this site Ubuntu 12.04 - Automount Nexus 7 in MTP mode. All credit to the author of that page for figuring it out.
The instructions i have below come from this site, are trimmed to the commands, if you want more explanation see the above site.
I used Ubuntu 12.10, and have configured for my Nexus 7, Galaxy Nexus and Acer A500.
Instructions
Configure FUSE
Change /etc/fuse.conf so its read by all..
# sudo chmod a+r /etc/fuse.conf

Edit /etc/fuse.conf to remove the comment # from user_allow_other so the default fuse.conf will look like
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other

Compile and install go_mtp
# sudo apt-get install libmtp-dev golang
# mkdir /tmp/go
# export GOPATH=/tmp/go
# go get github.com/hanwen/go-mtpfs
# sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs
# sudo chmod a+x /usr/local/sbin/go-mtpfs

Create Mount Point(s)
Use the following as you need..
# sudo mkdir /media/Nexus7
# sudo chmod 777 /media/Nexus7
# sudo mkdir /media/GalaxyNexus
# sudo chmod 777 /media/GalaxyNexus
# sudo mkdir /media/A500
# sudo chmod 777 /media/A500

Setup udev rules
Use your favourite editor and create the following file (remove any other android udev rules you might have experimented with first).
# sudo vi /etc/udev/rules.d/99-android.rules

Paste in the following contents. you can remove rules you don't need, The two nexus devices appear to have the same ids for the bootloader and recovery.
NOTE: you need to replace #YOURLOGIN# with your username/login.
# Google Nexus 7 & Galaxy Nexus 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Nexus 7 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Nexus 7 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"

# Google Galaxy Nexus 16 Gb Bootloader & recovery mode
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Galaxy Nexus 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6865", MODE="0666" # PTP media
#SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Galaxy Nexus 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"

# Acer A500 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3201", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Acer A500 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b2", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b1", MODE="0666" # PTP media with USB debug on

# Acer A500 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3341", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", MODE="0666" # MTP media with USB debug on

# Acer A500 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"

# Acer A500 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="remove", RUN+="/bin/umount /media/A500"

NOTE: if you used gedit and you have edited the file, you need to remove 99-android.rules~ as udev will get upset..
Next, restart udev
# sudo service udev restart

Edit /etc/fstab
Add the following to /etc/fstab
DeviceFs(Nexus\0407)        /media/Nexus7         fuse.DeviceFs(Nexus\0407)      allow_other,rw,user,noauto    0    0
DeviceFs(Galaxy\040Nexu)    /media/GalaxyNexus    fuse.DeviceFs(Galaxy\040Nexu)  allow_other,rw,user,noauto    0    0
DeviceFs(A500)              /media/A500           fuse.DeviceFs(A500)            allow_other,rw,user,noauto    0    0

Finished.
You can now connect your devices and the internal storage will be available for use, you should remember to un-mount before disconnecting though it doesn't seem to do any harm..
Note: it seems that the ENV{ID_MODEL} for the nexus 7 changed to Nexus_7 at some point (I think with the android 4.2 update)..
From http://www.winters.org.nz/android-hints-tips-stuff/working-mtp-on-ubuntu


text:
How do I open a Photo attached to a text Message?
I have just bought a Samsung Galaxy S and have been sent a Text message with a photo but cannot find out how to open the photo to view when I touch the message thread it just comes up with message details help please still trying to get used to the phone and cannot find in manual!!!!

Heather, you'll get better responses if you give this question a real title. I think you mean to ask "How do I open a photo attached to a text message?"

Try this:

On the messaging app, (without opening any thread), tap on the menu key and go to Settings.

Scroll down to Multimedia message (MMS) Settings section and turn off "Auto-retrieve"
Next time you view the message, the message will display a download button.
Make sure your mobile data is on, and tap on the button. The image will be retrieved and displayed inline on Galaxy S.

Comment by Darren: Thank you, worked 100% for me, the key was to turn on mobile data and not just wifi.


text:
Moto 360 won't vibrate with oneplus 3
I have a 1st gen Moto 360 and recently switched from a nexus 5 to a oneplus 3. My watch won't vibrate for new notifications or calls since then.
I did a factory reset and paired them again, didn't help. It buzzes when switch it off or on, so the hardware seems to be okay. I can't find any setting on the phone or in the android wear app that can affect this.
Versions:

Nexus 5: Android 6.0.1 with up-to-date security pathes, I no longer have access to this phone
Oneplus 3: OxygenOS 3.2.7
Moto 360:

android wear: 1.4.0.2580363
google play services: 9.8.77 (560-135396225)
adroid os: 6.0.1

Update, after a few system updates and restarts it's back, but very weak compared to the time it was paired with the nexus5. OP3's vibrate is weak too, so that may be the cause.

Something to do with Alert slider??

@beeshyams I'm afraid not, it's in the lowest position (normal mode)


text:
Is there a way to trick the Android Market into thinking I'm using a different device do I can download protected apps?
I have an unrooted Archos 70IT with the market add-on app and there's a number of apps that I can find in the Market on my Droid but not on my Archos.  They are likely "protected apps" which can only be installed on devices approved by the apps dev.
To get around this I just download them to my Droid, save to Dropbox then install on my Archos.  These apps work just fine, so rather than be "protected" from "incompatible" apps and having to do backflips to get the apps I want, I'd like to trick the Market into thinking I'm on a Droid or some other ubiquitous Android device.
Is there anyway of doing this a) at all, and b) on an unrooted device?  If so, how?

Is a list of these "incompatible" apps (apps that function well, but aren't available) for Archos Gen8 devices available anywhere?

Not that I'm aware of, considering the over 100,000 apps in the market this would be a little unwieldy. The easy way to find them is to search them on your Gen8 device.  If they don't show up, then they are "protected".  I haven't encountered any app that my A70IT can't actually run except for the Flash app I took off my Droid (this isn't surprising because Flash is very specific to the hardware's architecture. There is a Flash app that reportedly works that you can find in the xda forums).

Yes, it can be done but it requires root.  You edit the device fingerprint in the build.prop file.  Here are details: http://androidforums.com/samsung-galaxy-spica/98024-protected-app-market-fix-tutorial-build-prop.html
Edit: For a more complete answer, see How can I modify the phone model in build.prop to get unsupported apps?


text:
Will rooting my Samsung Galaxy S before I activate it cause any problems?
I have a samsung Galaxy S (Fascinate) that I haven't decided if I want to keep, so I haven't activated it on my Verizon account. I'd like to root it and flash a new ROM (possibly a separate Kernel) but I'm wondering if doing so when it is not connected to any carrier will cause any problems, particularly with the voice/data connection settings?

You mean activate it with the carrier right? I don't think rooting will matter, as far as I know it's just linking the ESN to Verzion.

Yes, activing it on vzw.  The only reason I paused was the concern that certain relating to the apn or other carrier specific connection settings might get messed up if I rooted and flashed a new ROM when it wasn't activated on the carrier.  I forgot to mention the flashing of the ROM.  Is it just linking the ESN? I thought the provisioning process involved setting all the connection settings as well.

I doubt it.  I've done the same with a GSM Galaxy S (the Vibrant) with no problems.  Of course it probably depends on whether you have a really terrible ROM, but rooting alone shouldn't matter.  And it might be different for CDMA.  But worst case, you can just flash back to stock.  My Vibrant picked up the network settings on it's first boot with a SIM, I would again assume your first boot-up after activation would cause the same thing.  Plus, if the custom ROM is Captivate-based and not i9000-based, it might have the network settings already built in (and just need to pick up the phone number).

Sounds good, that's what I figured.  It was actually your question about your connection settings getting messed up after switching the SIM that freaked me out a little because on CDMA the closest thing we have to switching SIMs is going through the carriers provisioning.  I'll accept this from my Fascinate after I root and access the 3G with no problem.

Yeah I figured that might be the case.  I'll try to figure out which app not to restore data for ... but with a new device you presumably have no backup data to restore.

Ugh. I just activated and now it says I have no APNs configured.

Hmm I just found this app, would have been useful before: https://market.android.com/details?id=com.riteshsahu.APNBackupRestore.  But at least that means you can edit the APN.  Just a matter of finding the right settings ... and there's always the option of a factory reset.

haha, yes, this would have been helpful before.  I already did the factory reset and everything working now.  So rooting before activation won't cause any problems, but flashing a new ROM may?  That's what it seems like but I don't really feel like testing this further now that I have it working.

I extracted the /system/etc/apns-conf.xml file from stock EB01: http://www.eng.uwaterloo.ca/~mread/apns-conf.xml Edit: Ah, good to hear.  Now we know, I guess :P

Thanks for the APN config file, that may come in handy some day.

The more I think about this, flashing a new ROM shouldn't have been a problem.  The Fascinate is only available on VZW so you'd think that any ROM compiled for that phone would have all the necessary settings as well.  Do you think it was just a fluke that my APN settings didn't take (specific to that ROM) or do you think this is a broader issue with custom ROMs?  I imagine most people activate their phones first so this may not come up much.

That was my thought exactly, custom ROMs should still have the right APN and everything.  I do see other people activating after flashig on XDA though, I wonder if this is relevant: http://forum.xda-developers.com/showpost.php?p=11619311&postcount=559

You will not get voice/data if it is not activated on your VZW account. But you can use it as a wifi device, like an iPod. I say root it and flash an ICS ROM to see what the device can do. I think you'll be surprised! Go here for all the info you need to root/flash/return it to stock if you decide to sell it.


text:
Regular maintenance to keep the phone running quickly and smoothly
I've noticed that over time my phone has slowed down and feels laggy and less responsive in general.
In the same way you'd get your car serviced every year, what can you run to keep your phone running nicely?
I've got One Click Lag Fix installed and to give an example, the messaging app seemed very slow to load so I deleted all the threads in there but it's still slow regardless.

I assume you have an SGS then?  I suggest the Voodoo lagfix for a massive lag decrease.  It requires a custom kernel (and ideally a custom ROM like Nero v5), but the SGS's are easily reverted to stock for warranty purposes.

Here is some performance tips:

Have plenty of extra space in the internal memory. The phone uses the internal memory to store apks and caches, if you have very little internal memory, it might make it difficult for the phone to find contiguous area large enough to store and load the cache. While flash-based storage are not as badly affected by fragmentation as disk-based storage, there will still be a major performance hit if the apks or cache file is fragmented into 1000 pieces.
You should not need to clear caches. The caches are needed for the best performance of the phone. If you clear caches, and you have performance improvement, that's just because you've made an extra space and that makes it easier for new programs to create and load their caches. While you might be happy with this, it is only a temporary fix until the program rebuilds the cache and it becomes sluggish again. Best way to resolve this situation is to keep an amount of empty space (about 10-30% of the internal memory, the optimal figure depends on the size of your internal memory), do not install too many programs and uninstall programs you do not use; this way you prevent program you do not use to build caches you do not use. Prefer small programs, which generally produces smaller caches.
Avoid App2SD for applications you frequently use, unless you have Class 6 or higher SD card. Put only big applications that you do not use frequently on SD card (e.g. games); homescreen, keyboard, and widgets should be in the internal memory for best performance (Android prevents you from installing them on SD card, but it is not impossible to force move them to SD).
Avoid program that have background services and avoid home screen widgets. While there are valid reasons for programs to spawn background service (e.g. Music Player, IM, etc) and while some home screen widgets are very useful; they can degrade performance if you have too many of them. Background service and Home screen widgets will eat up RAMs that the OS cannot reclaim as easily as sleeping applications. Android usually will reclaim memory from unused applications first, but only in very dire circumstances that it kills background services and home screen. This is not an outright ban on background services and home screen widgets; just to be a bit conservative in the use of widgets since no OS in the world can smoothly run more programs than it was designed to handle.

Keep on top of your apps: deleting the ones you don't use and the ones that are poorly coded resource hogs.
Clear individual apps caches in Settings > Applications > Manage Applications by choosing clear cache.
Reboot your device periodically (I have no evidence to back up that this improves performance but it seems to work for me)

(this answer is a community wiki so feel free to add or amend)

Yep, that's about all you can really do.

Don't clear cache unless you're experiencing cache errors or is doing a major updates (e.g. flashing a new ROM, etc); caches are there to speed up operations, if you clear them out, you're just going to slow down the program down until it rebuilds the cache again. Clearing cache is a just temporary fix.


text:
Bluetooth Peripheral Device Driver? - Droid X
I'm trying to transfer a picture via bluetooth from my Motorola Droid X - Android 2.2 to my Windows 7 32bit machine.
When I do the normal troubleshooting steps it tells me "No Device Driver found."
Does anyone know where I can find the driver, or what I can do to solve this issue?

I updated my phone to Motorola System Version 2.3.340 and it took care of this issue.
Steps to update:

Press the menu button from the home screen.
Touch `Settings`
Touch `About Phone`
Touch `System Updates`


text:
Are there any features/functions that appbrain.com has that the new market.android.com doesn't?
Are there any features/functions that Appbrain has that the new market.android.com doesn't? If it does, what are they?

I think you should edit this to make it less subjective.  What are you looking for?  StackExchange isn't a place for general discussion.

Yes, this seems more as a conversation starter than a question. (Please see the FAQ.) However, Download Squad did a compare-and-contrast of AppBrain and the new Android Market: http://downloadsquad.switched.com/2011/02/03/appbrain-vs-android-market-web-store-which-one-will-rule-supreme/

I will agree with Matthew and Al on this.  I think it's a great question, but it is very subjective.  A possible rewording that would have definitive answers could be: "Are there any features/functions that Appbrain has that the new market.android.com doesn't? If it does, what are they?"

@Matt Thanks, I edited and used your wording.   Wasn't trying to be subjective, I just wanted to know what the differences were.

Ars Technica has also done a write-up: http://arstechnica.com/gadgets/news/2011/02/hands-on-android-market-website-improved-still-lags-appbrain.ars

Features appbrain has that the Market site doesn't:

Ability to save lists and keep them private or share them
Appbrain reviews on top of market reviews
More sharing options
More filtering options for browsing
Lists of popular apps
App recommendations based on what you have installed
Shows the total amount you've spent on paid apps

Features the market site has that appbrain doesn't:

Two added categories: Widgets & Live Wallpapers
Ability to install to device from websites without having to have an addon app that you have to periodically reauthorize like appbrain
Easily choose which device to install to if you have multiple devices
Ability to buy apps from the site
Shows videos that the developers have added to their market page

These are all obviously subject to change.

Mathijs Vogelzang, developer of AppBrain.com, answers (well tries to) this question in this article.

In the handset applications, AppBrain does everything that the Android Market app does, and adds filtering options such as price, popularity, etc. that the Android Market app does not (at this time). AppBrain also offers the ability to follow others and share app lists.