【问题标题】:How to avoid black screen while invoking another activity in android?如何在android中调用另一个活动时避免黑屏?
【发布时间】:2013-01-24 12:18:35
【问题描述】:

我正在使用主要活动的意图调用活动。但是在调用过程中会显示一些系统对话框,因此会显示黑屏。我怎样才能避免这样的黑屏。

【问题讨论】:

  • 如何调用另一个活动?任何示例代码
  • 我在调用第二个活动之前配置 WIFI 设置。现在,当我启动另一个活动的意图时,会弹出几个对话框,在这些对话框后面显示我的第二个活动的黑屏。
  • 您可以通过在 runOnUiThread 方法中添加对话框来避免这种情况
  • 这些对话框是系统生成的。我无法控制它们,正如我所说,我正在做一些 wifi 配置更改,之后系统会显示这些对话框。

标签: android android-manifest android-alertdialog


【解决方案1】:

请检查您在意图中设置的标志。

如果你有一个finish();或 FLAG_ACTIVITY_CLEAR_TASK - ICS 之前的设备上可能会显示一个空白屏幕,因为当前活动已在另一个活动开始之前被清除。

Intent intent = new Intent(getApplicationContext(), Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
overridePendingTransition (0, 0);

【讨论】:

  • 您好,我使用了@android:style/Theme.Translucent.NoTitleBar 这解决了这个问题,但是当两个对话框一个接一个显示时会有一点闪烁。即使我使用的是 FLAG_ACTIVITY_NO_ANIMATION 和 FLAG_ACTIVITY_NEW_TASK。
  • 尝试添加 overridePendingTransition (0, 0);下面 startActivity(intent);
【解决方案2】:

如果你想在切换到其他的过程中完成当前的活动,在startActivity()方法之后调用finish()。

在新活动的 onCreate() 方法下检查任何长时间运行或繁重的任务,它将阻止活动加载,直到任务完成。

还要检查其他窗口标志的一些转换属性,这在某些情况下也可能是原因。

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    相关资源
    最近更新 更多