Wednesday, April 20, 2011

Problem uninstalling android application

From time to time I'm facing an application that refuses to uninstall using the market. Here is the procedure I'm using (if any step works - there's no need to continue):
  1. Uninstall using the Android Market application
  2. Uninstall using the settings menu from the home screen: 'Menu' -> 'Settings' -> 'Applications' -> 'Manage Applications' -> select the application & uninstall.
  3. Uninstall using a 3rd party tool, for example: ASTRO file manager (in the application click 'Menu' -> 'Tools' -> 'Application Manager/Backup' -> long click the application -> 'Uninstall')
  4. Reboot the phone and try steps 2 & 3 again.

Wednesday, April 6, 2011

Performing research on the Android Market

There are various out there that can help perform a research on Android applications.
  1. Android Market application
  2. Android Market web site - Has difference number of downloads scale. While the highest value in the Market application is >250K, in the web site there are different values: 50K-100K, 100K-500K, 500K-1M, 1M-5M, 5M-10M, 10M-50M
  3. AndroLib - Has application rating (stars) history
  4. AndroidZoom - Has application history: release dates & events (when the application passed a download group (e.g. 10K-50K, 50K-250K).
  5. AppAnnie - Market analytics (alternatives: Android App Tracker - Has application market ranking history, AndroidRanking.com - Another Android market tracking site).
If you have more interesting sites, please share.

Update Jan-2013: VisionMobile just lunched a great site for developers called Developer Economics that contain a tools atlas with all the tools that can help the developer.

Saturday, April 2, 2011

onActivityResult not called in time

I wrote a small program that needed to use a preference screen. After the preferences were updated the application needs to update. To do that I used startActivityForResult to start the preferences screen, and onActivityResult to update the application.

Problem: onActivityResult wasn't called in time. Using Toast I've noticed it was called BEFORE the preferences screen opens.

Solution: In my case - the application was defined as launchMode=singleInstance, removing this put things back to place.

Note: This is true for Android 2.3.3. I didn't check the documentation to see if it's a normal behavior or an issue.