安卓嵌入unity 游戏

1:    如果你的项目中引入了 V7 包,会发现有大量的 theme, appcompat 报错,所以项目中最好从一开始就不引入v7

2:     另外如果你的项目中有使用到V4包里的  activiyFragment,Viewpage等  , 那么你需要单独引入下 V4 包(不要用太低的版本,低版本用不了)

3:    unity的跳转, TransActivity2Context 是为了将获取到的activity转成 context, 也可以把application 里的context直接拿过来

4: 安卓的工具类

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  必须加上去 。 不然有些手机会跳转失败

public class Unity2Android {
    private static Context mContext;
    private static Unity2Android unity2Android;
    
    public static Unity2Android getInstance() {

        if (unity2Android == null) {
            synchronized (Unity2Android.class) {
                if (unity2Android == null) {
                    unity2Android = new Unity2Android();
                }
            }
        }
        return unity2Android;
    }

    private Unity2Android() {
        mContext=BaseApplication.getContext();
    }

    public void toMain(MCallBack<String> callBack) {

//        if (BaseApplication.spUsb != null) {
//        }
        BaseApplication.callBack=callBack;
        String json = (String) SPUtil.get(mContext, MyConfig.user, "");
        Intent intent = new Intent();

        if (TextUtils.isEmpty(json)) {
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setClass(mContext, LoginActivity.class);
        } else {
            //初始化User
            User.init();
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setClass(mContext, MainActivity.class);
        }
        mContext.startActivity(intent);

    }

}

5 : 一些app自启动的问题, 直接通过跳转unity

public class UsbActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Log.i("UsbActivity", "onCreate: ---------"+BaseApplication.start);
        if(BaseApplication.start){
            BaseApplication.start = false;
            try {
                Intent intent = new Intent();
               intent.setClassName("com.Company.unitydemo", "com.unity3d.player.UnityPlayerActivity");

                startActivity(intent);
            } catch (Exception e) {
                e.printStackTrace();
            }
        } 
        finish();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值