【问题标题】:Disabling Multi-window feature for Android N not working for an activity禁用 Android N 的多窗口功能不适用于活动
【发布时间】:2016-11-25 04:05:57
【问题描述】:

我想在我的应用中禁用对活动的多窗口支持。 我在 Manifest 中将 resizeableActivity 设置为 false,但是当我长按最近的应用程序图标时,该应用程序仍处于多窗口模式。以下是我的清单:

<activity
    android:name=".MainActivity"
    android:resizeableActivity="false"
    android:excludeFromRecents="true"
    android:icon="@drawable/ic_launcher_home"
    android:theme="@style/AppThemeV3.CustomToolbar">
</activity>

documentation:

android:resizeableActivity=["true" | "false"]

如果该属性设置为false,则activity不支持多窗口模式。如果此值为 false,并且用户尝试在多窗口模式下启动 Activity,则 Activity 将占据全屏。

我还尝试在清单中的应用程序级别将此属性设置为 false,但它仍以多窗口模式启动。任何关于我做错了什么的指针将不胜感激?

【问题讨论】:

  • 此活动没有&lt;intent-filter&gt;。它是如何开始的?它是由您的其他活动之一启动的吗?
  • 嗨,是的,它是由应用程序中的其他活动之一在内部启动的。谢谢!

标签: android multi-window android-7.0-nougat


【解决方案1】:

位于任务根目录的活动控制窗口大小。您的选择是:

  1. 追溯应用中所有可能的任务根活动,并确保它们都具有android:resizeableActivity="false"

  2. 在启动时通过Intent 标志或清单设置强制此活动进入另一个任务

【讨论】:

  • 完美...修复了它。非常感谢你的帮助!!!我在应用程序级别设置了标志,但这不起作用。当我在根活动中设置标志时,就成功了。想知道为什么应用程序级别标志不起作用?再次感谢!!
  • @user899849:该属性仅适用于&lt;activity&gt;,不会出现在the documentation for &lt;application&gt;中。
  • 值得一提的是,Intent.FLAG_ACTIVITY_NEW_TASK 是出了名的错误。因此,对于遇到这种情况的其他人 - 您可能希望将新活动的 taskAffinity 设置为与默认值不同的值。例如:
  • @CommonsWare - android:resizeableActivity=["true" | "false"] 属性在 级别可用。你的事实是不正确的。我仍然不明白在应用程序级别使用特定于活动的标志有什么意义?如果在应用程序级别提及,它是否适用于所有活动?
  • @AKh: "android:resizeableActivity=["true" | "false"] 属性在 级别可用"——他们在我写完该评论后的某个时间将其添加到文档中。 “如果在应用程序级别提及,它是否适用于所有活动?” -- 是的。
【解决方案2】:

[更新] 在应用程序标签中设置 android:resizeableActivity="false"。现在可以使用了。

【讨论】:

    【解决方案3】:

    我以前遇到过这个问题,我尝试了很多次发现你必须 添加 android:launchMode="singleTask" && android:resizeableActivity="false" 同时。

    【讨论】:

      猜你喜欢
      • 2017-03-20
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 2016-05-29
      • 1970-01-01
      相关资源
      最近更新 更多