1

インストールされているアプリケーションを一覧表示し、アイテムのクリックでそれらを起動する Android アプリケーションがあります。アプリケーションからの NotificationBar へのアクセスを無効にしたいです。つまり、ユーザーがアプリケーションから「ブラウザ」アプリケーションを起動すると、通知バーをドラッグダウンして/彼女はGPS、wifiなどの設定を変更できます...私はこれを試しました

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

しかし、それは私のアクティビティに対してのみ機能します.アプリケーション全体の通知バーを無効にする方法は?

前もって感謝します

4

3 に答える 3

1

XML でアプリケーションのテーマを設定します。

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
于 2013-04-02T10:19:47.733 に答える
1

AndroidManifest.xml でテーマを使用できます。

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

これにより、タイトルバーが非表示になります

<activity android:name=".YourClassName"
android:theme="@android:style/Theme.NoTitleBar"/>
于 2013-04-02T10:19:15.083 に答える
0

以下の私のコードを参照してください。質問で指定したコードを適用したところ、通知バーが非表示になりました。外部ブラウザ アプリケーションの通知バーを無効にすることはできません

public class ContentBrowser extends Activity {
    private LinearLayout _progressBarLayout;

    @Override
    public 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.browserlayout);

        Bundle receiveBundle = this.getIntent().getExtras();

        initialize(receiveBundle.getString("url"));
    }

    @SuppressLint("SetJavaScriptEnabled")
    private void initialize(String url) {

        WebView webView = (WebView) findViewById(R.id.browserView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
        webView.getSettings().setDomStorageEnabled(true);

        _progressBarLayout = (LinearLayout) findViewById(R.id.browserProgressLayout);

        final Activity activity = this;
        webView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {
                // Activities and WebViews measure progress with different scales.
                // The progress meter will automatically disappear when we reach 100%
                activity.setProgress(progress * 1000);
            }
        });

        webView.setWebViewClient(new browserClient());

        if (url != null && !"".equals(url))
            webView.loadUrl(url);
    }

    @Override
    public void onBackPressed() {
        finish();
    }

    public class browserClient extends WebViewClient
    {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub

            view.loadUrl(url);
            return true;

        }

        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);

            _progressBarLayout.setVisibility(View.GONE);
        }
    }

}
于 2013-04-02T10:32:42.047 に答える