有什么方法可以将UnityPlayerActivity用作AppcompatActivity?

时间:2019-03-21 07:52:51

标签: android unity3d

嗨,我正在用android studio做unity插件,我在这里遇到问题。一些SDK提供仅使用AppcompatActivity即可创建片段,但My MainActivity除外,UnityPlayerActivity并非AppCompatActivity。会导致错误...任何人都可以解决此问题?

1 个答案:

答案 0 :(得分:0)

在不了解您要与之交互的SDK的更多信息的情况下,很难准确地告诉您解决问题的方法。但是,有关这些类的一些背景信息可能会帮助您:

UnityPlayerActivity是Android Activity类的子类。这是用于现代Android活动的主要类。

AppCompatActivity也是Activity类的子类,旨在让您在较旧的Android设备上使用某些功能(例如片段)。来自the docs

希望使用某些较新平台的活动的基类 旧版Android设备上的功能。其中一些向后移植的功能 包括:

  • 通过setSupportActionBar(Toolbar)API使用操作栏,包括操作项,导航模式等。
  • 通过使用Theme.AppCompat.DayNight主题和在黑暗主题之间的内置切换 AppCompatDelegate.setDefaultNightMode(int)API。
  • 通过使用getDrawerToggleDelegate()API与DrawerLayout集成。

所以用面向对象的术语:

  • UnityPlayActivity是-Activity
  • AppCompatActivity是-Activity
  • UnityPlayActivity不是AppCompatActivity(它们具有同级关系)。

如果您绝对需要AppCompatActivity,一种解决方法是修改UnityPlayActivity代码以扩展AppCompatActivity。您可以see an example of that here