2011-12-23 8 views
2

私が手に入れたいのは、提供されたボタンの1つを押したとき以外はアクティビティから出ることができないということです。
私はすでにホームボタンとバックボタンをキャッチしましたが、ステータスバーを削除しようとすると、私の問題が始まります。 私は、次のいずれかがしたい:Activity2で常に目に見えない ステータスバーがAndroidで表示されているかどうかを確認するには

  • ステータスバーを
  • ステータスバーアクセスできない、それが表示されますが、あなたはそれが
  • (例として、着信画面を参照)をアクティブにすることはできませんソリューション1の場合は、アプリケーションが実行されていて、Activity1がステータスバーを表示していて、ステータスバーの下にActivity2が表示され、ステータスバーがActivity2の上にオーバーレイされていれば、これはできません。
    別のアプリケーションの場合、Activity2はステータスバーを表示していません。 Status bar overlays Activity2 No Status Bar visible here 私は間違っていますか? AndroidManifest.xmlの

    パート:

     <activity 
         android:label="@string/app_name" 
         android:launchMode="standard" 
         android:name=".Activity1" 
         android:screenOrientation="portrait" 
         android:theme="@android:style/Theme.Black.NoTitleBar" > 
         <intent-filter > 
          <action android:name="android.intent.action.MAIN" /> 
         </intent-filter> 
        </activity> 
        <activity 
         android:label="@string/app_name" 
         android:launchMode="standard" 
         android:name=".Activity2" 
         android:noHistory="true" 
         android:screenOrientation="portrait" 
         android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
         <intent-filter > 
          <category android:name="android.intent.category.HOME" /> 
          <category android:name="android.intent.category.DEFAULT" /> 
          <category android:name="android.intent.category.MONKEY" /> 
         </intent-filter> 
        </activity> 
    
    +0

    すべてのデバイスで必要な機能は動作しません。たとえば、タブレットでは、システムバーを取り除くことはできません。 Kindle Fireでは、同様の理由でメニューバーを取り除くことはできません。 – CommonsWare

    +0

    これは現在電話でのみ使用されます。着信があったときにAndroidのようにステータスバーをブロックするとどうなりますか? – Michael

    +0

    AFAIK、SDKアプリはそれを行うことはできません。 Androidの基本原理は、ユーザーの操作を制御することです。あなたがしようとしていることの明白な指針は何らかの理由でユーザーからコントロールを削除することです。これらの原則は特にうまく共存することはありません。 – CommonsWare

    答えて

    1

    をテーマ設定のために役立つことができると思う私はアンドロイドで私の活動を開始しました:launchModeは= "singleInstance" とOnAttachedToWindow()でthis.getWindow()を呼び出していた。setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 同じアプリケーション内の他のアクティビティがステータスバーを表示しても、ステータスバーは表示されません。

    2
    +0

    これは問題ではありません。私は既定のテーマを使用しています。しかし、私がActivity1からActivity2に行くと、何とかステータスバーが表示され続けます。 – Michael

    +0

    activity2に移行した後、activity1を終了しましたか? – yonilx

    +0

    これは私を少し助けてくれました。私は 'android:launchMode =" singleInstance "'でアクティビティを開始しなければならず、 'OnAttachedToWindow()'では 'this.getWindow()。setType(WindowManager.LayoutParams.TYPE_KEYGUARD);' – Michael

    関連する問題