Unity+Android替换默认启动类UnityPlayerActivity.java

本文介绍了如何在Unity2018.2及以上版本中,因接入第三方SDK需要设置Activity启动模式为singleTop,而替换默认的UnityPlayerActivity.java。通过创建新的启动类并修改AndroidManifest.xml,成功避免Unity重置设置。详细步骤包括创建新类、修改Intent-filter、调整包名以及放置文件的位置。
摘要由CSDN通过智能技术生成

*本文中的方案,适用于支持Java文件打包的Unity2018.2及以上版本。

Android项目都会有一个默认启动类,通过Unity打包成AndroidStudio项目后,可以看到,在主包下面会有一个文件UnityPlayerActivity.java,这个就是Unity打包的工程的默认启动类。

一般来说,这个类是不需要修改的,但是我就遇到了特殊情况...

在接入第三方平台SDK的时候,因为某些原因,需要设置Activity的启动模式为sigleTop(Unity默认设置为sigleTask)。然而在Unity工程中通过Manifest文件直接修改该设置是无法生效的,因为在打包的时候,unity会重置该设置。好气啊。

然而,Unity修改启动方式是根据启动类来设置的,所以,如果能够把默认启动类替换成Unity不认识的一个,该设置就不会被重写了。

首先在AndroidStudio中新建一个继承自UnityPlayerActivity的类,暂且命名为UnityPlayerActivityTest。

如果使用继承的方式会导致打包失败,可以改成直接修改文件名的方式。

直觉和经验告诉我,Android启动类、权限这种东西,肯定是要在Manifest文件中修改的。找打AndroidManifest.xml文件,可以找到关于启动类设置相关的<intent-filter>略略略</intent-filter>条目。

可能不同的版本打包出来的内容略有不同,但是UnityPlayerActivity的设置就在这个条目中。将UnityPlayerActivity修改为UnityPlayerActivityTest。

注意࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值