0

我正在嘗試使用下面的代碼覆蓋Home Key和全屏幕Acitiy。主鍵的鎖定工作正常,但無法隱藏通知欄(無法全屏顯示活動)。當我使用onAttachedToWindow時無法進行全屏活動

public class ScreenLockDemo extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.screenlock); 

    } 



@Override 
public void onAttachedToWindow() 
{ 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 

} 

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if(keyCode==KeyEvent.KEYCODE_BACK){ 
     return true; 
    } 
    if(keyCode==KeyEvent.KEYCODE_HOME){ 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 

}

的AndroidManifest.xml:

<activity 
     android:name="com.antivirus.antitheft.ScreenLockDemo" 
     android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
     >    
    </activity> 

[出放上面的代碼可愛的展現在IMG佈局的頂面! ] [1]

我也嘗試使用它處理全屏活動的setType,但它不能超越菜單鍵。請幫幫我。

在此先感謝。

+0

這將幫助:http://stackoverflow.com/questions/9369144/activity-doesnt-show-in-full-screen – 2014-05-30 14:27:14

回答

-1

嘗試之前的setContentView(XML)這個代碼

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
getWindow().requestFeature(Window.FEATURE_NO_TITLE); 

希望,這會對你有用。

+0

我將嘗試這個代碼,但沒有工作,那麼切頂面佈局......當我使用 公共無效onAttachedToWindow上面的代碼是不行的() \t { \t this.getWindow()。的setType(WindowManager.LayoutParams.TYPE_KEYGUARD); \t \t超。onAttachedToWindow(); \t} 這個方法在我的代碼重寫菜單鍵。 – 2012-04-27 08:57:51

+0

假如你試過這個代碼,你會發現,這是行不通的。你沒有得到全屏。 – AndroidDev 2013-08-25 07:02:30

0

將活動設置爲全屏最簡單的解決方案是將其設置在清單中。作爲一個例子,下面添加到清單中的活動部分:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

因此,它應該是這個樣子:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".blahActivity" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
+0

我已經使用這個代碼,但它不是在公共無效的情況下工作onAttachedToWindow() \t { \t this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); \t \t super.onAttachedToWindow(); \t}這種方法 – 2012-04-27 09:01:02

0

使用以下代碼

@Override 
public void onAttachedToWindow() { 
    // TODO Auto-generated method stub 
    super.onAttachedToWindow(); 

    handler.postDelayed(mUpdateUiMsg, 100); 
    //this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  
} 


public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if(keyCode==KeyEvent.KEYCODE_BACK){ 
    return true; 
    } 
    if(keyCode==KeyEvent.KEYCODE_HOME){ 
    return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 


private Runnable mUpdateUiMsg = new Runnable() { 
     public void run() { 


      getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 


     } 
    }; 
+1

您無法使用此功能全屏顯示。 – AndroidDev 2013-08-25 07:10:12

0

使用以下代碼

@Override 
public void onAttachedToWindow() { 
    // TODO Auto-generated method stub 
    super.onAttachedToWindow(); 

    handler.postDelayed(mUpdateUiMsg, 100); 
    //this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  
} 


public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if(keyCode==KeyEvent.KEYCODE_BACK){ 
    return true; 
    } 
    if(keyCode==KeyEvent.KEYCODE_HOME){ 
    return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 


private Runnable mUpdateUiMsg = new Runnable() { 
     public void run() { 


      getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 


     } 
    }; 

在我的情況解決問題,overridding onAttachedToWindow()之後解決的問題,我發現overridePendingTransition(int enterAnim, int exitAnim)

<style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar"> 
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item> 
    <item name="android:windowAnimationStyle">@style/AnimationActivity</item> 
</style> 

沒有工作,但使用這些代碼解決了問題,但我不知道爲什麼。 和我一樣,我不知道onAttachedToWindow()該怎麼辦,它是如何影響的?