TestFile.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class TestFile : MonoBehaviour
  6. {
  7. public bool isInit;
  8. public Text backt;
  9. public Text backfinalt;
  10. public Text myt;
  11. public InputField inputField;
  12. void Start()
  13. {
  14. YiYanBack _setAndrodCallback = new YiYanBack();
  15. UnityToJava.initSpeek(_setAndrodCallback);
  16. isInit = true;
  17. }
  18. private void OnApplicationPause(bool pause)
  19. {
  20. if(isInit)
  21. {
  22. if(pause)
  23. {
  24. UnityToJava.yiYanClass.CallStatic("onPauseJava");
  25. }
  26. else
  27. {
  28. UnityToJava.yiYanClass.CallStatic("onResumeJava");
  29. }
  30. }
  31. }
  32. public void StopSpeek()
  33. {
  34. UnityToJava.yiYanClass.CallStatic("StopSpeek");
  35. }
  36. public void StartSpeek()
  37. {
  38. UnityToJava.yiYanClass.CallStatic("StartSpeek");
  39. }
  40. private void OnDestroy()
  41. {
  42. UnityToJava.yiYanClass.CallStatic("onDestroyJava");
  43. }
  44. private void Update()
  45. {
  46. if (YiYanBack.BackTextlist.Count > 0)
  47. {
  48. backt.text = YiYanBack.BackTextlist.Dequeue();
  49. }
  50. if (YiYanBack.BackFINALTextlist.Count > 0)
  51. {
  52. backfinalt.text = YiYanBack.BackFINALTextlist.Dequeue();
  53. send(backfinalt.text);
  54. inputField.text = myt.text;
  55. }
  56. if (YiYanBack.MyTextlist.Count > 0)
  57. {
  58. myt.text = YiYanBack.MyTextlist.Dequeue();
  59. inputField.text = myt.text;
  60. }
  61. }
  62. public void send(string str)
  63. {
  64. UnityToJava.yiYanClass.CallStatic("SendText",str);
  65. }
  66. public void sendText()
  67. {
  68. send(inputField.text);
  69. }
  70. public class YiYanBack : AndroidJavaProxy
  71. {
  72. public static Queue<string> BackTextlist = new Queue<string>();
  73. public static Queue<string> BackFINALTextlist = new Queue<string>();
  74. public static Queue<string> MyTextlist = new Queue<string>();
  75. public static Queue<char> BackText = new Queue<char>();
  76. public YiYanBack() : base("com.xiaodu.dueros.magictool.demo.YiYanBack") {
  77. }
  78. public void onBackText(string msg)
  79. {
  80. Debug.Log("onBackText====>" + msg);
  81. BackTextlist.Enqueue(msg);
  82. for (int i = 0; i < msg.Length; i++)
  83. {
  84. BackText.Enqueue(msg[i]);
  85. }
  86. }
  87. public void onMyFINALText(string msg)
  88. {
  89. Debug.Log("onBackFINALText====>" + msg);
  90. BackFINALTextlist.Enqueue(msg);
  91. }
  92. public void onMyText(string msg)
  93. {
  94. Debug.Log("onMyText====>" + msg);
  95. MyTextlist.Enqueue(msg);
  96. }
  97. }
  98. }