Получаете ли вы эту силу близко при запуске кода в эмуляторе на реальном устройстве?
Вы установили точки прерывания в eclipse, чтобы убедиться, что вызов getSystemService () является причиной проблемы?
В затмении, когда происходит закрытие силы, говорит ли LogCat что-нибудь об этом?
Вы установили
<uses-permission android:name="android.permission.WAKE_LOCK" />
в манифесте?
Вы также можете попробовать определить pm как final:
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
Дайте мне знать, если это поможет ...