text:
Restrict market updates to WiFi network
In order to save some volume on my data plan, I'd like to limit updates from the market to the times when I'm connected to a WiFi. And as every good geek, I want this to be automated, in other words, if I am connected to a WiFi network, check and install updates from the market (for those apps that I allow to automatically update). Is there a way of doing this?
I'm running Android 2.2 on an HTC Desire. If it helps, I have Tasker installed.
Update: I don't want to change the autosync settings.
Update II: I'm not rooted and am looking for a "stock" solution.

I assume you want AutoSync to remain enabled while you're on EDGE / 3G? Else, it'd be a simple matter to enable WiFi and Autosync.

Are you rooted? Does Tasker have the capability to kill services? If so, killing the Market service while on mobile data will eliminate New Updates Available notifications. Once you're on WiFi, starting the Market service should then enable auto-update of apps.
Don't use Tasker, so not sure if it can perform in this manner.

The new version of the Market app allows you to limit updates to Wi-Fi only, among some other new features, like defaulting all apps to auto-update (if the app supports it).
Android Police has a write-up. (They also have the apk you can download if you don't want to wait.)

This will only work if you're rooted, but DroidWall is a really good front end for Android's iptables.  You can filter access to data based on WiFi and 3G to just about anything in your phone (including the Market) that could request it.

Note that for Market to work, you need to allow not only the Market application, but also some other downloading subsystem in DroidWall.


text:
Why Does My Phone Keep Linking Facebook Contacts?
I have an HTC Desire HD with Android OS 2.2.1 installed.
The phone keeps telling me I have to link contacts that I've linked before, the problem looks to be with Facebook for HTC.
For the first couple of times it happened I actually linked all of them and now my calendar is full of repeated birthday events from Facebook.
Does anyone know what the problem might be and how to fix it?
Not sure if it matters but before this phone I had an HTC Wildfire and also linked some contacts, but they were good.

Look in Settings->Accounts most likely you will have an account there for facebook. There may be settings for that account that allow you to choose what gets synced. Otherwise if you don't need any of it, delete the account. It won't running in the background updating facebook statuses for those contacts... Should help with battery life, memory, etc.
Hope this helps.

source: Stack Exchange

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

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

sort: votes


text:
Which apps do gapless music playback?
Are there any apps around that are good at gapless audio playback? I listen to a lot of music that continues from one track to another and the stock app puts a small but noticeable gap between tracks.

I'd be interested as well, I get so annoyed by the jarring split-second of silence.

In the interim, I've decided to join the files together with http://www.makeitone.net/audio/mp3albummaker.htm ... would prefer to get this sorted though.

Try the latest Museek player. It has support for gapless playback. You need to enable it from within the ADVANCED settings in the app.
There's also PowerAmp and Winamp which seemingly offer decent gapless playback quality.

Thanks. PowerAmp and Museek claim to have gapless, but the music I've used to test this didn't play that way and fiddling with the settings didn't help. Winamp doesn't do gapless at all. The forums for PowerAmp claim that true gapless is in the works.For the record, Winamp on Windows plays the music seamlessly.

The Amazon MP3 player adds gaps. Luckily you can play songs downloaded to the device with any music player, and Google Music does gapless playback out of the box.

Re Google Music: I wonder if that's a per album thing? I used it to download Black Sabbath's first album to my device and going from one track to the next still had a gap.

@MarkHewitt: do you have other albums that Google Music plays without gaps? So far it seems to work fine for the Jean-Michel Jarre albums I've played.

Can you give me a specific example that I can test? I'm assuming this is an album available in All Access?

@MarkHewitt It's music from Amazon's Cloudplayer. I don't recall the specific example right now, I just noticed that Google Music played it better than Amazon MP3.

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


text:
Installing android on htc touch 2

Possible Duplicate:
Can I install Android on my non-Android device?

It is possible to install Android OS on HTC Touch 2? And if it possible can you guys help me with a tutorial or something like this ?

It seems from this thread on XDA developers that there are people working on getting android to run on the HTC Touch2, but it doesn't look like its working yet.
It would be best for you to keep your eyes on that project, that seems like the best chance of you being able to run android on your phone.

Firstly, to do any OS modifications you will need a rooted device. In the commercial phones this root privilege is not available. Also, m not sure if the hardware supports Android OS.
If it supports then you will need the entire phone binary (or individual image files) which has to be flashed onto the device using fastboot.
Best of Luck with ur research on this...
Though seriously, I doubt that can be done.


text:
What to do before reformatting phone or setting back to factory state?
Recently it seems as if my phone has bogged down to a point where is is almost unusable (Droid Eris running 2.1).
I'm on the verge of reformatting or setting back to a factory state. I was wondering what things should I do to make sure I have all my contacts/pics/etc.. and what tools can help me accomplish this?  Also what about the apps I have paid for?  How can I get those to transfer?

If you have an SD card, I would copy its contents to a PC.  That should save all of your pictures.
Paid apps are linked to your Google account and can always be re-downloaded.
Have you entered your contacts manually and not synced them to your Google account?  If not, you don't need to back them up; they're in the "cloud", to use the common catchphrase.
If you're rooted, you can use an app like Titanium Backup to save your applications and data, so that you don't need to redownload them (and so your settings, saved games, etc. are backed up).

Your contacts and calendar will be stored in the cloud and synced back when you re-login with the same Google Account. Also, most of your settings. Apps that you purchased will be listed in your Market Account.
I suggest you use SMS Backup or something similar to save your messages (if you wish to) to your Storage Card. GoSMS and Handcent SMS also have SMS backup/restore facility.
By default, your camera pics are stored in the DCIM folder on your storage card.
Use a backup app like Titanium Backup or MyBackup Pro to backup all the stuff first, just as an additional safety net.
NOTE: Busy right now, so haven't added links. A quick search will turn up the apps in the Market. ;-)

I'd recommend doing all these steps regardless of the fact that your data is in the cloud

Download MyBackUp Pro (or a similar app)
Backup everything to a micro SD card
Deactivate any license (for BlockBuster Movies, etc)
Export anything that is exportable (like contacts, calendars, pictures, etc)

I always say that its better to be super safe than sorry. Sometimes if you have multiple accounts that merge data into one place, you may expect Tom Smith (example use of name) to be on Google's servers but they are actually on FaceBook or some other server. By exporting it, you'll have a file with everyone and then you can upload the contacts to your Gmail account.
I say this from personal experience by losing pictures and data.

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


text:
Home and Search don't work on my Nexus One
I'm using a beta of Cyanogenmod 7 and it seems unlikely they would leave out home and search button functionality. I tried rolling back to the RC and then getting the latest nightly and then wiping the data and cache and then getting the latest RC and nightly. But still, when I press Home or Search, the phone vibrates as if I pressed something but doesn't go home or bring up a search box.  Thankfully, "back" still works.
Is the hardware defective??

If the phone's registering the keypress and vibrating, I don't see how it could be a hardware issue.  Flash back to stock and see if it works.  Or at least CM6.

Agreed.  Roll back to your previous stable ROM and see if the buttons still don't work.  If not, then you might have a HW problem.

But CM6 is ugly to me now!

Okay, I got CM6 but it gave me the "swirl of death" (Cyanogen screen never went away). So I booted into recovery and wiped the cache and data and then CM6 booted. And my buttons worked! And the phone was snappy! So I went to CM7 RC1 and my home button worked. So then I went to the latest CM7 Nightly and my home button worked! I think it was that I needed to wipe. But I lost all my Angry Birds progress!!!! Nooooo.  Gotta find it in a backup. I'm asking that now.

This means the provisioning got somehow interrupted; in other words, when you just reinstalled the firmware and the wizard was guiding you through the first steps, something interrupted it and it didn't finish. That's why the Home button, the Search button and the Lock Screen don't work.
To fix this, run the following command from a root terminal or from adb shell:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (name,value) VALUES ('device_provisioned','1');"
and then reboot.


text:
Do I need a new Bluetooth headset?
I just picked up an HTC Droid Incredible a few days ago. I already had a Plantronics Discovery 975 headset, which I like, so I've been trying to use it with the phone. It pairs fine and does work, but I've been having some problems that make it not very usable.
Problem 1: The "Bluetooth in-call volume" always goes to minimum between calls, and I can't hear the voice prompts. It doesn't matter whether I raise the volume using the Bluetooth or the handset, it always goes back to minimum on the next call.
Problem 2: The standard Navigation app (Google Maps Navigation for mobile) doesn't work with the Bluetooth at all (even if I make sure it's connected before starting of the Navigation app). I have to speak into the handset and all sound comes out through the phone's speaker. I can't find any setting to change this.
Problem 3: The Voice Dialer also doesn't work through the Bluetooth. The only way I can use the Voice Dialer is to hold the main button on my Bluetooth for 3 seconds. If I activate it from the phone, I have to speak into the handset.
Does this mean my Discovery is just not compatible with the phone or is there something I can do with settings to get it to work properly?
If I do need a new Bluetooth, can you recommend one that works well with an Android phone (or even better, one that works well with an Incredible)?

Not really an answer - but if you can I'd suggest getting another (borrow someones?) bluetooth headset to see if you have the same problems, that would determine if it is the headset or the phone.

If I recall correctly, for Navigation directions over BT you need A2DP (just like music).  I just checked the specs on Plantronics' website for the Discovery 975 and it doesn't mention having this.
There's also a setting somewhere in Navigation to route it over the speaker or the headset; I remember turning it off on mine because it was interrupting conversations when I was trying to listen.  Unfortunately I can't recall exactly where the setting is; I'll update this later if I find it again.

There have been some issues with the fact that Android's bluetooth was not up to date. Testing your phone with another headset would be a first step in singling out the problem. Also, try to see if you can go to your local authorized reseller or a carrier store to see if a technician can have a look at it.


text:
How can I tap once on my home screen and start composing an email to a specified contact?
I'm looking for a widget, shortcut, etc. that will let me tap it once and the next screen I see if the compose email screen for someone.
For example, if I have a contact Joe whose email is joe@example.com, I could click one button (or contact picture, or label, etc.) on my home screen and an email to joe@example.com would be started.
If I use the contact widget, I click on Joe and then get a menu for email or call, etc.
Is there a one-click solution to start composing an email to a contact from the home screen?

I was curious if my answer was able to help you or did it not work? If it didn't let me know and I'll see what I can do

@Daniel I'm using a Xoom, and mail widget free worked for me.  Thanks!

Welcome - glad to help

It may depend on what phone you have but for HTC phones you can add a "Shortcut" of a person and have the shortcut be the whole contact card or just start an e-mail message (or any other contract related actions)
Long press on the home screen to bring up the "Add to Home" menu, select "Shortcut" then select "Person".  Here you can select the person you want to be able to contact and it will provide you a list of actions to perform on that contact.  Select "Send mail".  When you click on the new shortcut it may prompt you to choose an e-mail client but you can either choose a default or not and be able to choose which client you use each time.
Edit - I just tried this on my Hero with a AOSP custom ROM and the only option I could find on the "Shortcut" menu was to add a contact.  This would provide you with a two-click method - once to select the contact and a second click to select the "Email" action.
Edit2 - I just found Mail Widget Free in the Android Market, which looks like exactly what you wanted.  You can add widgets either 2x1 or 3x1 which will have the contact's photo and e-mail address.  One click and your default e-mail app will open ready to send a message to that contact.  There is a "Pro" version which allows a 1x1 widget.
Note: I am not the developer of this app.
Edit3 - I also just found that HTC's have a "People Widget".  With this widget you can select certain people or groups to be displayed and each one can have a different default function when clicked.  One of those functions is to send and e-mail.  To do this just add the "People Widget" (it should be there by default in your widget list) then select the group (or create one) that you want to be in the widget and then once the widget is up - click on the contact you want to email.  This will bring up a selection of functions to apply to that contact and you can then select e-mail and you'll see an envelope icon on that contact in the widget. I can't believe I missed this one before :). I hope either this one or the previous edit can answer your question.


text:
Return my motorola defy to its original state
I'd really like to find a way to reset my phone to the way it was when I bought it, like before I customized it. Is that something that would be possible?

Provided you haven't rooted your phone or changed the kernel, a simple Factory Reset will do what you require.

Tap Settings.
Scroll down and tap Privacy.
Tap Factory Data Reset.
Tap Reset Phone.

The steps you will have to take to restore to original state (Stock) if you are rooted

Unroot using z4root (if you are rooted)

you may not even have to do this with flashing the stock rom.

Download the Stock ROM for the Defy

http://and-developers.com/sbf:defy
You will need RDSLite to flash, and AFAIK, you can only flash the UK version as 2.51 builds cannot downgrde. You will need to search the internet for RDSLite as it is a proprietary software used internally at motorola.

extract the zip so you have an SBF file
Get the phone in the bootloader
plug in the phone to USB
open RDS Lite and browse for the SBF file
Click on the defy and click start

You can probably find more detailed instructions, but this is the "basics" on doing it.


text:
Finding the appropriate ROM - translating ROM names to something legible
The Shipped ROMs site has a bunch of ROMs listed, but I can never make out which one is the one I am looking for. Using the baseband version is straightforward, but even then there are often a couple ROMs that fit.
Please excuse me if I should not be doing this, but I'll give you a concrete example:
In my case, I am looking for the stock ROM for the unlocked HTC Desire I bought in The Netherlands (I'm Belgian myself, but this makes little difference). So I looked at the Bravo page:
http://www.shipped-roms.com/index.php?category=android&model=Bravo
The baseband version is 32.49.00.32U_5.11.05.27 so that gives me a list of 8 ROMs
RUU_Bravo_Froyo_HTC_WWE_2.29.405.2_Radio_32.49.00.32U_5.11.05.27_release_151783_signed.exe   Binary File
RUU_Bravo_Froyo_TELUS_WWE_2.25.661.2_Radio_32.49.00.32U_5.11.05.27_release_151557_signed.exe     Binary File
PB99IMG_Bravo_Froyo_HTC_WWE_2.29.405.2_Radio_32.49.00.32U_5.11.05.27_release_151783_signed.zip   Archived File
RUU_Bravo_Froyo_Vodafone_UK_2.33.161.2_Radio_32.49.00.32U_5.11.05.27_release_157522_signed.exe   Binary File
RUU_Bravo_Froyo_HTC_ARA_2.32.415.3_Radio_32.49.00.32U_5.11.05.27_release_157343_signed.exe   Binary File
RUU_Bravo_Froyo_HTC__ARA_2.32.415.3_Radio_32.49.00.32U_5.11.05.27_release_157343_signed.exe  Binary File
RUU_Bravo_Froyo_HTC_WWE_2.29.405.5_Radio_32.49.00.32U_5.11.05.27_release_159811_signed.exe   Binary File
PB99IMG_2.29.405.5_Radio_32.49.00.32U_5.11.05.27_release_159811_signed.zip   Archived File

In this list, there are a couple abbreviations I do not know or understand, such as:
WWE, ARA, RUU.
Any help, general or specific to my case, is much appreciated.
I believe I know I will need a bin and not an exe file, and I can probably rule out Telus and Vodafone ones.
Thanks in advance

I'm pretty sure that:

"WWE" stands for "World Wide English"

"RUU" is "Rom Update Utility"

"ARA" means "Arabic" (which apparently is for "middle eastern devices")
"ARA" may mean "Aramean" and since it is in the same spot that "WWE" is I would guess that it refers to the localization or language like "WWE" does, so "Aramean" makes sense to me.

As you can see the RUU is an executable. You will run on your computer while your device is connected through USB.  The zip is usually installed via a recovery - however that is my experience with my HTC EVO and Hero.

also; it's possible to get zip from executable RUU. Start up RUU; and zip will be created in temp directory.

If you only want .zip files, there's only 2 choices.  2.29.405.5 is newer than 2.29.405.2, so that's the one you should get.


text:
Where is the notes app on nexus s?
Is there a native notes app? I cant find it

If there isn't a native app, see What do you use for note taking?.

There isn't a native notes app for the Nexus S because it doesn't have TouchWiz UI. I'm quite certain the voice action 'Note to self' actually sends an email to yourself (I don't personally use that action, not sure it likes a British accent)
There are loads of third party apps though. For example Scribb.it is full to the bursting with features, AK Notepad is quite a good simple one or Evernote has a strong following and quite a few more features.

The Touchwiz Memo app has been ported to ICS, you can grab it on xda (this is in the Vibrant xda forum sub-section, but it works on other phones).
This app works on JB too, you simply have to install it as a regular apk (not in system/app)


text:
What's the purpose of the trackball?
what's the point of the trackball of the Nexus One and of the analogous devices in other similar phones? (e.g. HTC Desire's optical pointing device).
Is there any use case for which the touchscreen is not enough?

It's for when you want to play Snake... :)

I find moving the cursor to a particular place in some text far more accurate using the trackball than trying to select it by prodding the touchscreen. I would say that there might not be a specific use case which can't be accomplished using only the touchscreen but that there are certainly tasks for which using the trackball is easier.
It's all probably quite subjective though, and depends on user preference.

Selecting text is bad enough using the trackball, without it would be simply impossible as it is implemented now.

Beside moving the cursor in a textbox it's also nice as blinking orb of information. For mine if it's blinking blue I have a tweet waiting and if it's purple that's a google voice message, etc. And it blinks red and then blue and then green I have three things waiting. Armed with that kind of information I can make a decision about if it worth getting the "stare of death" from my wife if I pick it up at dinnertime.
What I really need is to have it blinking red if a new Angry Birds is available at the market.

Yeah, that is a nice feature on the nexus one to be able to change it for different notifications, one thing I do miss on the Galaxy S, is any type of notification LED

nice! Is there an app that allows to customize the LED color?

@Andrea I have CyanogenMod on my phone and I did my customizations in the custom UI settings of CyanogenMod. There must be an app out there somewhere that does the same thing.

I wager that it was a way to attract Blackberry users.

A lot of devices (like most of the Galaxy S family) actually don't have a trackball/pad at all now.
I very rarely used the trackball on my old HTC Magic, and haven't missed its absence at all on my Galaxy S. It's not needed these days, the touchscreen is enough.

I suppose to best "answer" your question, the trackball is there to assist when the touch screen isn't accurate enough. It also exists to give people more choice when scrolling and or selecting.
Personally, I never use it for that but instead use it for Trackball Wake. Not having to push the power button every time to turn the screen on is a god-send. I, like others here, also run LED customizations to notify me of specific things.


text:
How can I sync .vcf contact  photos between Android 2.2 and Gmail?
I can save all of the contacts to one .vcf file, then use a PC to import it to a Gmail account but there are no photo in the Gmail contacts. I checked the .vcf file there is photo data in it. Is there any function or app can sync the photo from an Android phone to Gmail?

As per Walialu's comment, you do not need to transfer contacts manually.  Note however that contact pictures on your phone from Facebook will not be transferred to GMail, because Facebook does not allow this.

Settings > Accounts & Sync > john.doe@gmail.com tick the Sync Contacts checkbox :) Make your phone connect to the internet and wait to see the google magic :)
Just in my case it syncs the contact photos perfectly :)


text:
How to avoid rooting my phone?

Possible Duplicate:
Any VNC solutions for an unrooted device?

I want to connect my phone to my computer via USB, and be able to send keystrokes to phone, and send phone's video output to computer screen. It's easy, i check out several tutorials, but i DON'T want to root my phone, i don't want to void my warranty. Is there ANY way to send keystrokes to Android phone from any "third-party" device, or to send phone's video output to computer without rooting the phone?

It depends entirely on your particular phone, version of Android, etc.

But, i can't generally create an application that would work with any android phone and could send phone's output to the comp, without rooting the phone?

We can't help with dev question here, try asking on StackOverflow.  But: No, not really.  You can rapidly take screenshots and stitch them together into video (the framerate will suck), but you can't take actual video.  This YouTube video shows how to use an app that takes quick screenshots and I think puts it in a video for you: http://www.youtube.com/watch?v=QtB36BTllwY

You can't even take screenshots without root. in order to take screenshots you need to access /dev/graphics/fb0. see this post on SO - http://stackoverflow.com/questions/3067586/how-to-capture-the-android-device-screen-content/3069917#3069917 - I see there is a "permission" to read the FRAME_BUFFER but I believe it is reserved for system applications. Also, there is an open source app called Android ScreenCast (http://code.google.com/p/androidscreencast/) that will send keystrokes from PC, but it does require root because it has to "inject" a "listener" on the device

You are looking for VNC (PC to Phone) capability the exact functionality that I am asking about in this question.


text:
Can a Factory Reset fix Malware Problem?
This recent story appeared on Slashdot regarding various malware apps that had invaded the Android Market. Google quickly removed them (and I was not infected - I don't typically download apps), but I was curious - would a factory reset fix the problems that this malware caused (including rooting)? If so, why not?

+1 I found your question very interesting, I saw another article - http://www.androidpolice.com/2011/03/01/the-mother-of-all-android-malware-has-arrived-stolen-apps-released-to-the-market-that-root-your-phone-steal-your-data-and-open-backdoor/ mention that the malware apps are able to root the phone and even install a backdoor. What if it is able to change the image on the ROM in the phone, then performing a factory reset will be useless since the image is not the original and so the backdoor will still be there. Are there other solution to ensure that the image is not manipulated?

For that/those particular piece(s) of malware, the answer is probably yes.
A factory reset does not completely undo rooting, especially with the more "invasive" methods used for a few hard-to-root devices.  A simple/common exploit like the ones probably used in these rogue apps is less likely to allow them to persist.
A factory reset should also wipe out installed apps (including the malicious ones) or, if they're stored on the SD card or something, at least reduce them to uninstalled apps just sitting there -- and they can't do anything unless the user reinstalls them.
Factory resets generally leave the /system partition intact, however, and any malware could theoretically have replaced system binaries with malicious versions or something along those lines.  To be on the safe side you would want to re-flash your ROM and not just do a factory reset.

Adding to what Matthew Read stated, it most likely will not unroot, but on top of that, it will not stop the damage that it has already done with your contacts or data. I mean if it collected contact data and personal passwords ect. then you need to start changing passwords and all that good stuff.

Definitely agree, and understand this. I was just wondering if it would stop further damage (which Matthew Read answered pretty well). Basically, I didn't know if there was a way the trojan could install itself in such a way that a factory reset WOULDN'T remove it. (I don't know exactly how factory resets work - is it an uneditable image within the phone? Something else?)


text:
Reducing the memory usage of Contacts Storage
I have an HTC Desire running 2.2 and have noticed a lot of low memory warnings lately.
I think this is due to my Contacts Storage taking up 33+ mb of space.
How can I reduce or limit the amount of space the contacts take up?

Related, but not identical to: http://android.stackexchange.com/questions/17479/can-i-store-contacts-on-my-sd-card-how

The only way to reduce this number is to remove contacts. Now this could be setting apps like twitter and facebook to not sync contacts. But if you have pictures for everyone, it is going to increase the amount of storage as well.

Thanks, I'll try removing the contacts sync from Facebook etc. Will doing this shrink the memory usage or will it hold on to what it has got already?

I believe it will "unsync" but I am not 100%, i always tell it to not sync my facebook and twitter contacts.

After removing the twitter, facebook and last.fm contact sync, my storage dropped from 10MB+ to ~1MB. What's weird is that the contacts from those services are still in the list.

i know the twitter one is huge for me. I follow like 600+ people so to add that many would blow out the size of the database. i forgot about last.fm, I uninstalled that as soon as they announced they were going "pay for mobile" unless you have a WP7

After removing the sync from Facebook and Twitter the contents didn't reduce much. I had to delete all the contacts and let them resync from my Google account to finally get it to reduce the size.


text:
How do I recover my Angry Birds progress!
I'm using Cyanogen and had some issues so in recovery I had to "wipe data". Before I did that I did a backup. How can I get back my Angry Birds save data? I thought for sure it was stored on Google's servers since I've done this sort of thing 50 times before and never lost my save games.

What do you mean by you did a backup? Titanium Backup?

I made a backup in "recovery" when you power on and press the ball at the same time. Everything is stored in .img files I guess because that's what I see in the File Manager.

Angry Birds save data is stored to /data/data/com.rovio.angrybirds/files.  I don't believe it's backed up to Google.  Normally all that's backed up is your list of apps, certain settings, contacts, etc.  So your wipe data would have erased it.
I always use Titanium Backup to save my apps and their data.  And when I do something risky like flash a beta ROM that might wipe the phone storage, I back up Titanium's backup folder to my PC.

I have a backup that was made in recovery but they are all .img files. Maybe I should be asking how to extract data from there. Also, where on the SD card is the savefile stored??

One thing you could do is restore the backup, you should be able to do this in recovery.  Then back up Angry Birds with Titanium, move that backup to your PC, wipe data again, copy back the Angry Birds backup, and restore it with Titanium.  Mounting the .img files is somewhat complicated, you have to set up a loopback device and stuff.  I wouldn't recommend that unless you're very comfortable with the command line and such.

Okay, I'm about to do a Restore with ROM Manager but I don't think those are the right ones. Might have to boot to recovery again and restore from there. ARG! I thought I read Google has a cool "cloud backup" for Android Apps. Must not be that cool.

I did the restore and I don't see any data/data folder. There is other things in data but mostly related to twitter stuff. I'm scared. Now going to a backup from January . . . it'll be old be better than starting from scratch. Gotta backup more often but I was running out of room on my SD card.

Okay, I'm all the way back to January and I Angry Birds is even installed on this version and it launches and my old data is there . . . but I still can't find it. Not in sdcard/data/data

Make sure you're looking on the phone storage, not the SD card.  Only the app should be on the SD card, the save files are on the phone storage.  You need root to browse /data/data (I assume you have it though, being on CM)

Okay, looking at other questions it turns out "File Manager" lies. There ARE folders in the /data/data folder on the phone but sadly, no angry birds.


text:
Why can apps access the whole SD card?
Is there a technical reason for why apps that only need their own data are not limited to one folder? I do realise that some apps use other apps' data, but I'd be much more likely to install an app that only asked for permission to store files in one, specific folder.

There are different mechanisms to store data in an Android application that don't need the SD card access permission. You can create databases, store application parameters, create files on the internal storage. All these will not require any specific permissions and these data are accessible only by the application that created them.
On the other side, if an application needs the SD card permission it may be because it as a very large amount of data to store or that it wants to modify/add/remove files such as in a file manager. But for important application specific data, the SD card if not recommended because it could be removed at anytime (or mounted as a USB drive) and not available to the applications.
I think a lot of applications that ask SD access permission could use another type of data storage that would not require that. Moreover, files created on the SD by an app will not be removed upon un-installation of the app but all other types of internal data storage will be. So to me it would be a better development practice not to use the SD if not required, and as you mentioned it would not scare people away like apps that access the whole SD.

SD cards generally use the FAT file system, which does not allow for filesystem permissions.  This means that the Android OS would have to manage a custom list of files, their permissions, a mapping of apps to files/folders, etc. in order to prevent apps from accessing the whole card.  This would be a terrible mess.  Not only complicated, but it would require a lot of storage space.  And then one day you take out your SD card and remove some pictures, and the entire system breaks.  You get the idea.

I don't see how caging an app's file-system access would be such a mess, and especially not how removing some pictures would break it.

Well removing files wouldn't necessarily break it, if the management was sufficiently complex.  But adding files would be a problem.  Allowing just any app to access the new files is a problem, and disallowing any makes the files useless.  You could have a specific dropbox folder, which again makes the management more complex.  But how do you force someone moving files onto the card from their PC to use the dropbox folder?  You can't.  You could again make the management more complex, and have it move any new files to the dropbox.  But there will always be another way to break it.

Removable media is designed to be removed and altered by other devices, and thus attempts to manage it are basically useless.  Would you expect Windows/Linux/MacOS to prevent individual apps from accessing an SD card plugged into your phone?  Would you want to set up which of your 100's of apps can access what parts of the card?  It's much easier to just not put important stuff on the SD card if you're going to install random untrusted apps.  Rant done :P

As Matthew Read has explained, with a normal SD card using the FAT file system, it's not possible to use the file permissions to control apps' access, the same way that Android controls their access to files on the internal filesystem. But now that Android phones use internal storage instead of SD cards, and they use MTP to offer access over USB instead of the mass storage device class, Android phones are free to use better filesystems for their large data storage.
KitKat added a new mechanism for apps to store large files. In the internal USB storage, each app gets a private data directory, just like in the smaller device memory. (On some devices, these might even be the very same filesystem.) Apps can access their private directory on this filesystem without needing any special permissions. It's also now possible for apps to only ask for the "read SD card" and "write SD card" permission on versions of Android prior to KitKat, if they only need the SD card in order to use a private directory like this.
The old shared directories like "Downloads", "Music", and "Notifications" are still present just like before, and still need those same permissions for access. Old apps that haven't been updated for KitKat will still use those directories, not the new, private directories.


text:
Messages on computer?

Possible Duplicate:
How can I be informed through my computer if a new SMS is received?

I have the LG Optimus One p500. It comes with LG PC Suite IV which is great.
It allows me to download my sms messages to/from the computer fine.
However I must manually check if there are new messages.
Is there any program (for windows) which can listen for sms messages in android and download them to the computer automatically then alert you?

There's Android notifier and SMS2PC.  PDANet will also do it, along with tethering.

+1 for android notifier, although I would like a true "Growl for Android" that can forward to a PC/Mac running Growl and receive from other Growl clients.

actually, I want to give android notifier another +1 because it looks like they implemented Growl Notification Protocol...

There's also gtalksms which will send any SMS messages back out through Google Talk.  I registered an extra Gmail account for the phone to use and it just sends them to me in the normal chat client I use on my PC.


text:
How can I run a script on boot?
I'm accustomed to running scripts on boot in Linux, but I'm not sure how to do this in Android. I'd like to start my SSH daemon on start, so I'll always be able to connect. How can I run an arbitrary script on Android boot? It'd be preferable to do this outside of Dalvik.

While looking around my Android filesystem, I found that it did, in fact have a /etc/init.d/ directory. After peeking around in there, I found /etc/init.d/20userinit with the following lines:
if [ -e /data/local/userinit.sh ];
then
    log -p -i -t userinit "Executing /data/local/userinit.sh";
    busybux chmod +x /data/local/userinit.sh;
    logwrapper /system/bin/sh /data/local/userinit.sh;
    setprop cm.userinit.active 1;
fi;

This being, of course, exactly what I needed, I wrote the following script on my computer then pushed it to my device:
#!/system/bin/sh

dropbear -s -g

(pushed to device via scp userinit.sh phone:/data/local/userinit.sh, mind you :] )
Rebooted the device, then ran ps | grep "[d]ropbear", and sure enough, it's running. Coolness!

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

it seams lineageos comes with a 90userinit exatcly like that. Thanks a lot for the hint!

but better use magisk https://github.com/topjohnwu/Magisk/blob/master/docs/guides.md#boot-scripts

/data/init.sh runs at boot, if you have root you can edit it as you like.  Be careful ;)
Edit: Apparently you might need to shoehorn the edited script into the boot image as well.  Info on how to do that here: http://forum.xda-developers.com/showthread.php?t=443994

Yeah, I can't seem to find this file on my Nexus One running CM7-RC1. I'll see if a find / -name "init.sh" turns anything up. Are there any other scripts that run on boot?

You should have an /etc/init.rc which starts the shell.  It should call init.sh but if it doesn't you can just make it call your own script.

Unfortunately, I don't have that script either, but I did find a solution.

What version of Android is it ? 4.3 does have /data but no /data/init/.sh or /etc/init.rc. Grep does not find any interesting instance of the string init in /etc (even recursive).

If you have Magisk installed you can place the .sh to:
/sbin/.magisk/img/.core/service.d/

or to
/sbin/.magisk/img/.core/post-fs-data.d/

Don't forget to make it executable: chmod +x your-script.sh.
More info: https://github.com/topjohnwu/Magisk/blob/master/docs/guides.md#boot-scripts

better answer by now 2021

Look to /etc/ directory. Usually it is placed in /system/ partition which you can mount as RW:
$ ls -l /etc
lrwxrwxrwx 1 root root 11 Jan 1  2009 /etc -> /system/etc
$ su
$ mount -o remount,rw /system
$ chmod o+w /system/etc  # for "adb push"

Some above steps may be replaces with:
$ adb root
$ adb remount

and later remount RO:
$ chmod o-w /system/etc
$ mount -o remount,ro /system

Now your task to find executable or *rc file which you modify to achieve your goal:
$ find /etc -type f -perm +110
$ find /etc -name "*rc"
$ find /etc -name "init*"
$ grep -R /data /etc
$ grep -R /system /etc

Google about each candidate to get know how this file was used.
Good candidate for including custom scripts are lines from:
$ grep service /init*.rc

As each device unique you may need to do own guess about search criteria...
For example I found /etc/mkshrc which used by Korn shell. I update this file to extend PATH env var and now each time I do adb shell I have Busybox symlinks in my PATH!
See also hard way (if you have no luck with finding magic file): https://stackoverflow.com/questions/9768103/make-persistent-changes-to-init-rc

But isn't it getting overriden every boot ? I think the /etc folder is part of cpio which is ramdisk.

@ransh this is not the case at least in: 8.1.0_r60 where /system is system.img, and /etc is a symlink into /system.

I found that even after deleting a file from /system I was unable to put it back (the same file) because of "no space left on device".  Of course the system image has the exact size it needs but I don't know why deleting the file didn't free its space. (It wasn't the open file descriptors thing.)

I tried all these methods and none of them worked for me.
What worked however was based on lord-ralf-adolf's answer here
How to run a script on boot in CM12.1?
basically, find the file
/system/etc/install-recovery.sh and add the following line at the beginning
/data/init.sh &
then
touch /data/init.sh
chmod 755 /data/init.sh

Done!
You can now put whatever you want in /data/init.sh and it will run on startup.
If the file /system/etc/install-recovery.sh is not in your system then this answer won't work for you. Don't bother creating it.

Actually, I have a system where /system/etc/install-recovery.sh was not present, but it is still executed on boot if present, so it's worth checking.

This is the only thing that worked with Android 9.

Things were simple before Android 5 when SELinux wasn't enforcing. You could put your code in any script or replace a binary with script which was executed with root privileges on boot. Another method was to define a custom init service specifically to batch execute scripts from some directory.
Based on these approaches custom ROM developers introduced different pseudo-init.d phenomenon like /etc/init.d/, /etc/install-recovery.sh, /etc/init.qcom.post_boot.sh, /system/bin/debuggerd, /data/init.sh, /data/local/userinit.sh, /data/local/init.d/ etc.
However a process running with UID 0 but in a restricted SELinux context is quite helpless. A service started in init.rc file with u:r:init:s0 context can't even execute a shell script from /system/bin/, so SELinux policy needs to be patched to inject an unrestricted context e.g. Magisk defines u:r:magisk:s0. After that it's possible to run a script directly as init service or from init.d-like directory.
For details see How to run an executable on boot and keep it running?

Simple way (working):

Prepare your post-boot commands in a script, say /system/xbin/post-boot (set exec perm)

Add the above custom script path at the end of /system/etc/init.qcom.post_boot.sh, e.g.
# echo /system/xbin/post-boot >> /system/etc/init.qcom.post_boot.sh

Done!
(If you can't find the qcom.post_boot.sh (Qualcomm devices), look for any post_boot scripts)

This ROOT method works for 4.1.1 Jellybean, and would probably work for other versions as well.  There is a fantastic app called init.d scripts support by RYO Software (com.ryosoftware.initd).  Make sure you have 'Try to acquire root privileges' checked.  Permissions for startup script are 0055, ownership system.sdcard_rw.  Permissions/Ownership of startup script can probably be left to defaults.
If you try to run your script indefinitely in your main script, it won't work.  But there is a way to do it:
Put this somewhere in your main startup script:
sh /data/BackgroundScript.sh &

Then make sure permissions and ownership are right:
chmod 0755 /data/BackgroundScript.sh
chown root.root /data/BackgroundScript.sh

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


text:
Application to batch-move all applications to SD card?
I'm looking for an app that will allow me to move most (if not all) of my applications to the SD card really easily. The actual Android application manager takes too much work to go to each application and manually move it.

Are you looking for a method that will determine whether the app supports being moved to the SD card?

No, preferably an app that simply moves a filtered list of applications to the SD card and keeps everything on the SD card as much as is possible.

Take a look at SD Move and SD Watch. They don't automate the process for you (I don't think automation is possible), but SD Move will give you a color coded list of what applications you can move over, and SD Watch will alert you when you install a new app whether or not it can be moved to the SD card.

They're what I use and I like them. SD Watch is especially useful because it alerts you on install if the app can be moved, and I install (and uninstall) a lot of apps.

You can use the pm command (via the debugger or a terminal app) to move packages around. I don’t know whether or not this needs root access.
$ pm list packages -f
package:/mnt/asec/cx.hell.android.pdfview-1/pkg.apk=cx.hell.android.pdfview
package:/data/app/uk.co.nickfines.RealCalc-1.apk=uk.co.nickfines.RealCalc
package:/mnt/asec/com.google.android.apps.androidify-1/pkg.apk=com.google.android.apps.androidify
package:/system/app/GoogleContactsSyncAdapter.apk=com.google.android.syncadapters.contacts
package:/data/app/com.isecpartners.android.manifestexplorer-1.apk=com.isecpartners.android.manifestexplorer
package:/system/app/GoogleBackupTransport.apk=com.google.android.backup
package:/data/app/org.fdroid.fdroid-1.apk=org.fdroid.fdroid
...etc...

Those packages which start with /data/app are candidates to be moved. Use
pm install -r -s /data/app/org.fdroid.fdroid-1.apk

which will reinstall it on the SD card (preserving the data). You could script this.
If an app does not want to move, use
pm setInstallLocation 2

to force it, but be warned that this can disable widgets and notifications for apps that aren’t expecting it, and that you should set it back to 0 unless you want every future app to go on the SD card.

Helpful for sure, I could write a script to run on boot which would move a filtered list of applications to the SD card if they aren't there already.

Very helpful, thanks! One question: I've got something like package:/data/app/turbo.client-1/base.apk=turbo.client; to move it, do I pm install -r -s /data/app/turbo.client-1/base.apk or something else?

App2SD both notifies you when apps can be moved to the SD card, and provide an interface to do so.
Also there is a way to refine app2sd to allow more apps to move to SD card instructions here -
http://www.bongizmo.com/blog/moving-all-android-apps-to-sdcard-apps2sd-froyo/
I was able to follow except that it didn't indicate precisely what to enter in terminal, so I got stuck there - if anyone can advise on what should be typed in, would be helpful.

AppAdmin
The screenshots don't show the "Move" option if you Google it.
It's useful for backups and restores too. A great piece of kit

authors: მამუკა ჯიბლაძე


text:
Can gmail notifications be customized by label?
I have filters configured on my gmail account to add labels to incoming messages based on sender, subject, etc.   I'd like to configure the default gmail client to apply different notifications based on these labels.  This post suggests setting up multiple gmail accounts, but that would quickly become unworkable, IMO.   I've tried to change the notification settings while in a label view, and long-pressing on the label name in the label list screen, but neither leads to the desired result.   I'm hoping there's something I've missed...

By "tags" do you mean "labels"?  And I am pretty sure this can't be done with the GMail app.

One thing you CAN do is put a shortcut to a particular Gmail label on your homescreen. That'd make it easy to jump in to a particular label quickly.

Do you need the notification to specifically identify the label of the email that you receive or do you just have some labels that are a higher priority and only want to know when any email bearing any of those important labels comes in?  If you are looking for the latter, I have a suggestion, if you need the former, I do not.

@matthew read - I did mean labels.  @matt - I want to have a small number of labels use a different ringtone (or none in one case).

I just happened upon the GMail Label Notifier app.  I think this will do exactly what you want.

It looks like it's working pretty well.  Accepting this answer instead of the other.   In addition to customized sound and LED color, it creates a notification that takes you straight to that label in your inbox.

This has recently become a feature in the native GMail app.

Thanks Paul.    I've retired GMail Label Notifier since this update (Version 2.3.5).

No, not in the native Gmail App.

Hopefully they'll add this at some point.

Take a look at the other answer I left, I think that'll work.

Yes they can!
Open GMail App
Settings
Select Account
Manage Labels
Select Label
Select "Sync Messages"
Customize!


text:
G2/Froyo - Settings Quick Keys - How to set to "Wireless & Networks"
When I configure my G2's "Quick Keys", I cannot set it to anything in "Settings > Wireless & Networks", except the main "WiFi settings" panel.
Ideally I would want quick keys assigned to "Tethering & portable hotspot", that would allow me to turn on data-forwarding quickly.
For the time being, I also need easy access to "Mobile network Settings", because I need to turn "Use only 2G networks" on and off, because I happen to be one of the lucky people that hit the data throttle, and cannot make voice calls when it is busy during the day.

Instead of using Quick Keys, you may be able to get widgets that will allow you to change these settings just as easily.

Can you make a suggestion? Day two of having to set my 2G-only flag is painful. Use data. Switch. Use voice. Switch. Is this what life is like on the Verizon network?

The best way I have found to do this is using an app called Any Cut.
Any Cut allows you to launch just about anything, follow these steps for the two that you mentioned (Tethering settings and Mobile Networks)

Install Any Cut
Pick a Quick Key to set (tap the key if unset currently or Home->Menu->Settings->Quick keys->[select a key])
Under More, tap Any Cut
Tap Activity
Select the activity you want to launch (Network Settings for Mobile Networks and the 2G/3G switch or Settings --the 7th Settings -- for Tethering & portable hotspot)

Thanks to [Jeff Hamilton] for developing Any Cut (and releasing it for free) and also to [pikipirs] of XDA-Developers for pointing out which settings option to use for tethering


text:
SSH internet through Connect bot
Is it possible to forward all traffic from internet app over connect bot forwarded port?

It sure is possible if the app you want to send through the tunnel allows you to specify the host and port to connect to.
e.g. if you use a remote desktop client you could use connectbot to ssh into your home server, set up a tunnel on the appropriate port, and then use the rdp client to connect to localhost in order to use that tunnel.
Cyanogenmod does have a proxy setting available under Settings > Wireless & Network > Proxy Settings. So if you were to run a proxy server on your target computer, you could indeed set it up to proxy through the tunnel.
So let's say I've got an ssh server at example.com. Internally I installed Squidcache (a proxy server) on 192.168.0.101.
In connectbot I'd set up a tunnel like this:
Nickname: HTTP Proxy
Type: Local
Source Port: 3128
Destination: 192.168.0.101:3128

Then in cyanogenmod's proxy settings I'd set it up like this:
Hostname: localhost
Port: 3128
Enable Proxy on wifi: Yes (Or no, whatever you prefer)


text:
How to filter 3G traffic
Are there a way to block all 3G traffic for specified apps?

Not without root.  Beyond that I suspect it would have to be a system-level change, not an app.

What about blocking all internet access for an app?

If you have a rooted device you can filter which specific apps can access the 3G connection with DroidWall.

That's what I am looking for. :) Thank you, Matt

You can block all 3G usage by going to SETTINGS > WIRELESS & NETWORKS > MOBILE NETWORKS and then clciking USE ONLY 2G Networks to disable 3G usage.
There are also lots of widgets available that will allow you toggle between 2G / 3G usage.

Onavo will let you do this, and it doesn't require your device to be rooted:
"Data hog blocking: Restrict specific apps to Wi-Fi, or block your 3G data altogether once you exceed your data cap to avoid any additional costs"
note that it's only free for a limited time (http://www.onavo.com/help).


text:
How can I reduce latency while tethering?
When tethering with PDAnet (the free version), using a stock moto-Droid 1 on Verizon, I am getting between 1k-3k ms latency on World of Warcraft. I would like to know what is the likeliest culprit, and am wondering what steps (and how) I can take to reduce the latency.
Some ideas:

Change tethering app? (Note, I have a limited use and purchasing a $30 app for tethering isn't really an option)
Root/ROM and change from stock? (running 2.2.1: FRG83D)
Get a latency targeting app for my phone/laptop?

Your latency is most likely caused by your phone's signal/carrier. I'm doubtful that changing to a different tethering app would help.

I agree with Bryan.  Cell networks have much more delay than cable internet.

@Bry I was afraid of that. I would add an option above for changing carriers, but there are way too many localized variables for any kind of answer to help. Maybe someone can make some incremental recommendations.

I wouldn't ever use something as latency-sensitive and data intensive as WoW over tethered 3G.

@Al Ev oh it's good times. the character does something that normally take 2.5 seconds, and the action goes on for 15. good times.

Agreed with @al. I sometimes have difficult just browsing websites with tethering due to latency, even on 3g.  It works, sure, but it isn't the fastest way.

It will be the same no matter which carrier you use.  They're just not built for low-latency response.

Well, whoever want to write to most comprehensive answer on why this problem has no solution, per se, gets the checkmark. :)

The likeliest culprit for your high latency is first and foremost the fact that you're using a wireless carrier's network, which are notorious for their high ping times.  Switching from one carrier to another probably wouldn't solve your problem, and even if you went from a 3G contract to 4G you probably wouldn't see that much of an improvement, especially as more and more people start buying 4G capable devices.
Additionally trying to do something as data-intensive as play World of Warcraft over your cell carrier's network is never going to feel right.  Games like that rely heavily on low response times and are best left for wired broadband connections.


text:
How does Android handle tablet specific apps and how do you distinguish these apps?
How does Android handle tablet specific apps and how do you distinguish these apps?
I know there are Android apps that only work on Tablet devices (they say there are currently 16) and wont work on phones. There is a similar relationship between the iPad and iPhone but in the iTunes app store there are distinct iPad and iPhone tabs.  There doesn't appear to be the same type of distinction in the Android Market that will allow me to browse Tablet specific apps.

This is subjective (unless the designers of the apps answer) and far too broad.  List questions are generally discouraged.  Please see the FAQ and http://meta.android.stackexchange.com/questions/355/how-can-i-modify-my-question-to-get-it-wiki-approved

I think there is legitimate confusion about the distinction between tablet apps and regular apps and how the Marketplace handles them.  I made some pretty drastic edits to the question to make it less subjective and to reflect that confusion which I believe the OP may have.

http://stackoverflow.com/questions/4002857/can-the-same-android-app-be-used-for-mobile-phones-tablets-and-google-tv is a duplicate question, but from a developers perspective.

At this time there are no distinctions in the Market for browsing Tablet specific apps, and actually there is no real Tablet specific distinction in general, it's a device specific destinction.
Android has a distinction for "Protected Apps."  These are apps that the developer has specified certain required device specific criteria.  For example Adobe Flash has different versions of their app for different devices.  If you have a Droid X, you'll see the specific version of the Flash app in the market which is different from the one that appears in the market for the Nexus 1, and if you have device that's not on the developers list of approved devices you won't see the app at all.
I have an Archos Tablet.  The NY Times has a "Tablet App" but since my Tablet isn't a supported device, I don't see it in my Market.
These protected apps are mostly about Resolution, Processor type or Android OS version so apps cant be loaded on a device which couldn't support the resolution, or doesn't have the correct processor technology.  In many cases if you are able to sideload the app, it'll work just fine but other times they do not.  I download a lot of Protected apps on my Droid then transfer them to my Archos and they work great.  Adobe Flash however force closes because it was designed for the Droid's processor and for good reason isn't available for my Archos.  That doesn't mean another devices version of the Flash app won't work but this illustrates the problem of cross device compatibility.

The NY Times Tablet app is no more available on Play store. I think it has been upgraded to support both mobile and tablet device in a single app NYTimes – Latest News

Very good question. I'll try to give the complete story here. I'm a developer myself so I might get a little technical now and then, but only that will show you the true reasons behind all of this.
Baseline: There is no distinction between "phone apps" and "tablet apps" in the Market.
A bit of history first: Android was meant for phones (let's say a G1). It was a scope thing. Then it started to support different screen sizes and different screen densities for these phones (like the Nexus One, at the time of Android 1.6 Donut). If you want to know why I'm not using "screen resolution", then read this. Finally there was a market for other devices, like TV's and tablets with different needs and extra large screens. TV's aren't different from the phones in that they just show the same screen image, only enlarged since you sit further. Tablets however almost require a different form of interaction and have extra large screens combined WITH high screen densities, as do computer screens. True support for these tablets only came with the last version currently available, Android 3.0 Honeycomb. The only well-known exception being the Samsung Galaxy Tab which uses a different trick, just like the TV's actually, which I won't go into right now.
Transparency: The idea is that every app should be able to run on any Android device, if only the developer stays within reasonable boundaries, as defined by the platform API. This really is obvious for developers, and hence there is no good reason to cross the line here, but some still do, which makes for a small percentage of apps working really badly in general, or working really badly in any configuration but the specific one they were built for. This is a shame because these different configurations are really commonplace nowadays. Then again there are criminals in every society so let's keep these out. Next, there are several levels of support for tablets, you could say:

Apps that were built but never adapted for any of the above story. Let's say these are version 1.5 apps that haven't been touched since. For this Android uses a compatibility mode. If the screen density is different than what the app was intended for, and the default used to be medium, than the app is being rendered scaled, either smaller or bigger. The whole picture here is being enlarged or shrunk basically. Tablets have the same medium density so they won't show any of this. If the screen size is different, and it is extra large for tablets, than a black border, like what you know from your widescreen TV, is being added. Would the screen be smaller than intended, than the app is filtered out via the market for that device, because there simply is no compatible way of properly displaying this app and have it work well enough. Plenty of caveats, but it works well. Still, you could call these app developers pretty bad, because the effort to at least get a typical app out of this compatibility mode is fairly small, as long as its developer used native widgets and didn't do too much fancy stuff. You can compare this btw to the way iPhone apps are displayed enlarged (switchable) on an iPad, when they are not adapted.
A step up are apps that have information incorporated about which screen parameters they support. As the first of this was introduced in 1.6, this is still very much in the context of phones, but anyway still applies to tablets as well. What these apps will do, or rather, let the platform do for them considering they used the proper advised techniques, is scale their content. Now I'm not talking about scaling up the image in pixels. What it means is that if the app used to display 5 items on a regular screen, they will now display 10 or more items in the same view on a larger screen. As an added effect, all the controls, such as buttons, and the font size, stay more or less the same between all these devices. This is very much intentionally since we are using finger touch to operate them. If a button would become smaller, your finger might be to big for it; it would be awkward. The perk for tablets is that they display more information. I personally already call this very much tablet compatible, and if so, there are way more than 16 or 100 apps working on tablets, if not the bigger part of all the available apps. Don't let the marketing fool you. Do these apps make use of some of the new ways of interaction that comes with tablets? No they don't. So are they "designed for tablets"? Eh well, ..., it depends on the app. Many show up near-perfect regardless. Some devs include specific artwork for all the configurations (this is advised) so that everything looks nice and sharp. Some devs even test on all configurations :-) (which is also recommended). But the next category of apps really is designed for tablets:
These are apps designed specifically also with tablets in mind. They make use of some newer API parts that allow them to better fit in and to allow them to display multiple sets of information next to eachother. Android/Honeycomb doesn't have windows that you can drag around, but instead has parts of a screen that display each their own stuff, called "Fragments". Note that this level of abstraction is below what Android used to have, a single "Activity", whereas on a desktop computer, the "window" concept is sort-of supra-application, an added level on top of what we used to have on old DOS computers. The need to display even more information than what I mentioned in paragraph 2, comes from the fact that there are a lot of one-dimensional lists in Android apps of course. In 2 these would extend by adding new items in the length, but in width they would just fill the screen. Add to that that tablets are preferably held in landscape mode, and these lists with very wide items would just be unfortunate. Hence the idea to display multiple lists next to eachother, and make it possible to slide them in and out, etc. I.e. make use of the free extra screen space. The same rationale is behind controls moving into the screen space, the menu being integrated into the top bar, and notifications getting more screen space in the bottom bar, all things these apps can support on top of what they supported on phones. There are however forcibly no apps that ONLY work on a tablet. There is also no per-device filtering in the Market currently, only a filtering based on these rough specs and parameters we have been discussing. The recommendation is to add this support on top of supporting phones, and it is perfectly possible to do this in the same app. There is however a somewhat exceptional situation in that Android 3.0 Honeycomb is currently not released for phones, only for tablets. But it has been confirmed that in the future these two forks will likely merge again, and the reason for the fork has been an organizational one rather than a conceptual one, where one group focused on getting tablets, whereas another kept working to improve Android for phones to bridge this long time period. Though I have to admit, personally, I see this step up to full tablet support as the biggest change in Android yet. No way you could say this doesn't take any effort, or doesn't induce some mild headaches, such as maintaining backwards compatibility. Can't blame Android, it is exactly what it only could have been, but it is non-trivial nonetheless. So please bear with us, users! Things are always very much in motion.

So, to get back to the original question. How to distinguish these in the Market? In short: you can't. The Market has advanced filtering capabilities, but since nearly all apps can run in some compatibility mode or another they will show up on your tablet. The mindset behind the Android Market, from Google's point of view, as well as the OHA, has always been to interfere as little as possible and have it open. Since the intent is to build a community and ecosystem, I guess they meant to rely on news sites a la AndroidGuys to do some filtering for you, by reviewing and testing apps and rating them. That's where you should look for now.
One more thing: Now, why does Apple do have this kind of differentiation? There's a simple reason for that! If you objectively look at iOS devices, then you'll notice there are only a few screen resolutions. I believe 2 between the iPhones, and 1 for the iPads. While the Android platform now truly supports the full scale of screens - you could throw any resolution at it and it'd work perfectly - , iOS can't. That's why the new iPad 2 did not get a slightly bigger resolution. It'd basically trigger a totally new category in the App Store, as well as a rewrite of any app, to make it run in anything but compatibility mode. Guess I don't need to explain how much that sucks from both a user and developer perspective?
To summarize: as usual, the Android story, as is probably the real situation, is a bit more complex, but you get served well in the end.
Full reference: http://developer.android.com/guide/practices/screens_support.html
Expiration date: 2012-03-07

I think if your looking for a place to find tablet specific apps and not have to sift through the Android market then you should check out the Playstore app Tablified Tablet Market. For now, it can be the Tablet section that the market is missing. Hope this helps.


text:
Root N1 and keep the official ROM
Is it possible root my N1 with 2.3.3 without flashing custom ROM?

Yes.  According to this XDA thread, you can unlock the bootloader with fastboot and then flash only a custom recovery.  The custom recovery will allow you to put su on your device.
You could also flash a stock 2.3.3 ROM that has been altered slightly (i.e., pre-rooted).  For example, this one over at XDA.


text:
What system app stores the cellular network settings?
Before installing a new ROM, I backed up all data from my system apps using Titanium.  I installed the new ROM, and also put in a new SIM card from a different network (so it was in on first boot-up of the new ROM).  Everything worked great on the new network, until I restored my backups.  The settings for the network (matching the current SIM) were overwritten by the settings for the old network (matching the previous SIM), and data completely stopped working.
My question is, what app stores the data network settings?  If I know then I can restore data for everthing except that app (or apps) and not need to start from scratch if I change SIMs again.  Additionally, is there any way I can trigger the phone to go "Oh look, the settings don't match this SIM, how 'bout we update the settings?"
I have a Samsung Galaxy S Vibrant running Froyo (Bionix v1.3 with TouchWiz).

I have a closely related issue - migrating from Project Fi to Sprint, only 3G is available - LTE only becomes available after a factory reset. However, if I restore the data partition using TWRP, LTE goes away again and only 3G is available. Unfortunately, no luck/improvement wiping SMS/MMS/APN storage...

[SMS/MMS/APN] Dialer Storage 2.2.

I would think that the following would probably be likely candidates:

TelephonyProvider
SettingsProvider (maybe)

Does the data network work if you reboot?
What if you restore with the "old sim", then put in the new sim?

Here are a couple other candidates that I see in my Titanium: Settings Storage 2.2,[SMS/MMS/APN] Dialer Storage 2.2, Onetime initializer.  I have a Motorola on a CDMA network so you may not even have these.

Hmm.  I'll make a backup and start experimenting with these apps and my SIMs.  (Ryan: No, it doesn't work if I reboot).


text:
Install .apk on android phone

Possible Duplicate:
How can I install an app given only its APK file?

First, as I understand, if I do not have the SD card slot on Android phone (e.g. Samsung Nexus S), the only way that I can install the .apk file is to either download from Android Market or use the SDK (description is e.g. here http://www.talkandroid.com/guides/install-apk-files-on-android/) and the USB cable (With SD card I'm copying the .apk to SD card and then I'm using the ASTRO file manager).
Installation by sending .apk file over Bluetooth (like it is done on Symbian) is not possible, I guess - at least I was not able to send an .apk on any Android phone (the Bluetooth transfer was always rejected by the phone).
How can I install an .apk file on an Android Phone which does not have a SD card slot?

You can also place an .apk file on a web server and then using the built-in web browser on your android phone, navigate to that URL which will cause the browser to download the apk file. You will then have the ability in the downloads window to click on the downloaded apk file which Android will then try to install.
I forgot to mention to make sure the content-type is:
Content-Type: application/vnd.android.package-archive

Make sure under Settings > Applications the "Unknown sources" box is checked or you won't be able to install it

I don't have a Nexus S, but I'm sure that the internal storage has a publicly accessible folder. Where does the browser save files to? Put an APK on a website, download it with a browser, and then open it. That will do the trick.
Same thing with Bluetooth. Store the APK somewhere (in the same path, or create a path and chmod 777 it), and then use something like OI File Manager to open it.
Btw, check Environment.getExternalStorageDirectory() and related methods for a path to store data in.

The Nexus S saves external storage in \sdcard, and the browser saves to \sdcard\download

I have a Windows 7 64-bit laptop and a Samsung Spica running v2.1 Eclair. I've paired the phone with the laptop and frequently transfer APKs via bluetooth to the phone. Especially when my cable isn't nearby.
The APK is placed in the /sdcard/bluetooth folder and I can then install it using a File Manager of choice like Astro / Root Explorer etc.
This may be new behaviour that is being displayed.

Probably .apk files are not allowed to transfer over bluetooth (not sure)
but you can change the extension from .apk to some other format and after transfering again change it back to .apk - work around solution


text:
Google Books in Android emulator
Has somebody been able to run Google Books in the emulator?
I've installed this app, but when I run it, the only thing I get is a "Google Accounts" - "0 accounts" banner, with the rest of the screen in black.
I've configured the e-mail in the "device" with a Google account, and it works sending and retrieving messages.
I really hope this is a noob question with a really simple answer. For the moment, I don't know what the Books app is expecting or where's it looking for that Google account.
Thanks! =)

In Accounts and sync there should be a list of More accounts, of which Google is an option.  Does anyone know if it's different on the simulator?

You would need to configure the account information in Settings -> Accounts and Sync. That is where the "Google Account" needs to reside.


text:
Do I need to reboot my HTC Desire periodically?
I've had my HTC Desire for a couple of months now and it is awesome! (A huge improvement to my previous phone... Nokia 3315)
Though recently, I've realised that the phone semi-freezes more and more often - ie. when swiping between homescreens it will either pause/freeze and I will have to re-swipe to get it to change screens. Or worse, it just won't respond to any further swipes and I have to lock the screen then unlock to get the phone back into action.
Got quite annoyed at this (was probably happening once or twice a day) so I thought it might help to turn it off and on again. So I did - not sure if it was a placebo effect but it seems to have helped a bit?
So given that this is my first smartphone, I was wondering if it is 'normal' to need to restart the phone every so often. If so, how often is 'normal'? If not, what can I do to diagnose/fix this problem?

every computer needs a soft reset? Yeah, after a kernel update one needs to reboot (which is why and when I reboot mine 3-4 times a year). Kernel updates rarely happen to Android devices... "If it ain't broken, don't fix it" :)

This was me about three years ago saying this. I've learned a bit more since then at least. Agree with the motto!

In my experience, for some devices, it helps to reboot the device about once a week.  I don't know the exact technical implications of this but rebooting seems to free up the device in some way and make it respond quicker.  This will not always be the case though, right now on my EVO i'm at 391 hours (16 days) of uptime and I don't notice any freezing or slowness.  On my Hero I would though so I rebooted every-so-often.  If you haven't already you may want to look into rooting and flash a custom-rom on your phone as usually that will give you better performance and battery-life.  I have found this to be true since with both my Android devices and my previous Windows Mobile phones.
And while I don't recommend it, you can look into ATK for Android or some other task killer and see if this helps.  You can make your own decision if you want to use a task killer - some people think they're great while others think they don't help.
Edit - I went to find some links both for and against task killers and mostly I found against.  Here are two that lean against them but also talk about ways to use them.
http://lifehacker.com/#!5650894
http://www.androidcentral.com/how-properly-set-and-use-task-killer-oh-yes-i-went-there

I have had a similar problem but I also had my desire rebooting itself when using google maps. I spoke to vodafone who said return the device to us and we'll fix it, well I did and all they did was reflash it...total waste of time. Anyway ity started rebooting on its own again so I contacted HTC who were very helpful and said that on some desire handsets the motherboard was faulty and I need to send it to them for them to change the motherboard. I did this and 8 days later received my phone back and I have tested it with maps and all the app killer software and my phone works perfect. I say if you have any problems with any HTC contact them directly and they will sort it for you.

interesting, I haven't actually had my phone reboot itself unexpectedly while using an app. The only times it's rebooted itself was when updating an app from the market (the same app btw)... and I'm thinking that might be just because that app required a force restart?

When should I reboot?
If you notice any of the following, it is probably time for a reboot:

It takes a long time for an app to launch
A system service keep crashing
It takes a long time to switch in between activities (i.e. pressing the back button)
It takes a long time for the lock screen to appear after pressing the power button

A lot of people almost never reboot their phones (once a couple of months) and they function perfectly. Most of those people are not serious android users though, they pretty much just use it as a phone (calling/texting) and thats about it. If you are a more serious user that plays a lot of games or likes to use a ton of apps then you will need to reboot more often, perhaps once every week or every couple of days.
If you have a newer device you also don't need to reboot it as much because it probably has a faster processor and more RAM so it can handle a larger load for longer. Older devices need to be rebooted a lot more than newer devices.
Why does my device slow down?
Your device slows down because the processor is busy doing work it doesn't need to do. After a while, processes running in the background (services) start to pile up. Android is pretty efficient about knowing when to keep services and activities alive. in the older builds of Android, the system is a little bit more lenient about what it keeps running. In theory it isn't really bad to have a ton of Apps running at once because Android pauses all of the Apps that are in the background. Now, what stinker developers do is they have their app start up a bunch of services when their app starts up. This is really bad because the services will keep running even after the app is no longer visible.
Android is pretty picky about it's memory. Android wants to have it's memory as close to full as possible. Android is pretty efficient at cleaning up memory leaks created by processes, so you really don't need to be worrying about your memory usage especially on newer devices. Most people think that when their memory is full, it's a bad thing. That is totally wrong and I will show you why.
If you know a little bit about electronics, you should know that RAM is basically just a massive array of bytes. The processor needs to run an instruction to load a byte into a section of the array. When the processor runs instruction, it takes power (in this case battery power). When the RAM is almost full it doesn't really hurt the battery; you want it to be almost full because the system doesn't want to keep pushing bytes into the register, it wants to work with what it has. When you destroy all of your apps that were just running, Android automatically clears the memory that those applications were hogging. Then the Android system goes "oh, where did my Sync Service just go? Better start it up again!" Then your device has to reload all of the RAM that you just cleared. This takes a lot of power and drains your battery. So you might kill a couple of services that were CPU hoggers but you are killing a lot of services that Android was actually managing efficiently.
Myths about 'Memory Boosters'

Ha! Take that system apps that were running in the background, thank you App Killer for freeing up all of that memory for me!

When I hear this I go just about nuts, and so does every else on this site. Do not constantly use an App Killer to kill all of your idle processes! What you should really be saying is this:

Ha! Take that battery! Have fun loading all of those services up again from scratch!

Now, there is a way to use "App Killers" effectively. You should only use them to kill background services that have gone rouge (eating up massive amounts of CPU). This happens more often on older devices.
Unless you have a reason why you don't want to reboot your phone when it is being slow, I would reboot it instead of running an App Killer. Rebooting does eat up a little bit of battery as well, but it will most defiantly kill any service that could have been hogging your CPU.

Friends don't let friends use App Killers.

My device is still slow after reboot, help?
If your device is still slow after reboot, then you should go through your apps and delete the ones you don't need. A lot of those apps are probably starting background services and slowing your device down.

If anything needs to be added, or if anything here is inaccurate feel free to edit. Constructive editing is welcome.

Thanks for the fantastic answer. I knew a few of those kernels of info but how Android works with memory was a bit past me. Need to do some actual reading on the OS it seems. At least it appears I can keep my device running for a while.

Do not try to defragment an SD card Yeah. What makes that storage type different from "internal SDCard" and "internal storage"? Both are types of FLASH storage. // Comprehensive answer beside that -- only that the OP did solely ask for reboot, not about "memory boosters" and "task killers" (but it looks like he's thankful for those details, though :) For the "device getting slow": My device is getting slow, apps start misbehaving/crashing. What can I do?


text:
Merge Skype and Gmail contacts
I recently installed Skype on my phone, and so all of my Skype contacts are added to the full list of contacts in my phone. However, most of these contacts are redundant. A few of the redundancies were automatically detected by Skype, and so the two versions of the contact are merged together.
But many weren't, and I need to way to manually do that. Right now, I have many contacts that show up double on my contacts list (once for gmail+phone info, and once for skype info). I've been poking around but I can't find a way to manually merge these two contacts. Skype contacts don't show up at my desktop Gmail contacts list. Is there a way to do this?

I'm not positive when it was added, but if you open one of the duplicate contacts and edit it, you can press Menu>Join to collapse two entries into one.


text:
What does Settings->Privacy Settings->Back up my data do?
I'm Running 2.3 Gingerbread.
There is a setting
Settings->Privacy Settings->Back up my data
If checked, what data does this back up?
Where is it backed up?
How do I restore it?

possible duplicate of What info does Google backup?

This setting backs your data up to Google's magic cloud. It includes what apps you have installed, and some apps' settings (if they are written to take advantage of it) which are restored when you first sign in to a new phone.
Relevant quote from the Android 2.3 user guide, pg 18:

You can choose to back up some of your
  data, such as your bookmarks, your
  user dictionary, your Wi-Fi passwords,
  and many other settings, to your
  Google Account, on Google servers.
  Some third-party applications may also
  take advantage of this feature. That
  way, when you need to replace your
  phone (when you upgrade or replace a
  lost phone), or if you reinstall an
  application, you can restore your
  settings and other data. For
  information about changing this
  setting later, see “Privacy settings”
  on page 370.

That setting controls apps' ability to use this API, which includes Google's apps such as Market.


text:
What country is my Motorola MILESTONE from? Can I install a Froyo update from Motorola Droid on it?
I bought it at Amazon.com, and had it delivered to a friend's house in Massachusetts. I flew to the US, visit my friend, did some tourism, and brought the phone back with me to Brazil, where I put in my GSM chip and it works just fine. Here is the phone info:

Model number: Milestone
Firmware version: 2.1-update1
Firmware configuration version: GAS_EMEA_USASHLS00RTINT_P012

The box says: SM,A853,TR,RETAIL,LICBRZ
So, I should be waiting for an update for what? Europe, like it says in this thread? Or Latin America? Or can I get 2.2 safely from somewhere else? The software looks pretty American to me. What if I follow the instructions from this site? Do I risk bricking my phone?

The Motorola update software will recognize the correct origin, so you could always try to get the official Froyo upgrade.
Click around on this page to get instructions: http://www.motorola.com/staticfiles/Support/GB-EN/froyo/milestonenotification.htm

First of all: Motorola Droid and Motorola Milestone are two different phones, although they look the same. The XT720 (aka Motoroi or Sholes Tablet) is another phone from the Milestone family, but without a keyboard.
The Software is NOT compatible, flashing a SBF file for the wrong phone will result in a bricked device. If you flash a custom ROM via an update.zip or nandroid image, you won't get past the Motorola-Logo on boot, but it's still possible to flash the right ROM.

Model number: Milestone Firmware
version: 2.1-update1 Firmware
configuration version: GAS_EMEA_USASHLS00RTINT_P012

The box says: SM,A853,TR,RETAIL,LICBRZ

This is indicating you got the standard Milestone, the A853, with the South-East Asia firmware (RTINT). You can flash every Milestone (A853) RO, but it's possible, that 3G won't work due to different frequencies.
I think, a Brazil ROM (Vivo?!) was leaked some time ago, but there's no official release yet.
Custom ROMs:
Edgard Castro maintains a Brazilian AOSP ROM (http://code.google.com/p/shadowmodbr/) and there is an unofficial version of the CyanogenMod 7 (2.3.3, Gingerbread). More info here: http://forum.xda-developers.com/forumdisplay.php?f=670

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


text:
Does the operating system matter when syncing?
I'm going to buy a mobile phone with android and I have use linux as operating system on my desktop computers and laptop, as android is based on linux I could hope the compatibility with linux should be okay.
I've been distant from the mobile phone industry for some time, but I've seen that some phones use their own software, does android use an platform-dependant application to communicate with the phone?

Android doesn't natively use any software to sync or perform syncs with your computer.  It syncs with your Google Account services in the cloud.  You can sync certain things with your computer in different ways and it all depends on what and how you are trying to sync, but generally, Linux machines work just fine with Android.
If you want more detailed answers try being more specific about what you want to do (sync your contacts with Thunderbird, or sync you music...).

can you give me some examples of common tasks?.. as sync contacts from thunderbird or sync music

@Vicfred If you have a specific question, please ask it, but StackExchange isn't meant for listing off random possibilities.

@Vicfred: That is a very open ended question.  I will say that you don't ever have to sync anything to your computer.  I use my computer and Droid very frequently but I never sync them because my Droid syncs everything I need with Google and then I can assess this stuff (Docs, Calendar, Email, Contacts, Reader...) all from Google.com when I'm on my computer.


text:
Does logcat dump debug logs while it isn't expressly running?
my android device reboots itself automatically sometimes,so i need to get a way to debug whats causing that.
i know about logcat,but what about the debug msgs when logcat isnt running,does logcat gives a dump of logs that android device would be generating while those were not being accessed through logcat?
generally this happens when ur device reboots unexpectedly,and the cause is unknown so that one could replicate it.
how to know of whats causing those reboots.. or anything that happens while logcat isnt running?
Any thoughts?

Logs are written even when logcat is not connected, although I believe the logs are limited to a certain maximum size. They are, however, cleared on reboot. You can try using an app such as aLogCat to persist the logs to files, and hope it can catch whatever is misbehaving "in the act".

actually i was using alogcat app. but once my device restarted and upon reboot i quickly restarted alogcat,i saw some red text for fatal error regarding some sql thing.. later i checked the log texts that i set up to auto save.. they didnt had the sql error.. so there is something wrong with that app..


text:
How to Uninstall HTC Applications/Widgets

Possible Duplicate:
How to remove pre-installed apps like Peep and Friend Stream from my HTC phone?
How can I uninstall applications that are locked by phone vendor?

I've just treated myself to an HTC Desire HD. I now want to get rid of quite a lot of the bloat that comes pre-installed. E.g. things like HTC's 'Stocks' widget which isn't visible on the Market and doesn't have an Uninstall option on the handsets Application Manager.
My googling around has lead me to the conclusion that to do this I'll need to root my phone and consequently invalidate my UK warranty. Is this correct or is there another way?
Thanks.

Yes, you will have to root and invalidate your warranty to remove these apps.  Most of the time however you can "un-root" and no one will be the wiser.

Thanks. Can you recommend a safe (or as safe as is possible) tool/methodology/process?

Unfortunately I am not familiar with the Desire HD, but the guides on XDA (such as this one) are generally reliable.  There isn't a true unroot, you apparently have to re-flash a stock ROM (they are here), but that's actually better as it will be exactly what the manufacturer/carrier wants.

You can also attempt to go directly to Settings>Applications>Manage Applications and see if you can uninstall from there. If not, those HTC things you mention are baked into the OS version they are using, so you won't be able to uninstall it without (possibly) rooting or even installing a community version such as CyanogenMod.

Thanks for your response - I have tried going thru Manage Applications with no success - the option to uninstall is not there. I can't even seem to disable the auto-start for these HTC apps. Very annoying as they consume a lot of resources and like to go online by themselves :-(
Do you think I'll lose much by switching from what is presumably a manufacturer/device-specific version of Android to a generic/vanilla one?

Yeah, it sucks that it works the way it does, but until Google cracks down on uninstallable crapware, that's the reality. I doubt you will lose anything by using a community OS such as CyanogenMod, although it can be a scary process to install even though the risk is usually quite low. I'd check them out and see what they have to offer if you really want a clean build of Android.


text:
How to create shortcut in the homescreen for 'Favourites' tab in Dialer?
I'm using Samsung Galaxy 3 (GT-I5801). The ones listed as Dialer.favourites and contacts.starred in the 'Choose custom activity' are not working. This happens in both TouchWiz and ADWLauncher

What do you mean "not working", what happens?

nothing happens! :( The resulting icon is unusable. clicking on it invokes nothing.

If you use Dialer One as your dialer or even if you install it but use the default stock dialer app, you can get to the Favorites screen by long pressing a blank area of the homescreen, and from the SHORTCUTS menu, choosing FAVORITES.

It works like a charm. It is better than stock dialer in many other ways too. Thanks for suggesting it. :-)

I use Launcher pro as my Default homescreen and I can have a favorite contacts shortcut by doing the following steps:
1.Press the menu button and select the Shortcuts option
2.Then select the Activites option
3.Then select Contacts-->Phone
4.Give it a name
5.There must be a Favorites Shortcut


text:
how to copy android home shortcuts from one device to another?
I have 2 Android (2.2) Galaxy Tab mini tablets with android 2.2 I am setting them up for show presentations.
I put on both of them a directory filled with content. The directory is identical in both devices.
On one I set up many home screen shortcuts to the files in that directory.
How do i COPY all the short cuts from one device to the other ? Where are these shortcuts physically located ? in some kind of home application settings file ? where is it on the file system ?

Perhaps you could use a backup program like Titanium Backup to perform a full backup of apps and data and then transfer that backup file to the second device. After this, restoring said backup on the second device should transfer stuff, IMO.
No experience in this, so YMMV.


text:
How can I switch on my laptop's camera from my android device?
I is there an app wherein I can switch on my laptop camera from my andorid phone, and view the camera output on my phone. I am running windows 7 on my laptop.

Use a chat program like Skype and set it to auto answer when a particular account is the caller.

One suggestion is to install a VNC Server on the PC you wish to interact with.
You will then need to install a VNC Client on the device you wish to use as the remote control.
There are a few VNC clients listed on Google Play Store Apps.
With that you can activate other apps such as the camera.
While the camera is showing on the screen the view will stream to your remote device.
This method would also give the ability to further interact with remote environment as well.
My research has found this technique can work the other way around as well.
+1 for @Chris Navas idea for Skype as an option


text:
B&N Audiobooks on Novel
My wife has a Pandigital Novel and would like to be able to listen to audiobooks from Barnes & Noble.  The people at the Barnes & Noble store said this can only be done on a Nook.  However, since we just recently (last Fall) bought the Novel, I'm not much inclined to turn around and buy another tablet/e-reader for her if it can be avoided.
Is there any way the Novel can download/play Barnes & Noble's audiobooks?

After some googling, it appears that B&N audiobooks are in MP3 format with no DRM.  That means they should play on almost everything that can play audio, including the Novel.
Edit: Their FAQ says exactly that, and mentions how to download the files.

@MatthewReed - Thanks for the research.  I'll take a closer look into it the next chance I get, but apparently downloading/playing B&N's audiobooks still isn't as straightforward as that - do you have any insights as to what my wife might be doing wrong?

B&N's FAQ is pretty good and actually says audiobooks can be put on many devices http://www.barnesandnoble.com/help/cds2.asp?PID=27154&cds2Pid=8510&linkid=1636468

I have a Pandigital and DO play mp3 audiobooks on it without any issue. However, I have been borrowing them from the public library and it seems you have to got through iTunes to drag and drop them to you PDN.


text:
How do I grant su rights to the File Manager app?
I'm digging around trying to find a Angry Birds save files but File Manager is lying about what's in each folder. How can I give that app su rights? Can I launch it from the command line after typing su or something?

I'm not sure how you'd do that with the built-in file manager, but there are several file managers that will work.  I use Root Explorer, and I've heard many other recommend Astro File Manager (which has a free version, I believe).  They should work if you have the Superuser app installed (I would assume it comes with CM, but it's in the Market if not).

The only Root Explorer on the market costs $4. Is that right?

Yes, I believe so.  I've bought it because I personally can't stand Astro.

You cannot grant su to any normal file manager. The application has to "request" su. That is where applications like Root Explorer come in.
AFAIK, Astro File Manager doesn't even make use of su. If it does, some one tell me how because I like that file manager, and will use it for my "root" tasks.


text:
Is the save data for Angry Birds still there even if the app isn't?
Recently I've been playing around with the Cyanogen nightlies on my N1. Nightly cm7 1-8 were fine but then one day I lost the home button so I had to backup and then wipe and then eventually everything was fine. But after the wipe Angry Birds was gone and even after I restore I don't have Angry Birds installed. If I install it is the save data still there?
Side note, when you do a backup with one Titianium, does it backup the save data too? Is that only if you have root? How would a non-root user do a backup? And why is the save data not just a database file somewhere that is easy to backup? Is the integrity of scores at risk or something?

I believe you backed up from Recovery, correct?  If that is the case, then the backup should contain everything that was on your phone before the backup -- apps, saved games, etc.  So restoring the backup should have restored Angry Birds and its save data, as long as that was present before the backup.
Titanium can back up the app, the app's data, or both.  It does require root.  Non-root users have to deal with Recovery backups, which are not as flexible since you can't restore only bits and pieces -- it's all or nothing.  Of course, the SD card is easy to back up (plug it into a computer) and some apps may allow you to export data.
You'd have to ask Rovio why they chose not to use a database, but I'd guess it's because the save data is so simple.  If you open the file it's almost human-readable text.  Even easier to back up than a database.

I can't find the backup that I did after having to manually boot into recover. The only ones there are the same as the ones that happen when I do a backup from ROM Manager and it does them in recovery too. I've restored every backup and NONE of them have Angry Birds installed except the one from January. Almost everything I store on my phone is either on the SD card or the cloud EXCEPT Angry Birds saves.

That sucks.  But I guess the January save is better than starting from scratch.

Yeah, I have accepted my fate and now I know if I want to mess with the latest mods I need to keep good backups of Angry Birds . . . crazy I made it this long and never lost anything. Even going from 2.2 to 2.3 and I SWEAR I've wiped data before.