text:
How can I minimize Applications in Android?
In Android, is it possible to Minimize applications and continue using them again from the same point?
When I press the middle button, the application closes, I see the application as "Running" in the Task Manager but when I open the application again, it does not resumes from the same point. I have tried this for various applications.
I have a Samsung Galaxy Y.

Which version of Android are you using?

I believe that is dependent on the way the app has been coded. Some apps close regardless of whether you press the back button or the hooe button.

Pressing the Middle (or Home) Button does "minimize" the App. This is a design idea of Android.
If the App does not get resumed at the same point, then that is the failure of the App's developer and source code not using the relevant API calls or a general flaw in the App's code.

Just to add a side note that Android's memory management is designed to automatically terminate "minimized" apps that have not been accessed in a while when memory is needed for newly launched apps.  On lower-end phones with limited memory this may explain why background apps get terminated more aggressively.

You can minimize the apps or actually have it as a popup:

Tap your home multi-screen window
Touch and hold the app you want to minimize
You can open "Option" menu on the top of the page and drag and drop, minimize, go full screen, or close the app here

This feature is not applicable to all apps. And only the newer Android versions have this feature.

Not daft at all. You can't "minimize" an app in android, but you can leave it running in the background. If you are on a web page, hit the home button and do whatever else it is you need to do, then long press the home button and the last 6-8 apps you've used show up in a pop up, click your browser and you should be back to your web page.


text:
Why my phone is always out of space recently, but I didn't install any new software

Possible Duplicate:
How can I free some disk space without deleting my apps?

I've installed such software as Shazam, Baidu Map, QQ, HiMarket, MeiTuan, UC Mobile, etc. At first everything is fine, but nowadays the phone always says "Low on space". What should I do?

There are also several other similar questions with advice on how to find out what's taking up space and how to clear out some of that space. Check the [tag:internal-storage] tag.

It should be the applications occupying /data/ space as they are in use, mainly due to runtime files, cache, database, etc.
In order to verify this, you can execute the following:
adb shell
su -c "du /data" | sort -n

It should have a result like:
...

3792    /data/data/com.UCMobile
28399   /data/app
35647   /data/data
49374   /data/dalvik-cache
114865  /data/

And then you can check the directories from large to small, to see what's taking so much space.

It could also be a good idea to clear the apps cache. You can do so manually, going to settings -> applications, opening each app, and hit the "clear cache" button -- or use a helper app as e.g.

CacheCleaner/CacheCleaner NG
Android System Cleaner
App Cache Cleaner
Cache Clear

All these are available for free on the ma... play store, do not require root access, and do the cleaning automated with one tap only. There are many more available, if you want to check out...

source: Stack Exchange

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

sort: votes


text:
ICS email app, SSL certificates crash bug
Does anyone have a solution for the following situation:
Added Exchange account, tick "Accept all SSL certificates", upon saving the setting the app crashes.
Stock ICS, please see log here: https://plus.google.com/105301306662715512529/posts/exayyi7C7o8

Need some more information. Which version of OS are you running on your pad (stock ICS or custom ROM)?  Can you get a log (either via adb or aLogCat app from Play Store) of what happens around the crash?

stock ICS - eee transformer pad t300.

Log can be seen here: https://plus.google.com/105301306662715512529/posts/exayyi7C7o8

@NikitaGorshkov: Please add that information to your question.

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


text:
How to make an application to ignore updates?
In my rooted LG Optimus One (a.k.a P500) running stock 2.3.3, I have few Google's applications preinstalled.
When updates are being checked, notification for presence of updates are included for these applications as well.  Since I am not using Wifi, I have to pay for every Kb and would like not have updates checked for certain applications alone.
Please note: I do not want to block checking of updates totally, but only for few applications that I would like to choose (that could be either through Wifi or GSM).

possible duplicate of How to hide updates from market?

Similar, but I don't think it's a duplicate.

Multiple approaches here.
First, you can open the PlayStore App, hit the menu button, go to settings, and advise it to only work with WLAN, plus not install apps automatically. This would cover part of your problem.
Second, you could also tell it to not check for updates at all. While on a first look this seems to contradict with your intention -- please read on. Go and install yourself the Appbrain App Market App. This actually utilizes the Google Play store, it is not a separate market. It even uses your Google account for everything. Now synchronize your installed apps with the AppBrain App. After that, you will see available updates -- and you can decide on a per-app basis whether to...

accept this update
skip this update only (and be reminded only for the next update)
skip updates for this app altogether

As you told the "original" PlayStore-App to "shut up", there won't be multiple update notifications. Just use the Appbrain App for updating your apps -- it will do so by calling the PlayStore app using its API. Batch-Updates ("Update all") are of course possible as well.


text:
Alternative to Photosync to sync pictures into Picasa
The version of Photosync I have installed fails to upload pictures after I take a few dozen of them in a short period of time. Is there an alternative app that will work and not take too much memory on my poor old 2.3.5 phone?
The Google+ app is too heavy for my phone.

If I'm understanding correctly, the Google+ app sounds like it has the functionality you're looking for. Within the app, press Menu -> Settings -> Instant Upload and turn the feature on. This will upload them to Google+ to a folder only you can see, and as Google+ and Picasa albums are the same, they'll be available on your Picasa account as well!

Thee Google+ app is too heavy for my poor phone.

I'll try this two alternative: "Photo Auto Uploader" / "Picasa Uploader"

if it works, repost as an answer so those looking later can find what you did! :)


text:
Flash support for Jellybean (4.1)
Adobe has released statements saying they will no longer support flash for newer Android builds starting with 4.1.
I flashed a custom rom of 4.1 the other day and couldn't find any 3rd party flash support in the market. I use flash for Orb to stream tv. Orb has an Android app but it unusable and all around horrible experience (verified by the the many negative reviews) but you could use the website to stream flash as a work around to the poor app which worked great.
My question is: how can I play flash video in Android Jellybean (4.1)

Flash is closed and fairly complex, you're not likely to ever find a third-party implementation (apart from partial implementations like Flash Lite).

Currently, you can side load the flash player on a 4.1 device. Meaning you have to download the apk file and install directly from the device, or with adb. There is no guarantee that flash will work at all in the future. Not only is Adobe dropping flash support for Android 4.1, No new installs for any version of android will be allowed for the Flash Player app from Google Play after August 15th.
I hope that this actually means that Adobe is moving closer to making flash "export" to something that modern browsers can all run, like using the HTML5 canvas. Flash on Android has always been pretty limited. It's only real use was for playing flash video, anything else I ever tried to use it with was buggy and laggy.

Guide can be found here: http://www.androidauthority.com/adobe-flash-new-jelly-bean-devices-how-you-can-still-get-it-110070/ and here: http://forum.xda-developers.com/showthread.php?t=1774336


text:
What's a secure way to message/talk to someone in CM9?
I'm using CM9 nightly (20120712 i.e. today).
I need to talk securely, without the chance of eavesdropping, to someone who also has CM9 nightly (not sure how up-to-date but not more than 1 month old).
What apps/webapps can I use to do this? Ideally I would like to be able to talk but messaging/email would be fine.
Are apps like Twitter/Gmail/Gtalk secure end-to-end? I do have HTTPS set up on my account but don't know how far it applies to the mobile version.
But really I am willing to use anything as long as it known to be secure enough to prevent MITM attacks and eavesdropping by unwanted parties.

I found the following but I don't think this is a definitive answer though it looks close to what I need, secure end-to-end encryption with no chance of snooping/sniffing/MITM.
http://en.wikipedia.org/wiki/Off-the-Record_Messaging#Phone_apps
I wasn't fully aware of OTR though I had heard the term used elsewhere but didn't know the full implications. I think OTR is what I'm looking for.
Still looking for further input though.

have you tried the apps listed in your link?

As I discovered them only 10 minutes ago, I haven't had the chance to actually test them yet.

gotcha. Just wondering. Update your answer if they work the way you want :)

Will do, but it's a matter of using them to talk to the other person and checking it all works fine. I did use Tor on Android a while back and it looks as if Gibberbot relies on Tor, so it should be fine.

There are solutions for any android device. Google Talk: Gibberbot (also on FDroid) and for SMS: TextSecure


text:
How can I record phone calls on Motorola Atrix 4G?

Possible Duplicate:
Is there a way to easily record a phone conversation in-progress?

I'm using a Moto Atrix 4G (MB860) running Android 2.3.6 bought from AT&T, and have tried a wide range of call recording apps but have yet to find one that actually works on my device. I notice that some apps explicitly explain that they don't work on Moto phones. Is this a hardware problem? Can I do anything to make it work?
I would like my phone to automatically record all incoming and outgoing calls, and save them in a common audio file type in the SD card or internal storage of the phone.
I've search the website, but the posts I found about call recording are neither specific to Atrix nor Motorola, which I believe are the key to the problem I currently have.
(Despite that I bought the phone from the U.S., I live in a country where call recording is perfectly legal to the best of my knowledge.)

See also Is there a way to easily record a phone conversation in-progress?

As the references SE article doesn't specifically answer the Motorola/Atrix question, I don't see how this should be marked as a duplicate.

While not easy to do it is possible, see my answer here: http://android.stackexchange.com/a/52432/40529

Simple answer: No, you can't.
Longer variant: While you can recording your own voice, the system prevents you from recording the remote voice (the person you called or who is calling you). This already frustrated a lot of developers who tried to write some "answering machine" apps. So there seems to be no way without hacking the entire system...

Google Voice provides this functionality, if you install it and make calls through that number. They explain:

To get started simply enable the call recording feature:
Click the gear icon and select Settings [on voice.google.com]. Click the Calls tab. Select
  the checkbox next to Call Options. Once you've enabled it you can turn
  it on during a call by pressing 4 at any time to record your incoming
  calls. You can do it when you first accept a call, or any time after
  it's started. To stop the recording, press 4 again or hang up.

NOTE: I believe this method stores the recorded calls online, but don't know if there is a way to save them to your device.


text:
Automatically replace app after opening APK
If I download an APK and open it, I get a "Not Installed" error if the app is already present on the device. Is there any way to automatically delete the old version?
(Note I'm not trying to avoid opening the APK, which isn't allowed for security reasons. I'm just trying to avoid manually deleting the old app.)

Android should already do this unless the two versions of the app are signed with different keys (or possibly some other error takes place).

As eldarerathis already pointed out in his comment on your question: If the app is already installed, and the certificate matches, you will be prompted whether you want to replace it. If the certificates differ, there's a conflict: The app cannot be updated due to the mismatch, and it cannot be installed along as the package name is already in use (apps use an internal package name, which e.g. is shown in the URL on its Google Play Store webpage). If the package is corrupted, you again get another specific error (telling you it is corrupted).
So most probably, the .apk you try to install manually has been tampered with. If it wasn't you doing so, I would refrain from using it. If it was you, and you know what you are doing -- or you know the source to be trustworthy (e.g. the developer of the app provided you with an unsigned testing version), you have to first uninstall the original app before installing the "tainted" .apk.

This is an unsigned APK under development; would that explain the mismatch?

@mahemoff Yes. (1 more to go...)

@mahemoff There aren't any unsigned APKs in Android. Even in development, the APK has to be signed with a temporary key generated by the developer. If you install another APK of the same app signed with the same key, you shouldn't get this error, which you'll only get if the two versions are signed with different keys (e.g. you are installing the release version over the debug version).


text:
HTC Desire HD Crash on Photo click
Not sure if this is the right forum to ask this question.
My phone crashes every time I try to take a picture with 20-30% battery.
I have tried with Low and Mid quality picture (1-3 MB) but this didn't help.
Phone Details:

HTC Desire HD
Android Version: 2.3.5
HTC Sense version: 3.0
Software Number: 3.13.110.4
Kernal: 2.6.35.10
Browser Version: Webkit/533.1
SD Card: 8 GB (Available: 5GB)

Hope this info helps. Let me know if any one need any more details.

Are you really sure it only happens when your battery is at 20-30%? What about below 20 or above 30%. That seems strange to me, crashes shouldn't be related to the power source at all (at least they should occur unspecific if the battery is half dead). Does it not happen when you charge it? If yes, replace your battery and see if it helps. Maybe shooting photos draws more current than your broken battery can supply and your phone crashes due to a brownout.

Have you tried clearing the app data or cache? Force stop? Restart the phone?

ce4 - Yes it only happens when battery is left this much. Works fine when on charging.

@AlEverett- Yes tried clearing App data and cache both. No Force stop. And ofcourse phone get restarted automatically when it crashes.

I have replaced the battery and updated to 4.1 and all is working fine.

My desire HD too.
I just presumed that if the battery was too low and it tried to use flash, then it used too much power from the battery and turned off.

OP didn't mention anything about using the flash.


text:
Kies unable to connect to Samsung Galaxy S3 after rooting
After I rooted my Samsung Galaxy S3 GT-I9300 phone, I was no longer able to connect to Kies to do a sync. Does anyone know why?
I have tried to reinstall Kies on my laptop, performed "Troubleshoot connection error", and deactivated USB-Debugging BEFORE I connected my phone for the first time. But the same issues remained.
When I performed *#1234# to view SW version, the PDA option was not one of the options there.
There are no issues with my USB connections as I have no problem downloading apps from Google Play on my laptop.
Pls advise how I can resolve this issue?

I couldn't connect my S3 to Kies and tried everything other users posted (usb debugging, scanning pc for viruses, etc...) and I stumbled upon the fix that solved my issue and I've now connected with Kies and have full functionality with Kies and no issues with my S3.
THE FIX:
On the S3 device:

Pull down from top of home screen (swipe from top of screen downward) to the screen that shows (across the top) Wi-Fi, Bluetooth, etc...
Check to see how the device is connected "Connected as a Media Device" should be shown.
Mine said "Connected as a camera" and I changed that to "Connected as a Media Device" and instantly connected to Kies.

Hope this helps!

I realised that the problem lies with a MTP device driver which was not properly installed. All I had to do was delete all the drivers, including Samsung Kies, and reinstall everything again.
One of the other thing I did before the issue appeared, was installing SGS3 Easy UMS. Because I switched my phone from MTP to UMS mode, that prevented my laptop from detecting the phone. Switching it back to MTP, and reinstalling the above applications did help.
However, I would continue to encounter connectivity issues every now and then. For instance, after I plugged my phone into my laptop via USB, and switch to syncing using Kies Air, I would encounter an error message that says my USB is plugged in.
This could be easily resolved by restarting my phone.
I can only conclude that Samsung Kies developer probably didn't do a good job handling socket connections, resulting in the error above.

I had the same problem after rooting my S3. The solution is easy: just unroot your phone and like magic your old driver will work correctly.


text:
How can I determine what is a normal USB transfer speed for my Android phone?
I've been struggling to get decent USB transfer speeds with my Ubuntu computer, which I've asked about on the Ask Ubuntu site.
The answers there have helped me improve USB speeds overall, but it seems my phone is still much slower than other devices. For example, I can transfer to my Sony video camera at about 17.5MB/s, but transferring files to my Android phone (Samsung Galaxy 2 with ICS) is running at about 2MB/s.
How can I determine if 2MB/s is a normal transfer speed for my Android phone? In other words, what do I need to know about it's SD card (it has two, internal and external) specifications or other details in order to determine if I am getting the maximum performance or if it is still hobbled?

I'm not entirely sure that there's an established "normal" speed that you can really point to. Are you transferring data to the phone's internal storage, or to a microSD card?

There's no such thing as normal USB transfer speed. It depends on several factors including but not limited to:

Class of the sdcard
USB speed (1.1 vs 2.0)
Performance and load of the the computer

Out of these three the one with the most influence is the class of the sdcard. The class describes the minimum write speed of the card in MB/s. For example a Class 10 card has a minimum writing speed of 10MB/s.
Based on this your sdcard is most likely a Class 2.

If you can't locate your sdcard Class, there's a free tool (only for windows users) that gives you the transfer rate of your sdcard:
H2testw 1.4

After you've finished verifying your unit you will be able to see the exact time it took for the operation to complete, the number of megabytes tested, and, of course, the writing / reading speed.

As a side note: The cache that Abdul mentions has nothing to do with this. That's for reading and only applies if the card is mounted in the phone.

I've proposed an edit with a windows app that reports the sdcard speed. Seems relevant! By the way, +1 for you :)

Thanks for this answer, as it made me realize my question could have been phrased better. I guess what I need to know is, how do I determine what class my SD cards are (the GS2 has two, internal and external) and then what should I expect from them. I've updated my question accordingly.

The transfer speed majorly depends on the 'class' of your SD card.
micro-sd-cards-smartphones-speed-class-explained
Edit:
I googled about this issue and it appears that the slow transfer speeds is due to the Cache size for reading from SD Card. It's set to 128 KB in most cases.
You can check it by running the following command.
adb shell cat /sys/devices/virtual/bdi/179:0/read_ahead_kb

To change this value you must have root access. Also the changes will be reset on reboot. Developers at xda have made scripts to make this change persist, check this link for a detailed explanation.

That cache I for reads

OfCourse, the transfer speed majorly depends on the 'class' of the sdcard and thats what my answer was. The Edit was just some more info on the issue the OP was facing i.e. slow transfer speeds.


text:
Is there a way to control which audio is sent to Bluetooth and which is sent to system speaker?
Background info explaning why I want what I want
I'm almost totally deaf. I have a Bluetooth-enabled hearing aid that is paired with my Droid RAZR (ICS 4.0.4). When any audio is played on the phone (ringer, phone call, media, etc) it triggers my hearing aid. The switch-over is not instant and I miss a few seconds of audio (plus I get a really loud, annoying beep from my hearing aid informing me that it is making the switch from external audio to BT audio).
As a result, text messages and other short audio notifications (like navigation speech) trigger my hearing aid, the loud beep occurs, the external mic is turned off, the BT connection is enforced, and then... nothing. In the time it takes for all that to occur, I've missed whatever the audio input was.
TL;DR
I'd like to be able to tell my phone to direct text messaging, ringer, and other audio playback (navigation) to the system speaker and to continue to direct in-call and media playback to my paired, BT-enabled hearing aid. Is there a way to do this?

What make of hearing-aid are you referring to? I know Phonak has it in their range but that requires wearing a necklace with BT attached to it to pair it up...

fwiw, I wear a Phonak, but do not bother with the necklace for BT pairing for extra features as that would be a temptation for me to attempt hacking on it and make things worse as the hearing aid itself costed an arm and a leg, not worth hacking :D

Maybe someone can check, but I think I saw options like this on CyanogenMod 7 (at least for notification and ringtone), but that was over a year ago, I could be wrong.

Try BTmono,   maybe it helps.

Thanks, but that app isn't even remotely close to what I'm trying to do. I already have audio streaming to my BT-hearing aid, what I want is to control WHICH audio is sent.


text:
How to only get Gmail notification with certain tag(s)?
I get too many Gmail notifications so my phone beeps too often and is annoying. How to only get Gmail notification with certain tag(s)?  For example, only "Important" ones as I'm using Priority inboxes with Gmail.

You don't mention what version of the app you're using or which OS version, but this is how I do it on my Galaxy Nexus with Android 4.0.

Open Gmail app
Open the overflow menu (three vertical dots) and choose Settings
Tap the email account you want to use
Under "Data Usage" tap "Manage labels"

You'll see your labels there, including "pseudo-labels" like "Starred" and "Important"

Tap the label for which you want notifications (in your case, "Important")
If not already on, turn on Sync messages (either last 30 days or All)
Tap the checkbox for Email notifications

Choose your options (ringtone, whether to vibrate or not, whether to notify once or not)

You can have different notifications per label per account, which is nice, but if you overdo it you'll have way too many notifications in your notification bar.

This also lets you get notifications for a specific email type, by setting a filter to a dedicated tag....


text:
Google Drive’s image recognition on Android 4.1 demo available on older versions?
There is an example of text recognition from an image on the recent Android 4.1 demo. The example is a picture taken with the phone of a post office receipt that is then OCRed and indexed. Is this OCR and indexing already available to all Google Drive users or just limited to Android 4.1?

This is nothing new. Google Docs supported character recognition in both images and PDF files.
It is also available in the mobile clients regardless of the OS version as this is a server side feature.

how do I search for the indexed content?

There's a search button on the action bar that does full text search.

Great, I just noticed the key is to tick the conversion option for PDFs and images. Thanks!


text:
Unable to download from an authenticated webserver
On my Galaxy S3 / ICS handset, and also I expect on my previous Galaxy S / Froyo I'm unable to save any links from my web server due to the fact that it requires a user authentication. I can browse the site happily in Chrome and the default browser, but when I go to save a link, whatever it is that does the downloading sends in an HTTP request with no user agent not authentication header set, so the download fails, with a 401 error being returned.
What gives, peeps?

Does it work with a different browser?

No, I just tried with Dolphin HD too. I don't think its the browser doing the download, it seems to hand off to some sort of generic subsystem. Works fine on my desktop though.

Hmm, strange...

Hmm... https://code.google.com/p/android/issues/detail?id=1353

You can use Firefox to get around this at the moment. The bug has been going on since 2008.

I've been using Opera actually, so yeah as long as it's a different engine to Android default one it works.

The issue is not the browser, it's the download manager. The authentication details are not passed to the download manager by the browser. This isn't a problem in Opera or Firefox as they use their own download managers.


text:
Where are extra keyword tags for photos stored?
I have a Droid3 with Android version 2.3.4.  I tagged some photos using the Gallery application.  For the first keyword tag added to a photo, the tag is stored as XMP data in the JPEG file itself.  However, any additional tags are not stored as XMP data.  Adding the second tag doesn't even modify the file at all.
Where are the other tags stored?
Is there a way to get the photos along with the tags off my phone?

The tags are stored through the media's content provider. In layman's terms, the content-provider is a way of Android interacting with a database backing store.
The location can be found in this directory:
/data/data/com.android.providers.media/databases

Which is Sqlite3 database that has the following information stored in it, or rather, a combination of certain columns, not all of them, due to the way developers can optionally add the fields of the data to be stored. (If you're un-rooted you will not be able to list the database - if someone can clarify this, just checked on Europa GT-i5500 which is unrooted and issuing ls fails)
If you have a look at this document that details the columns used in the database for the Media (that is a generic columns that is a de-facto within the database), it is combined with this other information
(Now at this stage, your brain is probably turned to mush looking at it but the pertinent information is in the column names which is found in the database)
As for the 'Tag' field you're referring to, quite simply, Android does not store them, there are replacement apps that replaces the stock version of the Gallery with extras such as the 'tag' field you're referring to. The most it can hold was the latitude/longitude/display name of the image and a picasa id in which it may get uploaded to depending if picasa is enabled with your account.

Can one access /data/data/com.android.providers.media/databases with a stock Droid3?

Would think so, had no problems accessing the directory on a un-rooted GT-i5500 running Eclair 2.1

I had to root my phone to access the database.


text:
"Button: Camera" and "USB Plugged" not working for Tasker?
I saw Tasker on my friend's phone and I tried out a simple profile.
I wanted the Camera button to vibrate the phone. Nothing more, nothing less. The setup is as follows:
Button: Camera

Priority: Highest
Stop Event: Checked

Then the task only has 1 action and that is:
Vibrate

Time: 200

With the above, I couldn't get the profile to work. When I hold down the Camera button app, it still proceeds to open the Camera app. I tried creating other profiles other than the Button: Camera and they all worked. I want to know if there's something I'm missing here?
EDIT:
I also realized that the "USB Plugged" action is not firing. It keeps staying on "Not USB Plugged" mode even if we have the data cable connected to a PC already.
EDIT 2:
The device I'm doing this on is an Xperia Mini.

first, you do not need to modify priority (except in rare cases). It does not describe the "importance", you can rather compare it to the Linux nice command. Second, a stop event usually is not needed either (Tasker simply reverts to the previous state if the condition is no longer met). Third, the "plugged" stuff works for me (at least with my docking station) -- so it might be device specific, and you didn't specify your device. Last but not least, bug reports are better filed with the projects bug tracker :)

Well I'm not entirely sure if it's a bug or something I'm overlooking? As for the priority, I simply followed a tutorial about some example Tasker profiles.

yeah, priority is one of the ambigous things about Tasker. As for your example: I cannot see anything missing. Maybe you update your question with some device info? I'd say it's a device-specific issue, especially after your edit concerning "USB plugged". Could even be so specific as only valid for your single device; is USB fully working aside from this Tasker issue (charging, connecting as mass storage...)?

Yep, USB is fully working. I got around this problem already, instead of using "USB plugged", I simply used power source instead but unfortunately, the Camera button issue still exist.

I'd recommend contacting the developer for that. Hint: You could use an app like aLogCat to get some more details: Install it, run it, then press the Camera-Button, and finally export the captured log segment. Send that along your report to the developer, which increases the chances for a solution.

Could someone post why they downvoted the question?

Most are to cowardish to show themselves. I'd vote: "No downvotes without commenting why", as it is quite often irreproducible (and thus, the vote lost as unhelpful). That said: It wasn't me with the downvote...

I just played with it myself. Seems you need to press quite hard (and a bit longer) to fire that event. Got me a bit confused, but was reproducible: Short press (hard or soft) didn't fire it. Hard long press (~1s) fired it. So at least for me (Droid2), "Camera button" event should be named "Camera button pressed long & hard"...

Okay so it has dawned on me that the reason why the shutter action on Tasker doesn't seem to work. It seems to be the stock ROM I was using before. Now that I'm using an AOSP rom, it works quite flawlessly. So yeah, it might have been the rom.


text:
How can I use my internal storage as extra RAM?
So I asked this question on this site and got this answer. Now that I'm rooted, I'm ready to take this route. I've tried looking for ways but almost all the results that came up were unrelated. So yeah, can anyone give me a lending hand with regards to using my Internal Memory as additional RAM for my phone?

Sorry for not commenting. This question is rather unclear to me and seems to mix up basic things: To begin with, "ROM" is basically a false name for the system partition and means read-only-memory (it's most of the time mounted read-only, hence "ROM"), this sits most probably on some kind of NAND flash. RAM (random-access-memory) is 'working' memory that is really fast but volatile in comparison to NAND flash. Both types are needed (fast vs. persistent) and cannot be interchanged. At least not completely (you could add a swap partition on custom roms. Are you asking this?)

Hi guys, thanks for the responses. I'm not looking for app2sd. I've already finished that part, now that my ROM is no longer being fully used, I was wondering if it can be instead, used as part of my phone's RAM. If my understanding is correct, in terms of Android, the "ROM" is the internal memory of the phone, whereas the "RAM" is where running applications are loaded so that they can open faster next time they are needed. And yes, I think I'm asking about swap partition. I just don't know what it's called. @ce4

At first: Don't use the internal memory as swap! Flash storage (NAND) has only about 10.000 write cycles. Better use your sdcard for it. See this guide on XDA for the pro's and con's and howto do it. If you just want to  play around and wonder if you could do something useful with the free space on your /data partition: Don't do it. Leave it the way it is. BTW: what model do you have, how much RAM has it? Here's a basic picture illustrating a regular architecture (flash=ROM)

I have SE ST17i. It has 512mb RAM. Also, can you make that an answer so that I can accept it? :)

@ce4 Your info is very good. You could elaborate an answer thus answering this question :)

@Zuul: Ah, forgot about this question... will do...

Go to this thread:
http://forum.xda-developers.com/showthread.php?t=1659231
and follow instructions carefully.
If you don´t know what you´re doing, don´t do it! You´re welcome :-))

You don't need to use 3rd party things like a swap partition or zRamSwap. 512MB RAM was/is still standard and will be sufficent for almost all scenarios most probably for some time (at least for Android 4.0 and 4.1, see this CyanogenMod forum post).
(You stated in the comments that your Xperia Active has 512MB RAM)
Longer version:
To begin with, "ROM" is basically a false name for the system partition and means read-only-memory (it's most of the time mounted read-only, hence "ROM"), this sits most probably on some kind of NAND flash. RAM (random-access-memory) is 'working' memory that is really fast but volatile in comparison to NAND flash. Both types are needed (fast vs. persistent) and cannot be interchanged. At least not completely (you could add a swap partition on custom roms.)
At first: Don't use the internal memory as swap! Flash storage (NAND) has only about 10.000 write cycles. Better use your sdcard for it. See this guide on XDA for the pro's and con's and howto do it. If you just want to play around and wonder if you could do something useful with the free space on your /data partition: Don't do it. Leave it the way it is.
Here's a basic picture illustrating a regular architecture.

The vice versa is also possible, tmpfs creates a file system partition on the RAM, of course you'll lose the data on it if the device is turned off though.

To expand on ce4's answer, using your internal or sd card as swap position likely won't give you performance benefit in device with large enough RAM. Android Application Life Cycle acts as a smarter swapping mechanism than swap partition.


text:
Swap partition not working on Huawei U8160 running CyanogenMod 7.2
I have a Huawei U8160 (also known as : Vodafone 858 Smart) which is running CyanogenMod 7.2 (which was released by MADTeam in 2/7/2012).
After updating to the 2/7/2012 update, I found an option to use swap partition instead of compcache (compressed cache), so I repartitioned my SD card to make a swap partition using mini tool partition wizard which is 100 MB in size and primary (I had an Ext2 partition).  But after enabling the swap option the programs where slower, so I checked whether the swap partition was working or not.  I used the terminal emulator and typed "free" and the swap partition was all zeros.
So I wanted to know if I should mount it or do something else to make it work?

Swap partition has no place on smartphones, and induces a placebo in thinking everything is running faster when it has no purpose.

but many people say it's working on cyanogen mod

http://android.stackexchange.com/questions/24786/does-cyanogenmod-7-2-kernel-support-swap-memory?rq=1 Read that question that was answered before.

@t0mm13b that is not my question , I'm asking how to make it work right?

There are two ways to apply and use swap on your device, using a swap file or using a swap partition. This guide provides instructions for both of them.

Disable Compcache
First step is to confirm the status or presence of the compressed cache, thus ensuring that it is disabled.
While CyanogenMod does not enable Compcache support on all devices, and by default if available it comes disabled, you can check the status by accessing:
    Settings » CyanogenMod settings » Performance settings » Compcache

If it doesn't show, your device doesn't support Compcache. If it show, disable it to use swap instead.

Using swap (file or partition)
Swap can give more available memory than Compcache, but you need at least a class 6 SD card to prevent slow access times. You should also be aware that SD write wear is increased, so, the card will last less than usual would last.
Using a swap file
This is the easiest way, you can have an app creating and managing the swap file for you:
Here's three recommended apps for this:

Swapper 2
Swapper
DroidSwap

Using a swap partition
You can manually create a swap partition, but for that to happen, you need to backup your SD card contents; format, and partition it.
The swap partition does bring better compatibility, when compared with swap files, but only concerning the connection of your phone as an USB mass storage device.
SD card partitioning
The method of reference if the use of MiniTool Partition Wizard Home Edition, compatible with Windows 2000/XP/Vista & Windows 7.

Download and install MiniTool Partition Wizard;
Remove the SD card from your device, insert into USB SD Card reader.
Windows should report a new drive and you should see the drive contents.
Delete old partitions on SD card:
Notes:
Operations are QUEUED, not instantly applied. So nothing is deleted and changed UNTIL you click "APPLY" and then confirm by clicking "OK".
Confirm that you are selecting and flagging to delete the correct drive. Your SD card should be the smallest one present on your computer.
Select it, with a right mouse click, select "Delete":

Create FAT or FAT32 partition:
Right mouse click over the SD card unallocated space, and click "create":

From "Create As", select: PRIMARY
From "File System", select:

For SD card bellow 2GB: FAT
For SD card above 2GB: FAT32

Under "Size and Location", at the right side, mouse left click and hold, then slide to the left to adjust the space for this partition.

create ext2 or ext3 or swap partition:
Right mouse click over the SD card unallocated space, and click "create":

From "Create As", select: PRIMARY
From "File System", select:

For App2SD: ext2
For swap: Linux Swap

Apply changes
Now that all has been created, you just need to apply and confirm the changes:
On the top left, there's a button labeled "Apply", press it:

A confirmation popup should be presented, press "Yes":

All done, your SD card can now return to your phone. If your current ROM is capable of using swap, it will detect and use it.

Notes
Please read everything carefully before proceeding. As mentioned by t0mm13b in the comments to your question, this subject as been covered, and the CyanogenMod team informs that this features are disabled by default due to potential issues:

Swap and Compressed Cache (Compcache) are optional memory management systems. By default, these schemes are disabled due to potential issues with some configurations.

Credits to:

CyanogenMod Wiki - Swap and Compcache
XDA Developers Forum - SD card partitioning

actually that is what I did EXACTLY , now my question is after all of this it's not working ,what should I do?

@MohamedEssam As one can read from the CyanogenMod Wiki, if he doesn't use swap, is because there's no support for it. There is nothing to do, but wait for a new version that may already have support.

@MohamedEssam Nonetheless, recent devices don't need swap, there's more than enough memory to perform all tasks. If developers didn't found useful the usage of swap, why would we need it after all? They are the experts, and they do spend tons of hours testing things up before releasing them to the market.

my phone doesn't have enough RAM.so I need the swap partition.


text:
Can I run ICS on the Samsung Galaxy S+ I9001?
I have read a lot of documentation about how to run ICS on the Samsung Galaxy S I9000. Can I use the same approaches for the S+? Or is it not possible to run ICS on the S+?

See also: http://android.stackexchange.com/questions/14766/when-will-my-device-get-the-android-4-0-update-ice-cream-sandwich

The Galaxy S Plus i9001 looks like the i9000 however it has completely different internals:

side by side comparison at gsmarena.com
different CPU (1.4GHz Qualcomm Snapdragon vs. 1GHz Samsung Hummingbird)
different GPU (Adreno vs PowerVR)
different baseband modules (the i9001 has faster HSDPA)
better battery, less internal space (512MB vs 2GB for the i9000)

Most importantly, the i9000 is well supported while the i9001's community support is rather poor. There's no official CM port for it. See the i9001's forum at XDA-developers.com. Regarding the approaches: Yes, you can use the same tools and your knowledge for the i9000. Just not the same ROM downloads.

So bottom line is there are ROMs but there unstable and do not support the phones full functionality ?

I have no idea how usable the most stable rom is,  just saw those alpha  tags in some of the rom thread titles. If you want to know more, just read them and see how serious the bugs are.


text:
How can I tell if an app can be a "link" target?
I have a couple of Bible apps on my phone. Sometimes, other apps link to a Bible verse, but they usually either embed a Bible viewer in the app or only work with a particular app.
I would like to be prompted for an app in the same way that one is prompted for a browser when clicking a link. But this doesn't happen. Why?
Is it the fault of:

The app generating the link;
The Bible app(s) I have installed;
Android itself; or
Some combination of the above?

I'm running Android 4.0.1 (MIUI) on an HTC/Google Nexus One.

Short and put in lay terms:
There's no standard defined on how to pass this information between apps, so there are no two apps who can interact the way you want.
Longer and with some more detailed information:
The app-selection menu for e.g. a browser or a homescreen only appears when multiple apps announce their being-available for  a certain service, and only when this service is called (to put it in easy words; the longer and more technical variant talks about intents and listerners). While web-browsers and homescreens are somehow "generic services" existing on all Android devices, there are standard "intents" defined (see e.g. this question on stackoverflow for opening a page in a browser -- or this question here which probably explains it even better).
As long as there is no corresponding intent (with a defined API for how to pass it the specific chapter:verse to show), your wish can not be fulfilled. Moreover, application developers must implement this into their apps before you can use it.
As to my knowledge neither such API exists nor is it implemented -- there cannot exist any programs acting according to your wishes (except, of course, both are from the same developer; if two or more agreed on terms of how to handle this, that already would mean defining an API).

Thanks for your detailed answer. There's one thing that I'm not yet clear on: Is there some formal process that must be followed to set up an appropriate API, or would it be enough for the developers of relevant apps to merely agree on some suitable API?

IMHO, technically both comes to the same end. If you take e.g. apps with support for Tasker -- here Tasker established an API, and other developers use it. This worked mainly due to the popularity of Tasker, I guess -- who would be the "central point" in your case, where multiple apps shall serve multiple other apps? Maybe if one comes up with a good API, others will use it as well. Easiest way for them would be using the "share with" feature. But I am no developer ;)

In addition to @Izzy 's excellent answer, I've had some observations of my own over the years:

You can copy an application (through ADB or a file manager such as X-plore) to your desktop and rename extension to .zip (or in X-plore, you can long-press and directly open-as .zip).  Extract if necessary, then look for a file called AndroidManifest.xml.  Open this file with your preferred text editor (I use Notepad++), and you'll see a bunch of text.  Generally, some (or even most) may be obfuscated, but there will generally be blocks of text that are human-readable (you may need to scroll down).  If you used X-plore instead, open the file using the internal text editor, and choose to edit the text contents; this will launch the editor rather than the viewer, which will eliminate a lot of formatting characters and make the contents more readable.  Among the contents, note that you'll see some intents being listed out, as well as different permissions flags, etc.  This is one way to more directly examine possible intent calls.
Another method, which also makes it possible to call upon these as shortcuts (where possible, compatible, and permissible), I'll be quoting my own answer from this post:

1) Go to G Play Market and install Nova Launcher.
  2) Skip all the setup and go straight to Home screen with Nova as default launcher (since you're just testing functionality at this point)
  3) Long press your background and select Widgets, then scroll down to Nova Launcher and find the "Activity" widget (for me it's the second widget); long-press then drag to an empty space on Home Screen
  4) Once you let go to set the widget, an overlay prompt will come into focus and start loading. Depending on your device and number of apps installed, this may take a minute or two, so don't be alarmed. Once it finishes loading, scroll down to your app and locate the activity thread you're looking for and select it (you can long-press them one by one to test the function as well, it will return you back to the previous overlay prompt if the thread didn't cause a crash...if it does, you'll have to restart from step 3.
  ... NOTE: I am enrolled in the Beta, and have the Prime (paid) version, so I'm not sure if that might affect this specific function or not. You can likely purchase for testing and request refund if necessary.

Another neat feature of X-plore (not sure if this is universal to other file explorer apps as well or not), you can attempt to share any file or list entry and choose to attempt to open-as a) specific MIME type, e.g., Video, Picture, Document, etc; or b) open-as wildcard (*), and see all possible choices.  Keep in mind though, this is technically circumventing the intended usage scenarios the developers typically anticipate, and can sometimes not work where it should or work where it it should not (and in the case of the latter, I bear no liability for what may ensue).  From what I've experienced, if you throw archive containers (e.g., .rar) and/or SMB file access into the mix, some unexpected behavior may also occur.  Just to even things out though, here's an example of a positive use case: having a media app (e.g., MX Player) that doesn't natively support a particular extension (e.g., .gif) -- when added manually through settings, MX Player will remove the entry on refresh -- successfully play the file regardless (NOTE: in this example, HW and HW+ video decoders seem not to work but SW does).

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


text:
google.com redirected after xpressconnect installed
I'm using Android 2.3 on Nook Color (ROM CyanogenMod). I installed xpressconnect to connect to the wifi network of my school, and successfully configured it. I can access the internet normally. However, when I go home and use my home wifi, all web addresses work, except *.google.com. Every time I go to *.google.com, it gets redirected to the configuration web page of my school, and it's permanent (not because of the cache). So all google services on my nook are not working. I checked /etc/hosts and it's empty. I don't know how to fix this problem. Will I have to factory reset my nook?

I fixed the problem by the following steps:

Clear data of the xpressconnect app, then uninstall it.  This step alone didn't fix the problem.
Reboot my nook to recovery mode, and clear/wipe the Dalvik cache.
Restart.

To start fresh, I also clear the cache of all my web browsers.


text:
Disabled Background Data notification
I have disabled my background mobile data. I want the setting this way, but as a result of doing so there is an annoying warning that I have background data disabled on the system tray that prompts me to press and enable background data.
How do I remove the warning?
Running ICS on two device that show the warning.

Most of the apps don't respect that setting.

Even more annoying: Most of the apps which do not respect this setting come from Google... And the corresponding API reference for developers just states, the app "should" respect it -- not must respect it, as one would think...

Someone removed my edit: I added that this also occurs on Lollipop 5.0.2.

Touch the notification and it will go away. Of course, this will re-enable background data.
The thing here is, it's meant to be annoying. Many of your apps use background data in order to sync themselves or receive updates, notifications or whatever from the network, and without it, they can't do that.
If apps do background data correctly then this can actually save you battery, as well as make the apps appear more responsive when you actually do open them up to see what they have to tell you. Unfortunately some apps don't, which is probably why you decided you wanted it disabled in the first place.
You have a few options. In order from easiest to hardest:

You can live with the notification.
You can remove the offending apps and replace them with less offensive apps.
You can hack the Android source code to do what you want.

For Android 4.4 and below, this can be done via the Xposed Framework if your phone is rooted (warning: at the moment this will set your phone to use the Dalvik runtime if you're currently using ART):

Download the Xposed Installer apk file (click the link to the right of Download)
http://repo.xposed.info/module/de.robv.android.xposed.installer
Download the RemoveRestrictedNotification module
http://repo.xposed.info/module/org.adam77root.removerestrictednotification
Open the Xposed Installer app → Modules → check RemoveRestrictedNotification → back → Framework → Install/Update → OK (this will reboot the phone)

Support for Android 5.0 and up is in the works:
[OFFICIAL] Xposed for Lollipop


text:
Change "Audio Applications" in Notification Bar
I'm not sure if this is a Galaxy S3 feature, or an ICS feature, but here goes.
When I plug my headphones in, I get a new section in my Notification Bar titled "Audio Applications".  Under that, there are 5 app icons.  For me it shows Video player, Talk,  Music Hub, Voice recorder, and YouTube.
Is there any way to change which apps show up in this section?

It appears to be a TouchWiz/SGS3 feature.  A post on XDA developers suggests freezing ContextAwareService.apk if you'd like to disable it, but no way to edit the list.  Another post suggests that a more recent release (LFB) has options related to this (settings -> accessory -> audio applications), but doesn't expand on whether or not you can edit from there.

I disabled ContextAwareService and that did remove it from the notification bar.  I'm not sure what LFB is or how to upgrade it.  Can you provide any more info?

LFB refers to the version of an update released by Samsung for the International GT-I9300 version. Which version do you own (International vs. one of the North American carrier variants)? The same settings may have come over in the recent update pushed out by AT&T, if that's the one you have, but I'm not positive on that.

I have the Verizon version. I guess I'll have to wait for an update. Thanks for all the great info.

the menu settings -> accessory -> audio applications allows to disable the audio application prompt but not to edit it. I want to have Spotify and VLC in it. I have a S3 mini (lightly branded Vodafone UK).  running android 4.1.2

Solution 1:
If you do not like the recommended apps, you can disable them, by following:

Goto Settings
Click More
Select Application Manager
Select All
Select PageBuddyNotiSvc
Uncheck Show Notifications

If the above solution doesn't helps then try this link: http://www.androidbeat.com/2014/04/customise-notification-panel-samsung-galaxy-s5/
*Note: Still you may not be able to change it if your mobile do not shows the 'Recommended Apps' Section.
I'm using, Note 3 Neo, and still in search, of how to enable 'Recommended Apps' in Notification Panel, when you plugin earphones.


text:
Enabling wireless tools on Android
I need to use commands like iwconfig in Android, I know I have to install the wireless tools because they are not in Android by default, The problem is that I have just seen 3 chinesse tutorials that makes no sense when I translate them, and a link that downloads a directory with Android wireless tools, but I don't know what to do to get them into my device and use them.
Any help would be apreciated.

Download wireless_tools.30.pre9.tar.gz.
This version supports non-ASCII char in ESSID.
Unpack it into mydroid/external/wireless-tools directory.
Create Android.mk file with the following content:
LOCAL_PATH:= $(call my-dir)
################## build iwlib ###################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwlib.c
LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC
LOCAL_MODULE:= libiw
LOCAL_STATIC_LIBRARIES := libcutils libc libm
include $(BUILD_STATIC_LIBRARY)
################## build iwconfig #################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwconfig.c
LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC
LOCAL_MODULE:= iwconfig
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
#LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
#LOCAL_MODULE_TAGS := eng user
include $(BUILD_EXECUTABLE)
################## build iwlist ###################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := iwlist.c iwlib.h
LOCAL_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wpointer-arith -Wcast-qual -Winline -MMD -fPIC
LOCAL_MODULE:= iwlist
LOCAL_STATIC_LIBRARIES := libcutils libc libm libiw
#LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) # install to system/xbin
#LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
#LOCAL_MODULE_TAGS := eng user
include $(BUILD_EXECUTABLE)

Modify it as follows:

Change wireless.22.h to be wireless.h ;
Modify ifrename.c , add getline() function. You can get the code from external/genext2fs/genext2fs.c ;
Notice that this file uses macro to pass another function to getline() .
Modify iwlib.h ,  change #include to be #include .
[You might need to check the original file to know what the author means]

Compile
~/eclair-21/external/wireless-tools$ . ../../build/envsetup.sh
~/eclair-21/external/wireless-tools/wireless-tools$ mm

Copy files to the system
~/eclair-21/external/wireless-tools$ croot
~/eclair-21$ cp out/target/product/generic/system/xbin/iwconfig /nfs/rootfs/system/xbin/iwconfig
~/eclair-21$ cp out/target/product/generic/system/xbin/iwlist /nfs/rootfs/system/xbin/

Test
After starting Android:
# modprobe libertas
# modprobe libertas_sdio
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
model=0xb
sd8686_helper.bin sd8686.bin
init: untracked pid 853 exited
init: untracked pid 856 exited
libertas: eth1: Marvell WLAN 802.11 adapter
# iwconfig eth1
eth1      IEEE 802.11b/g  ESSID:"Antrose-11g"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:15:E9:0C:87:7C
          Bit Rate:1 Mb/s   Tx-Power=13 dBm
          Retry limit:8   RTS thr=2347 B   Fragment thr=2346 B
          Encryption key:off
          Power Management:off
          Link Quality=83/100  Signal level=-60 dBm  Noise level=-93 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:1441
          Tx excessive retries:44  Invalid misc:11220   Missed beacon:0
# iwlist scan
eth1      Scan completed :
          Cell 01 - Address: 00:22:6B:8C:5D:3A
                    ESSID:"Antrose-11g"
                    Mode:Managed
                    Frequency:2.412 GHz (Channel 1)
                    Quality=65/100  Signal level=-78 dBm  Noise level=-96 dBm
                    Encryption key:off
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
                              12 Mb/s; 48 Mb/s
# iwconfig eth1 essid Antrose-11g
# iwconfig eth1
eth1      IEEE 802.11b/g  ESSID:"Antrose-11g"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:15:E9:0C:87:7C
          Bit Rate:1 Mb/s   Tx-Power=13 dBm
          Retry limit:8   RTS thr=2347 B   Fragment thr=2346 B
          Encryption key:off
          Power Management:off
          Link Quality=83/100  Signal level=-60 dBm  Noise level=-93 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:1441
          Tx excessive retries:44  Invalid misc:11220   Missed beacon:0

Done.

Ref:
http://anemospring.blogspot.com.es/2011/03/android-wireless-tools.html

An answer which contains little more than a raw link to another site is not an answer. Readers shouldn't be forced to go to another site to get the information they need. That's why your previous answer just like this one was deleted. At best this is a comment.

See: http://meta.android.stackexchange.com/questions/906/are-answers-that-are-just-links-answers and http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers

Thank you. Sorry I am a newbie here. I have edited the answer.

Nicely done. Now that's an answer!

Thank You, but, is this really gonna work in an Android device? how can I access to mydroid directory? This really helped a lot, but I still have some doubts about what to do.

I think that is the directory contains the Android source code. Essentially you need to compile this tool under the system source code directory and copy it into your phone. Based on my own experience, you might need to ensure that the version of that Android source is the same as the version of system in your phone.

Could you explain what you mean by this line: Modify iwlib.h , change #include to be #include . [You might need to check the original file to know what the author means]

I did the translation, but this tutorial was not mine. In the original post (see the ref link above), it is likely that the author made a typo here.


text:
How do I change the default sms font size? (ICS)
I know I can change (in settings) whether or not the volume rocker can change font size, but is there a way I can change the default to be different? (I'd rather not have the volume button change function) I want the smallest size, but I can't seem to get it to stay that way

The default appears to be simply what the phone itself is set to use as Font Size under Settings > (Device) Display. Change that to Tiny and your messages will display that way, but obviously everything else on the phone will also be impacted.


text:
Gmail not being retrieved automatically
I have recently (since ~1month ago) experienced the following problem:

When I get new mail on my gmail account, Gmail will usually not autimatically retrieve it (e.g., no notification; and when I manually open GMail app, the mail will NOT be in the inbox)
However, manual mail retrieval/sync DOES work fine, for example if I click on "Sync" (retreieve) curcle icon within GMail app; or on Elixir 2's "start background data sync" icon; or check-off-and-back-on on the "Mail Sync" in Settings->Accounts for relevant Google account.
Also, sometimes Gmail does get retrieved/notified; I am not 100% sure but there seems to be a very strong correllation between that and having recently opened GMail app (especially in foreground).
GMail sync worked perfectly find till ~1 month ago
The background sync does not work for ANY of the 3 Gmail accounts I registered.
OTHER mail apps seem to sync perfectly fine (e.g. Hotmail or Yahoo mail) in the background.. So I have a hard time believing it is a problem with overall sync.
The issue is independent of network - it doesn't work on WiFi or 3G.

System details:

Droid X, running rooted stock Froyo 2.2.
I have gone through 100% of intents in Autostarts and made sure every single intent is ON for both Gmail listener and Google Framework.
Gmail version is 2.3.6 (it has a 7/1/2012 backup in Titanium Backup Pro, so I'm assuming this is when it was last updated. BUT the problem existed before 7/1)
Background sync is turned ON - confirmed via Quick Settings app as well as widgets from Elixir 2.  (also, as noted above, Hotmail and Yahoo mail seem to sync fine)

Have you considered the network condition? Did you "Enable always-on mobile data" in Settings -> Wireless & networks -> Mobile networks?

Yes, and yes. If you carefully read the question: (1) OTHER mail apps sync in background; (2) Gmail almost NEVER syncs automatically (unless the app is running in foreground and was just synced manually before).

Try looking into logcat for any errors relating to GMail.

Is Gmail sync on? And lose that task manager.

@RichardBorcsik - How can I tell if Gmail sync is on or off? Settings->Accounts has "Mail" turned on. And ATK is kind of irrelevant here - Gmail is whitelisted, so are pretty much all server processes except the ones I 100% know are safe to kill. And it was this way for >1 year.

I had the same problem.  After reading kevinf's answer, I found the solution by checking the general Google sync settings.  Gmail was not checked!
Settings->Accounts/Google->YourEmail@gmail.com Last synced MM/DD/YYYY 12:00 PM->List of Google Sync Settings.

As a side note, the Gmail app indicated that sync was turned off.
Gmail App->Menu/Settings->YourEmail@gmail.com->DATA USAGE/Gmail sync is OFF

I had a similar problem, Gmail sync would rarely work, for 3G and for Wifi.
My Galaxy S3 runs 4.0.4 stock ICS, background sync is enabled, and so is a mobile data limit. Wifi is set to sleep on display off.
What I didn't realize, is in the Settings -> Data usage -> Gmail, I accidentally checked the box "restrict background data". This correlates to "Also, sometimes Gmail does get retrieved/notified; I am not 100% sure but there seems to be a very strong correllation between that and having recently opened GMail app (especially in foreground)."
Wifi background sync should work, but if you have Wifi to sleep when screen off, then you still would fail to get notifications!

This doesn't apply since my problem was on 3G, not wifi. Interestingly, my GMail problem went away on its own, but instead now my Hotmail notifications have exactly the same problem.

This does apply, as I had the problem with both Wifi AND 3G.
Glad to hear your problem went away, but there is no such thing as random events, everything has a cause.
Do you have an application "Light Manager", it can mess with notifications...

OK, I figured out Hotmail problem. For some strange reason, some of the Hotmail intents were turned off. I turned them back on in Autostarts. I STILL have no clue about Gmail


text:
Disable the default browser in ICS

Possible Duplicate:
Can deleting stock web browser cause problems?

Ok since I got chrome now, can I safely disable the stock browser in the apps menu? Are there other services/apps on the phone that require the use of the stock browser?

I installed Chrome and disabled the built-in browser months ago and haven't had a hint of trouble.

You should be good to go.  If any app specifically asks for the stock browser it isn't particularly well-written and by and large you'll be prompted by any app that needs a browser but can't identify what you've set as default.

Even Google+ asked for the default browser. If the app can't handle a link that's the only way to make sure that it won't try to open it again and again and again and...

Shouldn't an app request whichever browser the user has set to default, though, rather than asking for a specific app in which to launch the link?

It should but G+ has a good reason for it. The reason it's like this is that you can set all Google+ to open inside the app. But if the link can't be opened than it can't just open it regularly because than the app itself would open it again, so instead it opens the browser. I don't see another way this could have been implemented.

If you're rooted, go ahead to disable stock browser apk. Other services may require webView to display webpages which has nothing to do with browser.apk file.


text:
Install Android apps in Kindle fire with Jelly Bean 4.1
I upgrade my Kindle Fire with Android Jelly Bean 4.1 but i can't install some apps from Google Play site, it mentions that they are not compatible with the device, the only solution now would be install apk's manually? or depends on AndroidManifest.xml configuration set in every app?

The kindle fire does not support Google Play or Jelly Bean. I would guess that is the root of your problem. You are trying to run an application that doesn't work on a device with an OS that it wasn't meant to run.
Edit: If you are attempting to install them via the market web page front end then you are only doing the latter of the above. Either way though the official Market does not support the Kindle Fire, you have to use amazons app store. Which I suspect also may not work since you installed an unsupported OS on your device.

There're AOSP build with working gapps for the Kindle fire.

Kindle fire doesn't have phone support, camera support, maps and also some few hardware support. So when your are trying to install those apps It will show
“your device isn't compatible with this version”

Solution: Look for apps which are supported by the Kindle Fire and then you can download it via Amazon store or Google Play.

You can read how to fake an IMEI to fix the phone part of the fire here , maybe there's also a way to add the phone subsystem requirements for Google Play (fake them). More threads here (supported devices) and here (original dev thread)

Info: It basically patches framework.jar and injects a hardcoded IMEI value into it.

Filtering is determined by comparing device configurations. only IMEI wont do all.

Yep, that's right. The above mentioned fix only adresses null pointer exeptions and such for some apps (after one changed his device configuration)


text:
Completely "Mute" my Android Phone?
I have seen the Question: Is there a one-click widget to make my phone completely silent? and this is not a Duplicate Question.
In my, Samsung Galaxy Y phone, when I completely reduce my volume, it goes to the "Vibration" mode. Turning the volume down again after the "Vibration" mode appears has no effect in my phone.
I have look around and found no option to mute at all. My Question is whether is it possible to completely mute an Android phone without downloading/installing any extra app?
Doing everything mentioned in: What is the fastest way to turn the phone into silent mode? puts my phone to "Vibration".
I can't believe that there can exist a phone in today's world without such a basic feature.

when i turn down the volume all the way on every android device in my house (1 running TouchWiz, 1 running Froyo Stock, 1 running Gingerbread Stock, 1 running Blur, 1 running CyanogenMod 9) it goes to vibrate mode. Then if I turn the volume down again, it goes to complete silent mode. This is probably a duplicate of What is the fastest way to turn the phone into silent mode?

@RyanConrad Turning the volume down again after the "Vibration" mode appears has no effect in my phone.

Go to your Settings on your phone
When in your settings go to "Sound", then "Silent mode and vibrate" and things will pop up
Push "Silent mode"
Then push "Vibrate", then "Never"
Then your phone is all the way off!!

After exploring a little more, I found this solution:

Click your device "home" button;
Tap "Settings";
Tap "Sound";
Tap "Vibrate";
Select either "Never" or "Only when not in Silent mode".

That's it!


text:
Does Android support the single-user mode runlevel?
Since Android is powered by a Linux kernel it should support booting in single-user mode.
Which version of Android supports single-user mode and how is one able to start an Android device in this mode? Any references?

Android boot loaders don't tend to expose the functionality of changing kernel command line parameters, also single user mode would need a serial terminal or similar for input.

Single user boot is a feature of the init daemon (initd, like sysVinit) and not the Linux kernel. Since Android only shares the kernel with Linux and not the init process, a genuine single user boot can not be achieved.
Android has something that is called "Recovery Mode", but it's not exactly the same as a single user boot on an Unix system. The approach of recovery mode on Android is different because instead of trying to repair the bricked/broken system, on simply can re-flash the ROM or perform a factory reset, which will hopefully restore the systems functionality.
About the init used: Android uses just a script called init.rc, which gets started by the kernel and is used to start further services. You can view the current source of init.rc here. It supports no runlevels.

@Zuul updated my answer

Thanks for the question update, extra documentation to a better clarification on the subject at hand is always welcome. +1.

The recovery is a pretty direct analog to an installer boot disk - it's a complete, self contained miniature Linux system (using android libraries of course).

Well, it seems that there are a number of software modules that have been tested on various versions of Android in "single-user mode". If there is no single-user mode for Android why are there vendors like Samsung and Cisco claiming Android single-user mode and not "recovery mode"?

That "single-user mode" is also stated for Windows OS on that site. So I would guess that they refer to something different when speaking of "single-user mode", since Windows does not use SysV init. The term itself is not accurate. If I refer "single-user mode" I mean the runlevel 1 of a SysV init.

IIRC, there is a equivalent of a single mode in Android, when powering up, hold down the menu key, Android boots into 'Safe mode' a lá Windows Safe Mode. This will vary with manufacturers and their Stock ROMs.

As per a brief introduction
Single user mode, also referred to as maintenance mode and runlevel 1, is a way of running Linux or another Unix-like operating system that uses minimal system resources and provides only minimal functionality.
Single user mode can be useful for checking and repairing operating systems, particularly those that have been damaged and will not allow booting (i.e., starting up) into the default GUI (graphical user interface) or console (i.e., text-only) multi-user mode.

Source: The Linux Information Project - How to Change to Single User Mode

To answer your question
With Android, the equivalent of a low runlevel, as to perform critical operations with minimal system resources, is rooting.
From the Wikipedia - Rooting (Android OS):

As Android was derived from the Linux kernel, rooting an Android device is similar in practice to accessing administrative permissions on Linux or any other Unix-like operating system.

References:
Since what you are actually seeking is a way to root your device and gain the maximum allowed privileges over it, you can refer to this links:
Internal links

How do I root my device?

External Links

Life Hacker - The Always Up-To-Date Guide to Rooting the Most Popular Android Phones

rooting != single-user mode

Well the down vote didn't came from me. You put some effort into researching the "rooting" topic. Make clear that you think that rooting is the closet to single user mode. Nevertheless I think that this isn't the right answering approach, that's why I didn't upvote it. But in general, your answer has everything that good a SX answer should have, that's why I didn't downvote.

No problem. Your answer is not completely wrong. I even get your point. The problem lies within the question: People tend to assume just because Android uses the Linux kernel that it also uses everything else which they know from debian/ubuntu.

I've deleted cluttering comments. Also rephrased the answer as to clarify the original content.


text:
Beginner's questions on tweaking non-branded Android phone (rooting, update recovery, update rom)
I have some beginner's questions for clarifying some concepts in Android phone.
I am using a non-branded phone (ASK SP404) running Android 4.0.3. The Android OS in the phone comes from the manufacturer and it is non-rooted. I could use normal apps from Google Play but not the more powerful ones that need root privilege. Recently, I want to find a way to backup and restore my phone's rom (like Norton Ghost). However, from my previous thread : Could a non-root Android 4.0.3 smartphone's rom be backup?, I know that this operation seems impossible without some serious tweakings of my phone. "Tweaking" involves risks so I want to clarify some concepts before performing such potentially danger tasks.
My questions are :

Does every Android phone has a Boot Partition, a Recovery Partition and a Rom Partition ? (Boot Partition stores the Linux Kernel, Recovery Partition stores the BootLoader and the Rom Partition stores the other Android system and application files)
Is every Android phone's BootLoader locked ? How could I tell whether it is locked or not ? (Supplementary Info : I could go into the Factory Mode of my phone by turning on my device with "power on" + "home" key, the Factory Mode has the following menu items :
Factory Mode
Full Test
Item Test
Test Report
Version
Reboot

It seems that my BootLoader does not let me to backup/update my phone's rom. I can't tell whether it is locked. Moreover, when I enter the "Version" option, the following information is listed :
IMEI1 : 35958561001666
IMEI2 : 35958561001666
S/N code :
MT012345678901234567
10
SW Ver. : HTC_A100_V401
Custom Build Verno : 1331982298

I am not sure whether this phone has used a HTC A100's firmware rom ! ]
Must I unlock the BootLoader if I want to update my phone with a custom rom (e.g. CyanogenMod) ? What exactly is the meaning of "unlock" ?
Must I unlock the BootLoader if I just want to root my phone to run some rom backup programs such as "romdump", "titanium backup" etc ? If not, would I void my phone's warranty by just rooting my phone ?
I know that the "SuperOneClick" program could be used to root many Android 2.2/2.3 phones. Could this program be used to root an Android 4.0.3 phone ?
If the "SuperOneClick" rooting process fails somewhere along its way, would the failure hurt my phone and brick it ?

That's all my concerns before I would actually perform some serious tweakings to my phone. I am sorry if I have asked too many naive questions and/or I am looking for too much, but I hope the answer(s) in this discussion may be beneficial to other Android tweaking beginners.
Thanks for your attention. Any suggestion ?

you should have asked them individually

I just want to show the whole context of my concerns.

Our rules are "1 question per post", to keep things clear. At least 5+6 could go to a separate post, as they are a separate issue. #1 is also stand-alone. You always can link to other questions for context.

1 : Yes , Android does have many partitions as mentioned Here
2 : By default it's locked unless you unlock it as mentioned Here
3 : Yes , it must be unlocked as mentioned in XDA-Developers's Flashing Guide
4:
A: No you don't have to
B:It depends on your vendor.
5:Yes, It can as mentioned in XDA-Developers's Root I9100G
6:it might brick your phone but for me it stopped in the middle and it didn't brick.

depends. My Droid2 still has its locked bootloader, but runs CM7.2 (using 2nd init)

well I used a trusted reference which says in the requirements that it needs an unlocked bootloader.

That's the better way, sure. But check the custom ROMs for Motorola Droid (especially CyanogenMod). They first start booting the original kernel, and switch to their own using 2nd init. I was sceptical at first, but it seems to work great -- as I can tell from my own experience on my Droid2 with CM7.2

Thanks for the links. The video in the "Answer 2" link describes well the bootloader unlocking concept.

To answer your questions individually:

Not all handsets have those partitions - Sony has boot and recovery combined into one.
Most bootloaders are locked by the appropriate manufacturer. Some are willing to allow you to unlock the bootloader through their website (check with that first)
Yes, the bootloader must be unlocked, that is to enable the overwriting of the boot loader with a custom kernel, in some cases, see Sony above, if overwriting the boot, you are hosed!
see 3 above.

For 4 and 5, the ICS has a different method of exploiting root unlike previous versions, zergRush is the latest for Gingerbread, as for ICS and later, not 100% sure.
As for bricking, now, let's clear up something, bricking is a wrong terminology to use. The only true way of bricking is, doing a firmware update, and halfway through that process, pull the cable... you're well and truly hosed. By firmware definition, I am not referring to ROM updates mind you, its more of hardware update - think of BIOS updates on desktop pcs, then you're not far off the mark there, such as Radio firmware.
The problem is the word brick has become a common parlance among new beginners to Android and often associated with the 'rooting process', and that's FUD.
Think about it, a brick used to build a wall, that's a brick. Phones can be brought back from the dead so to speak with specialized JTAG cables and stripping down the phone to the circuitary level (some have it accessible to avoid stripping down). That is a hardware-brick - can only happen with the above scenario in firmware update - pull the cable halfway through or even, attempting to do a firmware update when the battery is < 5% and the battery dies, that's another way. That is why it is recommended to have the battery have sufficient charge capacity > 85% prior to doing a firmware update.
Soft brick on the other hand - is commonly associated with boot-loops, incorrect ROM flashing. That is salvageable.
You will know if a brick has happened, phone is dead, no power, not responding with a fully charged battery. If on the other hand, you see a boot logo appear, and responds to power, leds lights on, its not bricked.
That is a very simple but important concept to understand to aid in distinguishing when doing the procedures such as rooting it, updating ROMs.

My definition of "brick" is related to my phone's manufacturer. As the manufacturer has claimed that they won't support user activities relating to rooting, update recovery and/or update rom, I would recognize my phone as "bricked" when the phone hangs (or could not power on) after I have made changes to its system files. Although the phone may not be 100% un-usable, I would not get any official support and it would appear that my phone has bricked.

As the manufacturer has claimed that they won't support user activities relating to rooting, update recovery and/or update rom, I would recognize my phone as "bricked" - That is absolute BS and incorrect! No you're totally wrong there, what the manufacturer is saying if you root it, alter it, unlock bootloader and install custom rom, they will not support it! Simples really (who's the manufacturer?)

BTW if you have custom recovery, custom ROM your phone is not bricked - it is still WORKING! There are ways to revert it back to the manufacturer's ROM should anything happen - which is pretty common among USA customers who return their handsets back for repair and they hit the panic button and consults XDA or similar forum to find a way to revert back to manufacturer defaults, in the hope of having it repaired without the manufacturer knowing about it despite having a custom ROM or recovery on it and accepting some fault on it. That is pretty common with USA carriers such as Verizon etc

The manufacturer website for my phone (ASK SP404) is here. My phone is relatively cheap but the support is restricted to normal use only. No support for more serious Android tweaking such as rooting, update recovery etc. The manufacturer's website has no software or information  for "rooting" / "unlocking bootloader". I could not even find a Windows USB driver for my phone there.

Perhaps I have used the "brick" word in a somewhat loose way. But I am just looking for scenarios as described in your last comment --- I want to root my phone and/or update recovery and/or update rom, and if something goes wrong, I could restore the original recovery and/or rom and the warranty is still valid.

However, the problem is : without the manufacturer's support, I find no way to unlock the bootloader and/or backup the rom, I am not sure whether "SuperOneClick" could root my phone, and if "SuperOneClick" or other rooting methods fail and my phone becomes non-bootable, I may not get my phone's rom to be refreshed by the manufacturer. (I consider my phone to be "bricked" in this meaning)

@t0mm13b: even a "hardware brick" due to corrupted BIOS update can be fixed by unsoldering the BIOS, replacing it with a spare; because it can be fixed doesn't mean that it is not bricked. A phone is bricked for all practical purpose when it requires specialized tools to restore, i.e. something other than a USB/data cable and a laptop/desktop with widely available software. This is particularly more important for no name manufacturers because knowledge about the particularities of the device are less talked about in the internet.

I could restore the original recovery and/or rom and the warranty is still valid. What you have said is absolutely correct, that is why a lot of USA customers of such carriers revert to stock prior to applying a returns for repair. @LieRyan that is what JTAG is for! Agreed that yes, unknown uncertain manufactures especially cheap chinese smartphones/tablets, are more difficult to deal with because  it does not have the mass penetration into the western markets, especially Europe and USA. A case of buyer beware!

Thanks for the answers and comments, t0mm13b and Lie Ryan. I've learnt a lot from that. In fact, I don't know much about how to brick a phone and how a phone is considered "bricked", and the serious Android tweaking concepts (that's why I start a thread here). I ask here for clarifying and learning the risks in performing some potentially danger tweaking operations and I've just got that here without going into such a deep concept level (especially the "brick" concept) as both of you.

You're very welcome! Just remember to bookmark this so you can use that knowledge shared to empower and teach others when the time is right :)

Without the manufacturer's information, I think I would not attempt to try to unlock the bootloader and flash custom rom into my phone. I may just consider rooting my phone by trying solution such as "SuperOneClick". As Mohamed Essam has experienced, such a trial has a higher probability of not hurting the phone even if that fails.


text:
Problems sending MMS
I am unable to receive or send multi media messages using my Samsung Galaxy Ace plus.
When I send a MMS it gets stuck and when I receive a picture or form of media from a friend (e.g. my friend has an iPhone and has tried to send me pictures however my Samsung is unable to open these.

Maybe you don't have correct MMS setting for you carrier. By not able to open the MMS you received, you mean the MMS downloads fine but doesn't open?

Do you receive them on your device and simply cannot open them -- or do you not even receive them? Maybe you need to check your MMS APN settings and compare with what your provider/carrier needs.


text:
How can I remotely change the volume?
At home I often connect my android to some speakers, to listen to internet-radio. It would like to be able to change the sound-level through a command on my laptop.
I can open an ssh shell to the phone, but I am stuck finding a command to change the volume on the android.
Is there a command to change the audio-volume on the android-shell? Or maybe there is a different approach without ssh that I missed completely?
I am running Android 4.1.
Edit
The accepted answer should work for rooted devices. I am still keen on getting an answer for an unrooted device.

Have a look at simulating keyevents on Android and search for "KEYCODE_VOLUME_UP" and "KEYCODE_VOLUME_DOWN".
Events can be generated by executing "input":
#local shell:
input keyevent 24 #vol up
input keyevent 25 #vol down
#remotely using ssh
ssh your-phone input keyevent 24 #vol up
ssh your-phone input keyevent 25 #vol down

# 'su -c command' to make it run as root (if not already). EDIT: now escaped properly.
ssh your-phone su -c "input\ keyevent\ 24" #vol up
ssh your-phone su -c "input\ keyevent\ 25" #vol down"

Your shell needs appropriate permissions most probably to fire input events I guess. If you do public key authentication and keep your private key loaded in memory (ssh-add) you can make a wrapper script and just execute this without beeing asked for a passphrase. Note: There's a considerable overhead for both 'su' and 'input', all in all one single volume adjust takes 2.5s to complete on my HTC Desire.
EDIT2:
shell@android:/ $ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),[...]
shell@android:/ $ time input keyevent 24
    0m0.92s real     0m0.29s user     0m0.06s system

Seems like you have to be member of the input group (here GID=2004) to have the capability to generate keyevents using 'input'. Also, I noticed that the screen has to not be locked (and/or off), because the lock would consume all keyevents eventually. Note also that the command takes almost 1 second.

This looks very promising. The commands are accepted by the shell without failure, but the volume does not change. I will probably have to play a bit more with my permissions.

it works for me (using a locally connected phone via "adb shell" with root). Most probably it's a question of permissions. Maybe look at logcat if there's some output about rejected 'input' calls

Nope: I don't think I have root access. Additionally, It tells me 'su not found' when running as android user. Logcat gives the following output: I/Input   ( 2502): InjectKeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_VOLUME_UP, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=399847, downTime=399847, deviceId=-1, source=0x101 } I/Input   ( 2502): InjectKeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_VOLUME_UP, scanCode=0, metaState=0, flags=0x0, repeatCount=0, eventTime=399847, downTime=399847, deviceId=-1, source=0x101 }. I have to add that I am new to android.

Ok, I am not a member of the input(1004) group. I will root my device one day, and try again.

There must be an option to not needing root, like (mis)using tasker with intents for that (tasker most likely has the necessary rights for almost everything...)

tasker works on un-rooted devices only by using an AccessibilityService.. and an AccessibilityService can only interact with default ui-elements like buttons and views - or elements that have explicit made accessible by the app-creator, see http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html#onAccessibilityEvent%28android.view.accessibility.AccessibilityEvent%29


text:
Force widgetlocker theme's default image?
I'm trying to get WidgetLocker to work with an "Xperia ICS" theme. So far the theme looks good but I have a bit of issue about the right slider.

As you can see above, the right Camera slider looks just fine. However, instead of launching the Camera app, I want it to instead run a Tasker task that captures images instantly. I have the task already setup and its working fine.
But when I select it to be the action for the right slider, it obviously uses the icon I set to it by default.

So I went and extracted the right slider image from the theme zip file in an attempt to restore the slider back to how it looked like on the first image. However, when I selected the right slider image, it doesn't fit nicely and thus makes it look smaller than the left slider.

And so my question is, how do I make it look like how it was on the first image while opening a Tasker task instead of launching the Camera app?


text:
How does Android determine which apps are "social networking" apps for data usage purposes?
My phone carrier (Bell Canada) says that in addition to my maximum data limit, I have "unlimited social network" usage.
I'm wondering which apps count as social networking apps? As an Android developer, I'm also interested in how I might designate one of my apps as a social networking app.
(Let me know if this would be better off on programmers.stackexchange or stackoverflow...)

Android doesn't decide it. Your carrier does - this question should go to them not to any SE site. They most likely have a list of hosts that they consider "social" sites. Voting to close.

I think your carrier does not get the information if the data usage is caused by social media from Android, but uses the related hostnames/IPs/ports instead.

Your carrier determine a social network by his hostname or IP as said in comment, not with a specific application. But there is sometimes where this feature doesn't work with apps ( some apps use proxy, don't know if this is the case for facebook or twitter... ).
An other case is this only work on the carrier's website (if they provide social network functions directly on their site), but it would be said on your carrier's offer.
Anyway this is only determined by the IP or hostname. You can't do that by designate an app with a certain programming function...


text:
Micromax Funbook tablet frozen at boot screen. No clockwork mod recovery - how to restore?
I have a Micromax Funbook tablet (codename:P300) running Android 4.0.3.
While playing with a file explorer, I accidentally moved a file from /system folder. Yes, the device came as rooted and I had enabled root explorer and mounted the partition as writable. I  did so because I was mistakenly taken an assumption that I had installed Clockworkmod Recovery mod recovery.
Upon restart, the device does not go beyond bootloader image (it just says "Funbook" for ever).  I had attempted restart into recovery by pressing option button and then powering on.  To my nasty surprise, now only I realised that I had not installed Clockworkmod Recovery and landed on some recovery with following options:
Android system recovery <3e>

Reboot system now
Apply update from external storage
wipe data/factory reset
wipe cache partition
apply update from cache

Can anyone can help in restoring the tablet to original ROM? Even if I have ROM file, without Clockworkmod Recovery how can I recover?

Does ADB work, either in the stock recovery, or if you boot the system normally to the point where it hangs?

Thanks Chris, I did not have an opportunity to try what you said as by the time I read your words, I had flashed another ROM.

This link helped me to flash a rom image. As an additional benefit, this ROM seems to be faster than Micromax's original ROM and also claims to support a list of 3G dongles.  The previous (i.e. original) ROM I had did not support Reliance and BSNL's 3G dongles.
As in a settings menu the following dongles are supported (I haven't got any 3G dongle to test):
WCDMA:
Huawei(E230, E176G, E160E, 182G, E1782, E1750 UMG1691), ZTE (MF633BP-1, MF633, MF637U)
CDMA2000/EVDO:
Huawei(E150, EC1261, EC122, EC156, EC1270), ZTE (AC580, AC2736, AC2746)
After re flashing, I installed clockworkmod recovery as per this link as well.

I just plugged it in, did a reboot with the on/off and volume switches like turning it off, and I came to life again!  Yay!


text:
How much user-available memory do you need?
How much user-available memory is needed in an android phone that runs Gingerbread and is likely to be upgraded to Ice Cream Sandwich in order to be able to install and work with a reasonable number of apps.
Of course, the answer might differ depending on the usage profile of the specific user so 2-4 number ranges would be useful (e.g., light, typical, or heavy user).

Folks, I think this is a good question. Many users have that problem and this gives much grief to guys with medium class phones (that often come with less /data space). My former top of the notch HTC Desire comes only with 145MB originally. Even with moving apps to the sdcard you will hit that rather quickly.

Agreed! It will put an end to faffing around trying to work out what is the minimum for ICS.

should be this a community wiki for other ICS users to fill in their details here?

That could be somewhat merged/tied in with this question http://android.stackexchange.com/questions/25502/how-to-move-applications-to-external-memory-card-on-ics

@ce4 I own a "medium class phone", and I can vouch for the space issue! My phone seems to have a bytes eater bug inside! :) +1 for this question!

@t0mm13b, I would keep the questions separated because as people mentioned (and indeed in my case) this question is more relevant when people shop for a phone. A  link to a possible solution to insufficient memory is, of course, useful but more relevant at a later stage.

How much more /data space does ICS need in comparison to GB?
Easy answer: The same.
3rd party installed apps need as much storage on both GB and ICS and maybe ICS' internal apps need a little more storage, but that's negligible. Most often it's just the user apps that grow bigger and bigger by time (with bigger devices. It's the same with bloated websites as connection speeds grow).
I have installed ICS on all of my current devices and can say that it's not a big difference. I typically need 400-800MB with some games (MaxPayne, GTA3, etc.) and consider myself a medium-to-power user (with number of apps installed).
Breakdown for my Nexus S: 650MB used
Internal stuff, summed up: around 100MB (after some usage time)
User installed apps+data: 550MB
Dalvik-Cache: 85MB (15MB for internal apps, 70MB for user apps)
App sizes: 350MB (15MB for internal updated apps, 335MB for user apps)
App data: 190MB (40MB for internal apps, 150MB for user apps)
Remaining: 25MB for the FS journal and misc random stuff

So I guess, you need around 80-100MB for the minimal stuff (maybe less) and on top of this all that you want to install.
I think the comfort zone starts at 250MB if you move apps to the sdcard and 500-750MB if you won't.

This is the minimum specs for ICS:

Minimum chipset: ARMv7 and upwards, SnapDragon S2 and greater, preferably. (MSM 7225, 7625, 7227, 7627 - forget those chipsets as they are ARMv6)
Minimum RAM is 512Mb,
ICS is bigger than Gingerbread ROM, we're talking Stock ROM, (GB weighs around 65Mb, ICS weighs in around 120Mb), then again ROM modders have somewhat trimmed down ICS to about 90Mb)

The crucial thing to remember is this, if your /system partition is small (I define small as around 120-140Mb) then ICS is going to have a hard time running in that storage space.
At the bare minimum, the /system partition would be ideally 200Mb to cater and give breathing space for ICS.

Just to clarify, 200Mb will leave 80Mb for apps on ICS? If so, would that be enough for a small, medium or heavy apps user?

Cannot answer that explicitly as to each and their own personal tastes :)

The OP doesn't ask about /system but only about /data. I guess the RAM is also not of question here (It does count however count, right). It's solely a question of how big /data should be to feel comfortable.

I suppose, but then again, when the play store updates google apps (GMail, Maps, play store), it goes into /system as when gapps gets flashed in, it adds those into /system as well!

nope, /system doesn't get touched (HTC phones lock it for example completely, the infamous S-ON flag on the flash for the /system partition). You can see it if you look at an updated system app: You can uninstall updates of the market for example. BTW: TitaniumBackup just allows this, it's called 'integrate system app updates into /system' or so. User data of system is by the way also stored at /data

If you have CWM, and flash the gappsinto it, that's what I was talking about, but then momentarily forgot that if you're not rooted nor unlocked... different story :) Zte, Samsung and Sony when rooted/unlocked, allows it to happen, the official gapps zip does load the google apps directly into /system

:-) ah, ok. That's of course correct (for modded phones however) .zip updates can of course and will write their stuff to /system because /data loses its content after a wipe.


text:
WiFi connection loss on Galaxy S2 I9100G
After upgrade from stock 2.6.3 to Stock ICS4.0.3 (XXLPQ) WiFi disconnects after a few seconds. Disabling and enabling WiFi helps for a few seconds only.
Has anyone experienced this? How do I fix it?

Can you once check your wifi sleep policy?