android - Activity 未全屏显示

标签 android android-activity android-intent fullscreen

我在我的项目中定义了一个新 Activity ,但我在全屏方面遇到了一些问题。

我在 list 文件中这样定义:

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

如果我从另一个 Activity 开始 Activity ,我得到了所需的全屏。问题是当我从 BroadcastReceiver 启动此 Activity 时 - 我需要在 BroadcastReceiver 中打开此 Activity ,如下所示:

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);
}

如果 Activity 从我的 BroadcastReciever 开始,则不会全屏显示。

为什么我在这种情况下没有全屏显示? Activity创建可见后,有什么方法可以要求全屏吗?

最佳答案

我喜欢这个问题。我省略了一种方法来添加问题文本——我认为它不相关。因为我希望此 Activity 拦截(不使用react)主页按钮按下,因此我重写了 onAttachedToWindow() 方法,如下所示:

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

这就是问题所在。有时,因此,我的 Activity 没有全屏显示。为了解决这个问题,我不知道这是否是最好的方法,我在这段代码中添加了延迟,如下所示:

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

和处理程序:

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

这解决了我的问题。我希望这对某人有所帮助!

关于android - Activity 未全屏显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369144/

相关文章:

android - 确认 Activity Android Wear 持续时间太短

java - Android 用户点击我的通知并返回到我的应用

java - 如何在 Android 中使用 onClick 属性创建 float 窗口?

未找到 Android 库 media_jni

android - RSA 解密跨 Android - iPhone

android - 请如何使用 onSavedInstanceState 示例

android - 多 Activity 或单 Activity 和多个 fragment

android - "Permission denied"连接到页面时,即使具有 INTERNET 权限

android - 当按下返回键时从最近的应用程序中删除应用程序android

java - zxing onActivityResults 未触发