无需在 androidmanifest.xml 中注册的 android Activity

标签 android android-activity android-manifest

我在一次求职面试中遇到了一个问题,即我是否可以在不发布应用程序新版本的情况下动态地向 Android 应用程序添加新 Activity 。他告诉我存在某种机制,我们可以动态地将 Activity 更改为新 Activity,而无需在 AndroidManifest.xml 文件中注册。我搜索了一些文件,但没有找到可行的方法。

我可以在不在 AndroidManifest.xml 文件中注册的情况下启动 Activity 吗?是否可以动态修改现有的Activity?

最佳答案

我可以在不在 AndroidManifest.xml 文件中注册的情况下启动 Activity 吗?

没有。我认为您不能启动未在 AndroidManifest.xml 文件中注册的 Activity 。 list 文件跟踪应用程序在编译/构建应用程序时可以使用的 Activity 。任何尝试打开未注册的 Activity 都将导致应用程序崩溃。

是否可以动态修改现有的 Activity?

正如 Bette Devine 所说,您可以根据某些用户操作(如按下按钮)调用 setContentView(R.layout.new_layout); 来更改现有 Activity 的布局。但是,在您的 Activity 中多次调用 setContentView 是人们通常避免这样做的不良做法。不推荐这样做,因为您必须编写代码来管理第二个布局的用户交互。想象一下,在一个 java 文件中编写两个 Activity 代码。当您可以单独编写它们时,这将导致不必要的代码困惑。

关于无需在 androidmanifest.xml 中注册的 android Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473959/

相关文章:

java - com.google.android.gms.common.SignInButton 按钮未在使用 Firebase 的设计中显示

android - 调用 startActivityOnResult() 会自动调用当前 Activity 的 onPause()、onStop() 和 onDestroy() 方法

android - Cordova 3.3.0 Android 图标不会在应用程序管理器中更新

java - 有灵活的 Android 广告提供商吗?

android - ShowCase View 是否有 Material Design 规范?

android - 阵列状态未设置

java - Android getSelectedItem,如何使用?

android - 对 Activity 的弱引用 (Android)

android - 如何在具有多个购买 Activity 的应用程序中绑定(bind)到计费服务

android - 不支持三星 Galaxy S8+ – dream2lteks