Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从非ui线程的android开关活动大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究 android unity3d项目,我想在Facebook上发布一些内容.
基本上该应用程序正在运行不受我控制的活动. Facebook单点登录要求我提供活动以显示内容.
现在的问题是发布到facebook的触发器是从Unity活动(从本机代码到JNI)出来的.它基本上是我的普通 Java对象作为连接器,它是由本机代码中的统一创建的,我可以称之为方法.我也可以访问currentActivity.仍然有麻烦做任何事情.

我总是得到

AndroidRuntime(12845): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

我试图将此当前活动引用给Facebook authorize()作为绑定的活动,但是给出了错误.
我试图切换到我自己的活动,我想在其上启动Facebook.
得到了同样的错误.
试过这个

Intent intent = new Intent(UnityPlayer.currentActivity.getApplicationContext(),MyActivity.class);
UnityPlayer.currentActivity.startActivity(intent);

也很少有其他类似的东西,但只是无法切换活动.
我该怎么做?

谢谢

解决方法

是因为UI操作无法在工作线程上运行.你应该尝试runOnUiThread.

UnityPlayer.currentActivity.runOnUiThread(new Runnable() {
public void run() {
  Intent intent = new Intent(UnityPlayer.currentActivity.getApplicationContext(),MyActivity.class);


UnityPlayer.currentActivity.startActivity(intent);
 }

});

大佬总结

以上是大佬教程为你收集整理的从非ui线程的android开关活动全部内容,希望文章能够帮你解决从非ui线程的android开关活动所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。