tags:

views:

274

answers:

6

I need to heat up an android phone (don't ask...)

So far I tried running a max priority thread with a while loop which ROL-s an integer around, but that generates too little heat, even though the phone comes down almost to a halt. I tried doing complex math in the loop, but the results were same. I tried with more threads, but as expected it behaves exactly as it was with just one thread.

What can I do to tax it enough in order for it to generate more heat?

Edit: Some additional info - It's basically an application that should run as a background service (android Service started with startService()) which uses notifications to indicate that it's running (or not). Ideally, it should have no UI at all, other than the control-activity to start/stop it. I already made the service, notifications and the controlling activity. The Service uses it's own thread for phone heating, so that it would not interfere with activity's UI (which is in the same android app), now I only need to write the "meat" of the thread, i.e. some code that would actually cause the phone to heat up.

+1  A: 

What works for me is to connect it to USB to charge up and run Wifi Tether. That gets the CPU up to about 43 degrees Celsius at least.

emostar
That won't do, it has to be a stand-alone solution, no external USB or anything, and I cannot turn on bluetooth/wifi or do anything that would change the state of the phone behind the user's back.
Boris B.
A: 

I find playing high quality video gets my Nexus One blazing in no time at all.

fredley
+2  A: 

I would try to also write data to SD-Card and phone storage at a high frequency and enable the Wifi and GPS sensors. Also set the screen to the maximal brightness and maybe show some complex graphics or videos on it too.

Janusz
A: 

I always get cold feet when I'm skiing in Colorado. Would love a copy of your handywork!

And to add a suggestion, in case the video playback suggestion does not generate enough heat, try video conversion with crop and resize... I had one of those ugly overpriced Alienware gaming laptop clunkers that would play back video without getting hot, but upon running a video conversion (reducing a DVD to 600x300 rez with 4 sided crop for my phone) using Handbreak, it overheated so bad, it died with a puff of smoke. When I turn it on now, the screen simply flashes back and white.

Tsais
A: 

My droid gets awfully warm while using Google Navigator. It tends to warm up while gaming and browsing the internet too but Google Nav makes it heat up the most.

Pete
+3  A: 

Basically turn on everything you can that uses power, in addition to the CPU:

  • Keep the screen on and bright (if you have an OLED fill it with white). The best way to do this is with an activity setting FLAG_KEEP_SCREEN_ON and maximum brightness.
  • Monitor location with GPS.
  • Send and receive data over the network.
  • Use OpenGL to draw some moving graphics (to run the GPU, and get the surface compositor going).
  • Play audio.

Something you can't do in software but is also a big battery drain is being in a low signal area, so the cell radio needs to bump up its power.

Or just run Google Navigation... it already does nearly all of that, and is indeed and big battery drainer and device warmer. ;)

hackbod
Thank you for your suggestions, will definitely try OpenGL drawing.
Boris B.