启动ActivityForResult后的Android SDK全屏显示



我有以全屏模式显示的"活动":

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_drawers_widget);
    setFullscreen();
}
private void setFullscreen() {
    if (Build.VERSION.SDK_INT < 19) {
        this.getWindow().getDecorView().setSystemUiVisibility(View.GONE);
    } else {
        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        decorView.setSystemUiVisibility(uiOptions);
    }
}

它运行良好,直到我通过startActivityForResult:调用外部应用程序

@Override
public void onClick(View v) {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("file/*");
    startActivityForResult(intent, 1);
}
//somewhere else
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    //some code
    setFullscreen(); //probably not necessery
}

所有的系统控制都是可见的,这是我不想要的。请帮忙。

太棒了!

如果想要显示全屏,只需将此代码粘贴到oncreate函数中。。。

if (Build.VERSION.SDK_INT <= 16) {
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
            }
         getActionBar().hide();

将此代码放入AndroidManifest.xml文件中。

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
    <activity android:name="com.test.activity.SplashActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  </application>

全屏模式的重要第5行。

最新更新