2010-10-21 66 views
0

我正在做我的鬧鐘應用程序。有一個活動顯示報警信息。 我想打開屏幕並解鎖它。我寫這些代碼需要幫助,我改變後屏幕沒有打開活動的主題

AlarmActivity.java:

 
public class AlarmActivity extends Activity { 
    ...... 
    void onCreate(Bundle bl) { 
    ..... 
    final Window win = getWindow(); 
    win.requestFeature(android.view.Window.FEATURE_NO_TITLE); 
    win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
       | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 
       | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
       | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

    LayoutInflater inflater = LayoutInflater.from(this); 
    setContentView(inflater.inflate(R.layout.alarm, null)); 
    } 

    ...... 
} 

AndroidManifest.xml中

 
{activity android:name="AlarmTaskActivity" 
       android:excludeFromRecents="true" 
       android:theme="@android:style/Theme.Wallpaper.NoTitleBar" 
       android:launchMode="singleInstance" 
       android:taskAffinity="" 
       android:configChanges="orientation|keyboardHidden|keyboard|navigation"/} 

這沒關係,但是當我改變
機器人:主題=「@安卓:style/Theme.Wallpaper.NoTitleBar「android:theme =「@ android:style/Theme.Dialog」 屏幕沒有打開也沒有解鎖,我真的很困惑....

你能告訴我如何使屏幕打開並在使用「@android:style/Theme.Dialog」時解鎖?

謝謝

順便說一句,我有我的測試設備的Android 2.0。

回答

0

爲了激活屏幕並強制屏保,您需要使用WakeLock.查看documentation for more information.更改主題並不會導致屏幕喚醒。您需要使用ACQUIRE_CAUSES_WAKEUP標誌才能做到這一點。

+0

感謝您的回答,我已經使用了ACQUIRE_CAUSES_WAKEUP標誌。但我不知道爲什麼當我使用「android:style/Theme.Wallpaper.NoTitleBar」主題時沒有問題,但是在使用「@android:style/Theme.Dialog」時屏幕無法打開或解鎖。 – iCerHe 2010-10-23 11:01:14