Я разрабатываю Android-плагин, который должен начать другую деятельность (с пользовательским интерфейсом и всем …). Это действие (которое не наследуется от UnityPlayerActivity, конечно) должно отправить сообщение на код Unity C #. Я пытаюсь вызвать UnityPlayer.UnitySendMessage , я вижу мой журнал за минуту до отправки сообщения, но сторона C # не получает его (исключение не возникает).
Это обратный вызов, вызываемый из другого действия:
@Override public void generatePayload() { try { Log.v(TAG, "generatePayload was triggered"); UnityPlayer.UnitySendMessage("AndroidObject", "generatePayloadMessage", ""); } catch (Exception ex) { Log.e(TAG, "failed to send message to unity"); } }
Какие-либо предложения? Не могу ли я отправить сообщение единству, а UnityActivity не находится на переднем плане? Если это так – что я могу сделать?
В вашем коде не указано ни одного сообщения / строки, кроме только целевого объекта и метода, вы отправляете пустую строку для генерацииPayLoadMessage ([ничего не отправляется])
пытаться
UnityPlayer.UnitySendMessage («AndroidObject», «generatePayloadMessage», «Hello world»);
Также укажите, что вы настроили на стороне Unity для обработки сообщения.