unity调android 本人目前发现android主activity必须继承UnityPlayerActivity,unity才能通过

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); jo.call("函数名")

或者

AndroidJavaClass jc = new AndroidJavaClass("包名+.主Activity");

jc.CallStatic("函数名");

unity调Android(一)中unity没法调用android 本文主要解决调用问题:

实现思路是通过activity切换调用的方式。受益于雨凇momo教程。让主activity继承UnityPlayerActivity,然后在主activity里通过

Intent intent = new Intent(mContext,"子activity"+.class);
intent.putExtra("Activity", "Activity");
this.startActivity(intent);

以下主要实现代码:

publicclassSDKDemoextendsUnityPlayerActivity{ContextmContext=null;JoyActivityjoyActivity;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);mContext=this;Intentintent=newIntent(mContext,JoyActivity.class);intent.putExtra("JoyActivity","JoyActivity");this.startActivity(intent);}publicvoidnativeInit(){Log.e("nativeInit","nativeInitEnter");joyActivity=newJoyActivity();joyActivity.nativeInit();Log.e("nativeInit","nativeInitEnd");}publicclassJoyActivityextendsActivity{UnityPlayerunityPlayer;//UnityPlayer.init()shouldbecalledbeforeattachingtheviewtoalayout.//UnityPlayer.quit()shouldbethelastthingcalled;itwillterminatetheprocessandnotreturn.protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);requestWindowFeature(Window.FEATURE_NO_TITLE);mUnityPlayer=newUnityPlayer(this);if(mUnityPlayer.getSettings().getBoolean("hide_status_bar",true))getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);intglesMode=mUnityPlayer.getSettings().getInt("gles_mode",1);booleantrueColor8888=false;mUnityPlayer.init(glesMode,trueColor8888);ViewplayerView=mUnityPlayer.getView();setContentView(playerView);playerView.requestFocus();}以上代码也可以参考unity调android(一)中的方式publicvoidnativeInit(){Log.e("nativeInit","##########################");}unity代码:voidStart(){jc=newAndroidJavaClass("com.unity3d.player.UnityPlayer");jo=jc.GetStatic<AndroidJavaObject>("currentActivity");jo.Call("nativeInit");}


更多相关文章

  1. Android源代码下载过程及遇到的问题
  2. Android写文件到SDCard的一般过程和代码
  3. 史上最全!最经典!最无私的Android资料(书籍+代码)分享
  4. Android状态栏提醒(Notification,NotificationManager)的使用
  5. Android(安卓)自定义Progress Bar
  6. android 中 浏览器调用本地app应用
  7. Android(安卓)Universal Image Loader 源码分析
  8. android计时demo源代码
  9. Android(安卓)APK安装过程及原理详解

随机推荐

  1. android:background="@drawable/"图片拉
  2. Android中实现跑马灯效果
  3. Android(安卓)Jni中使用线程及回调更新UI
  4. android adb介绍
  5. Android内存和外存的学习
  6. Android设置屏幕亮度的两种方式
  7. 应用组件-应用程序介绍
  8. android, iOS app reverse enginnering
  9. Android(安卓)反编译apk 到java源码的方
  10. Android(安卓)的上下文菜单: Context Menu