gpt4 book ai didi

android - chromecast sendMessage 中的 IllegalStateException

转载 作者:行者123 更新时间:2023-12-05 00:04:56 25 4
gpt4 key购买 nike

在 Play 控制台中,我看到用户在 sendMessage chromecast 调用中收到 IllegalStateException。根据 API:

IllegalStateException: If this method is not called on the main thread.

但是在我的代码中,我按以下方式调用它:

            Handler uiHandler = new Handler(Looper.getMainLooper());
uiHandler.post(new Runnable(){
@Override
public void run() {
mCastSession.sendMessage(mMyChannel.getNamespace(), message);
}
});

这可能是什么问题?我无法自己复制它。

最佳答案

尝试将 Log.d() 放入 run() 的主体中,确保流程到达那里,您可以排除错误在sendMessage() 方法处理。然后:

runOnUiThread

Runs the specified action on the UI thread. If the current thread is the UI thread, then the action is executed immediately. If the current thread is not the UI thread, the action is posted to the event queue of the UI thread.

Handler()runOnUiThread() 可以对Thread UI 进行操作,但是runOnUiThread() 只能从一个线程执行一个进程,此外还必须传递对执行它的 Activity 的引用。

runOnUiThread(new Runnable() {
public void run() {
//...
}
});

GL

Source

关于android - chromecast sendMessage 中的 IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61316613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com