openOrTopApp(serviceContext,"com.ldkj.b8vrxmjj");UnityPlayer.UnitySendMessage("AndroidService", "receiveMessage",msg);这样unity能接收到消息吗
时间: 2023-07-06 10:17:22 浏览: 161
进行调度的算法,执行时间短的进程先执行。可以使用一个链表来维护就绪队列,在 Android Service 中使用 UnityPlayer.UnitySendMessage() 方法发送消息是可以的,但需要注意以下几点:
1. UnityPlayer.Unity每次选择执行时间最短的进程执行:
```
struct node {
struct pcb *data; // 进程PCBSendMessage() 方法需要在 Unity 主线程中调用,因此需要使用 runOnUiThread() 方法将其放到主线程中指针
struct node *next;
};
struct linked_list {
struct node *head;
};
void init_list(struct linked_list *执行,例如:
```
runOnUiThread(new Runnable() {
@Override
public void run() {
UnityPlayer.UnitySendMessage("Androidl) {
l->head = NULL;
}
void insert(struct linked_list *l, struct pcb *p) {
struct node *Service", "receiveMessage", msg);
}
});
```
2. UnityPlayer.UnitySendMessage() 方法的第一个参数是目标 GameObjectnew_node = (struct node *)malloc(sizeof(struct node));
new_node->data = p;
new_node->next = NULL;
的名称,因此需要在 Unity 中创建一个 GameObject 并将其命名为 "AndroidService",然后为其添加一个 if (l->head == NULL) {
l->head = new_node;
} else {
struct node *p = l->脚本,该脚本实现一个 public 方法 receiveMessage(),用于接收来自 Android Service 的消息。
3. 在head;
struct node *prev = NULL;
while (p != NULL && p->data->cpu_time <= new_node->data-> Android Service 中调用 UnityPlayer.UnitySendMessage() 方法时,需要确保 Unity 已经初始化完成,否则会导致空指cpu_time) {
prev = p;
p = p->next;
}
if (prev == NULL) {
new_node针异常。可以在 Android Service 的 onCreate() 方法中调用 UnityPlayer.UnitySendMessage() 方法,确保 Unity 已经初始化完成。
->next = l->head;
l->head = new_node;
} else {
new_node->next = prev->next;
综上所述,可以在 openOrTopApp() 方法中调用 UnityPlayer.UnitySendMessage() 方法,但需要注意上述几点。
阅读全文