Tuesday, 21 June 2011

Checking if an Intent handler or Activity is present

Quite often in Android you need to call a 3rd party Intent or activity.
For example, to scan a barcode using the Barcode Scanner application, or to start the "hidden" Field Test application in HTC phones.

In order to make the life of a user easier, it is a good idea to check if the Intent Receiver/Activity exists before you attempt to invoke it. Some of the reasons being:
  1. If a non-existent intent, you application will force close.
  2. If the intent receiver is not present, you might want to redirect the user to the market to download the necessary application.
  3. Depending on the existence of an intent you might want to make menu options appear/disappear.
This post contains two functions (isIntentAvailable() and isActivityAvailable())which can perform the checking and return a boolean accordingly.

Sunday, 17 April 2011

Orange UK APN Settings

I've been flashing my phone quite often recently, and some ROMs do not contain the settings for the Orange UK APNs, so I am writing them here.

For the record, they are for Pay Monthly.

APN 1: Orange Internet
  • Name: Orange Internet
  • APN: orangeinternet
  • Proxy: <Not set>
  • Port: <Not set>
  • Username: <Not set>
  • Password: <Not set>
  • Server: <Not set>
  • MMSC: <Not set>
  • MMS proxy: <Not set>
  • MMS port: <Not set>
  • MMS protocol: WAP 2.0
  • MCC: 234
  • MNC: 33
  • Authentication Type: <Not set>
  • APN type: default
APN 2: Orange MMS
  • Name: Orange MMS
  • APN: orangemms
  • Proxy: <Not set>
  • Port: <Not set>
  • Username: <Not set>
  • Password: <Not set>
  • Server: <Not set>
  • MMSC: http://mms.orange.co.uk
  • MMS proxy: 192.168.224.010
  • MMS port: 8080
  • MMS protocol: WAP 2.0
  • MCC: 234
  • MNC: 33
  • Authentication Type: <Not set>
  • APN type: mms

Tuesday, 12 April 2011

Android Wifi password locations

The other day, I realised that I had forgotten my WiFi network password back at home.

The easy way to fix this would have been to use an already connected PC to access the router and change the password there, or to use an application like WirelessKeyView to recover the password of the said PC.

If I used method 1, I'd have to give the key to my housemates, which adds a bit of hassle.

When I tried method 2, the PC I was using was running XP I got a hex string which is not very user friendly (XP automatically converts WPA-PSK keys to a 64bit non-(easily?) reversible hash).

I then decided to try to get the key off my (rooted) Desire Z. Easy enough, the passwords are stored in plaintext in the following file:
/data/misc/wifi/wpa_supplicant.conf  

I then wrote a quick application to make the extraction a bit more painless (links at the bottom of the post), but when I was testing it on my Galaxy Tab, I realised that the file was not there. After a bit of digging around, I found the passwords here:
/data/wifi/bcm_supp.conf  

Also, here is the location of the file on the Streakroid ROM (this could be the default for all Dell Streaks, but as I don't have one I can't check):
/data/misc/wifi/wpa.conf  

The formatting of the files is identical and can be found here: http://linux.die.net/man/5/wpa_supplicant.conf, but the location is different (based on the whims of each developer/company I guess).

To access the files, you need root permissions.

Application Links:


If anyone has a device on which the app does not work, do two things:
  1. Make sure you are rooted.
  2. If you are certain you are rooted and it still does not work, email me (my email can be found here: http://aschillings.co.uk/html/contact.html).
I have no way to contact you if you post anonymously in the comments section!

Monday, 21 February 2011

Ubuntu 10.10: Mimo UM-720S single screen setup


I recently needed to temporarily put a screen on a completely headless system (no graphics card installed), so I decided to use a MIMO UM-720s which was lying around (almost literally).

Naturally, was not as easy at it initially seemed...

First of all, this guide is heavily based on the one written by Andrew Simpson, which can be found here.

SECTION A: Getting it to work

Monday, 14 February 2011

Projector RS-232 Commands

This is a quick list of RS232 control commands for projectors.
The command list is by for not exclusive, but the most common ones should be listed.

If a projector model is not in the list, try any other codes from the same brand. They usually work.

Thursday, 10 February 2011

Desire Z Modaco Rom r2 and protected Market applications.

After installing r2 of Paul's Desire Z ROM, I noticed that I could no longer find or download applications from the Market if they have their Protected flag set

To fix this, you need to use adb to pull the build.prop (a type of ini file for Android, containing information about the ROM) to your PC and change one line.

So in a command line, type the following:
 adb -d remount  
 adb -d pull /system/build.prop   

This will download the build.prop file from your phone to the current directory. Use a text editor (like notepad++) to open the file and change the following line:
 ro.build.fingerprint=htc_wwe/htc_vision/vision/vision:2.2.1/FRG83D/296256:userdebug/test-keys 

to this:
 ro.build.fingerprint=tmobile/htc_vision/vision/vision:2.2/FRF91/277427:user/release-keys

be careful not to change anything else.

Then push it back to the phone and reboot it, by typing:
 adb -d push build.prop /system/build.prop   
 adb -d reboot   

After this, you should be able to see protected applications in the market.

If you make a mistake while editing build.prop and something gets messed up, simply reflash the ROM.

R4i SDHC Card Problems and Solutions

I recently started having problems with my R4i SDHC cartridge, after changing the MicroSD card. The problems started when I swapped my old 2GB card to a SDHC one.

It would act slowly, corrupt save games and display "Savfile not founded! [sic]" message when some games are loaded.

To solve it, I did the following:
  1. Copy all ROMs to the desktop.
  2. Reformat the card using the Panasonic SD Formatter (http://panasonic.jp/support/global/cs/sd/download/index.html). I used version 2.0, with the default settings.
  3. Replaced the spaces of the ROMs and .sav files with underscores ('_').
  4. Copied everything back to the newly formatted card.
  5. Updated the R4i's kernel (check their website). 
A couple of ROMs still failed to load (complaining about the Savfile), but once I moved to the root of the card, they were fine.


For the record, I use the R4i to mostly to write homebrew apps, and I do own the original cartridges of any ROMs I have loaded on it.

For the current (at the time of this writing) status flashcard legality, read here: http://www.bbc.co.uk/news/technology-10790835