2

私のアプリでフルスクリーンと私はこのコードを書く:どのように画面をオンにし、フルスクリーンフラグを設定することができますか?

public void onCreate(Bundle savedInstanceState) { 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 
       super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
         . 
         . 
         . 

そして、私は、レイアウトにこのコードを書く私のアプリに画面を保つ:

android:keepScreenOn="true" 

それは常にではありませんが、時々のような私にエラーこれは:

java.lang.IllegalArgumentException: View not attached to window manager 
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:381) 
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:226) 
at android.view.Window$LocalWindowManager.removeView(Window.java:432) 
at android.app.Dialog.dismissDialog(Dialog.java:278) 
at android.app.Dialog.access$000(Dialog.java:71) 
at android.app.Dialog$1.run(Dialog.java:111) 
at android.app.Dialog.dismiss(Dialog.java:268) 
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3691) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
at dalvik.system.NativeStart.main(Native Method) 

私は何ができますか?私は本当のコードを書く?あなたがプログラム的にそれを行うことができます

答えて

6
super.onCreate(savedInstanceState); 
requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
setContentView(R.layout.main); 
super.onCreateが最初に呼び出さなければなりません

....

THANKS ...:

public class ActivityName extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // remove title 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.main); 
    } 
} 

またはあなたのAndroidManifest.xmlを経由してそれを行うことができますファイル:

<activity android:name=".ActivityName" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
</activity> 
+0

試してみる前に存在しているので、keep_screen_onフラグに答えるために、私たちはその結果に –

+0

感謝を知っている場合は、次を削除しますか? –

+0

私はscreenOnflagについて知りません。上記のコードを使用してフルスクリーンを作成しましたが、フラグは一切使用していません。 –

2

AndroidMenifest.xmlファイルのアクティビティに追加

0で追加
android:name=".ActivityName" 
     android:configChanges="orientation|keyboardHidden" 
     android:keepScreenOn="true" 
     android:label="@string/app_name" 
     android:theme="@style/customTheme" > 

とsetContentView

boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
関連する問題