Unity3d如何调用Android服务并开辟新线程实现长尾词处理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计121个文字,预计阅读时间需要1分钟。
由于调用`getSystemService()`方法引发崩溃:无法在未调用`Looper.prepare()`的线程中创建Handler。请使用Runnable开启线程调用,final关键字可以将paramStr设置为方法内共有参数public。
//因调用getSystemService()方法引发报错: //Can't create handler inside thread that has not called Looper.prepare() //使用Runnable()开辟线程调用 //final关键字可以将paramStr设为方法内共有参数 public void CopyToSystemClipboard(final String paramStr){ Log.d("Unity", "=======CopyToSystemClipboard " + paramStr); //runOnUiThread方法调用一个UI线程 runOnUiThread( new Runnable() { @Override public void run() { // 向剪贴板中添加文本 clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData textCd = ClipData.newPlainText("data", paramStr); clipboard.setPrimaryClip(textCd); mUnityPlayer.UnitySendMessage("GameManagerPrefeb", "OnShowCopySucessMsg", paramStr); } } ); }
本文共计121个文字,预计阅读时间需要1分钟。
由于调用`getSystemService()`方法引发崩溃:无法在未调用`Looper.prepare()`的线程中创建Handler。请使用Runnable开启线程调用,final关键字可以将paramStr设置为方法内共有参数public。
//因调用getSystemService()方法引发报错: //Can't create handler inside thread that has not called Looper.prepare() //使用Runnable()开辟线程调用 //final关键字可以将paramStr设为方法内共有参数 public void CopyToSystemClipboard(final String paramStr){ Log.d("Unity", "=======CopyToSystemClipboard " + paramStr); //runOnUiThread方法调用一个UI线程 runOnUiThread( new Runnable() { @Override public void run() { // 向剪贴板中添加文本 clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData textCd = ClipData.newPlainText("data", paramStr); clipboard.setPrimaryClip(textCd); mUnityPlayer.UnitySendMessage("GameManagerPrefeb", "OnShowCopySucessMsg", paramStr); } } ); }

