Unity Android Activity控制
来源:互联网 发布:太湖超级计算机 知乎 编辑:程序博客网 时间:2024/06/05 08:58
前言
开发游戏,在国内发行,接入各个渠道SDK是一件绕不开的事情。并且这件事非常复杂琐碎,原因如下:
a、发行平台多,Android平台有30,40家主流发行平台
b、每家SDK的接入API五花八门
c、发布管理这么多的APP耗时耗力
d、各家的SDK经常更新,接口不兼容的事常有发生
e、服务器回调的接口也是五颜六色
最近要接入一家友商的SDK,接口如下:
// activity 必须继承AppCompatActivitypublic void init(Activity activity) {}
但Unity的Activity接口已经定义好了
public class UnityPlayerActivity extends Activity {}
解决方案
首先搞清楚Android的运行原理,Android的APP启动入口通过在AndroidMinifest.xml里设置。Unity生成的Gradle工程XML里设置如下:
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /></activity>
通过配置Activity的属性,可以设置启动Activity,解决方案就是再添加个Activity继承AppCompatActivity,传递给SDK。代码如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(this, UnityPlayerActivity.class); startActivity(intent); }}
配置启动Activity为MainActivity即可,虽然说这样做多此一举,但是有这样的需求,不得不应对。
后续
对于不了解Android运行机制的人来处理这样的事情,真的是算挺难的。我刚接到这个事情后,陷入了迷茫,因为我不知道通过何种方式让UnityPlayerActivity继承AppCompatActivity。绕过这个弯还真是不容易。
同时对于想在自己的应用里嵌入Unity Activity的也非常有启发意义,通过这样的方式,再加上Unity与Android通信方式就可以任意交互。
阅读全文
0 0
- Unity Android Activity控制
- unity for android 自定义Activity
- 再谈Unity调用Android的Activity
- 再谈Unity调用Android的Activity
- android Tabhost中,控制activity的生命周期
- android控制activity的位置和大小
- 学习Android Activity管理与控制
- Android推送 - Activity跳转控制处理
- Android Activity屏幕旋转方向完全控制
- Android使用Unity导致Activity被销毁的解决办法
- [unity移植android]Unable to instantiate activity ComponentInfo
- Unity在Android Activity中加载的时期测试
- Unity调用Android原生Java代码以及Unity打开Android原生Activity
- Android和Unity混合开发——Activity和Unity脚本交互和信息传递
- android 如何在activity中控制屏幕点亮与关闭
- Android Activity 中控制屏幕点亮与关闭 M
- Android学习之 Activity堆栈管理与控制
- Android的dialog控制焦点导致其后Activity不响应
- Ubuntu 16.04 安装基础入门教程
- 本周不容错过的的9篇NLP论文 | PaperDaily #21
- Machine Learning Portofolio in Manufacturing Intelligence Practice
- 不吉利的日期
- 【笔记】机器学习入门(一)
- Unity Android Activity控制
- springboot servlet-api问题
- hdu 5534 Partial Tree 背包DP
- 09-天亮大数据系列教程之hive之udf/udaf/udtf
- MySQL中针对大数据量常用技术
- [Leetcode] 481. Magical String 解题报告
- JSP内置对象原理深度分析
- 容器云多租户及权限中心设计
- Python中zip()函数用法实例教程