現在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" 即可