2012-02-20 23 views
1

プロジェクトで新しいアクティビティが定義されましたが、フルスクリーンで問題が発生しました。アクティビティがフルスクリーンで表示されない

私はこのようなマニフェストファイルで定義された:

<activity android:name=".Test" 
    android:launchMode="singleInstance" android:screenOrientation="portrait" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
    ............. 
> 

私は別の活動から活動を開始した場合、私は希望をフルスクリーンを得ました。私はBroadcastReceiverからこの活動を開始したときに問題がある - 私はこのようなBroadcastReceiver何かの内側に、このアクティビティを開く必要があります。私も、このようにしようとした

public void onReceive(Context context, Intent intent) { 
    Intent test = new Intent(context, Test.class); 
    test.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(test); 
} 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

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

    setContentView(R.layout.test); 
} 

なしフルスクリーンの場合をその活動は私のBroadcastRecieverから始まります。

なぜこの場合、フルスクリーン表示にならないのですか?アクティビティが作成されて表示された後にフルスクリーンをリクエストする方法はありますか?

答えて

2

私は問題が好きです。質問テキストを追加するために省略した方法があります。関連性があるとは思わなかった。

public void onAttachedToWindow() { 
    getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

そして、ここが問題です:私はこの活動を傍受するためにホームボタンを押して(反応しない)、そしてこの理由のために私はこのような()メソッドをオーバーライドしonAttachedToWindowたいので。これによって、私の活動がフルスクリーンにならないことがありました。

public void onAttachedToWindow() { 
    handler.sendEmptyMessageDelayed(100,100); 
    super.onAttachedToWindow(); 
} 

とハンドラ:

public boolean handleMessage(Message msg) { 
    getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
} 

と、これは私の問題を解決し、これが最善の方法である場合は、この問題を解決するには、私は知らない、私はこのように、このコードに遅延を追加しました。私はこれが誰かを助けることを望む!

関連する問題