admin管理员组文章数量:1291300
I initialized the UnityPlayer using a singleton pattern. However, when I switch activities, the UnityPlayer becomes null.
Here’s what I did:
Initialization in MainActivity:
UnityPlayerManager.initialize(getApplicationContext());
Switching to TrainingActivity:
Intent intent = new Intent(getApplicationContext(), TrainingActivity.class);
startActivity(intent);
Accessing UnityPlayer in TrainingActivity:
UnityPlayerManager.getUnityPlayer()
The result is that UnityPlayerManager.getUnityPlayer() in TrainingActivity returns null.
How can I ensure that the UnityPlayer value is retained across activities?
UnityPlayerManager Singleton Here’s the implementation of my UnityPlayerManager:
object UnityPlayerManager {
private var unityPlayer: UnityPlayerForActivityOrService? = null private
var unityPlayerLayout: FrameLayout? = null
@JvmStatic
fun initialize(context: Context) {
if (unityPlayer == null) {
unityPlayer = UnityPlayerForActivityOrService(context)
unityPlayerLayout = unityPlayer!!.frameLayout
}
}
@JvmStatic
fun getUnityPlayerFrameLayout(): FrameLayout? {
return unityPlayerLayout
}
@JvmStatic
fun getUnityPlayer(): UnityPlayerForActivityOrService? {
return unityPlayer
}
// Uncommented for debugging:
// fun destroyUnityPlayer() {
// unityPlayer?.destroy()
// unityPlayer = null
// }
}
Observations: The UnityPlayer is properly initialized and accessible in MainActivity. However, after navigating to TrainingActivity, the UnityPlayer becomes null.
本文标签: kotlinWhy does the UnityPlayer become null when switching Activity in AndroidStack Overflow
版权声明:本文标题:kotlin - Why does the UnityPlayer become null when switching Activity in Android? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741531051a2383756.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论