现在unity 导出的android客户端需要调用 Android 的支付SDK,但是unity与android应该如何互相调用呢???
经过百度 谷歌.终于找到方法,明白大概原理了.
重要参考资料:
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
下面说几点我犯的错误:
1:Android工程 导入unity-class.jar后,不要设置 setContentView,不要设置layout,因为继承了unityPlayerActivity,我想unity已经设置过了的,如果你在设置,那么就没法调用unity的场景了。
package com.xys; import android.content.Context; import android.content.Intent; import android.os.Bundle; import com.unity3d.player.UnityPlayerActivity; public class UnityTestActivity extends UnityPlayerActivity { /** Called when the activity is first created. */ Context mContext = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
//
setContentView(R.layout.main);
mContext = this; } public void StartActivity0(String name) { Intent intent = new Intent(mContext,TestActivity0.class); intent.putExtra("name", name); this.startActivity(intent); } public void StartActivity1(String name) { Intent intent = new Intent(mContext,TestActivity1.class); intent.putExtra("name", name); this.startActivity(intent); } }
unity其实也就是这个activity,不过是android工程继承了这个activity而已。
在AndroidManisest.xml,
<
intent-filter
>
<
action
android:name
=
"android.intent.action.MAIN"
/>
<
category
android:name
=
"android.intent.category.LAUNCHER"
/>
</
intent-filter
>
还是这个主Activity。
2.安装APK的时候,出现错误:INSTALL_FAILED_CONTAINER_ERROR
http://blog.sina.com.cn/s/blog_4b93170a0102dwzq.html
当Unity工程使用android:installLocation="preferExternal" 时,某些时候会出现
Installation error: INSTALL_FAILED_CONTAINER_ERROR
解决办法:
修改为android:installLocation="auto" 即可