Android LocationListener可以';不要写入线程

Android LocationListener可以';不要写入线程,android,multithreading,locationmanager,Android,Multithreading,Locationmanager,我有一个活动和一个单独的服务器线程。服务器线程正在连接到服务器。 在活动中,我有一个LocationListener。onLocationChanged正在向服务器线程发送数据,但我的数据不会到达服务器 如果我直接从我的活动发送数据,它工作正常 有人能帮我吗?独立线程可能无法访问UI元素。您应该查看文档 不看代码就无法理解确切的问题..但根据我的理解 你可以试试这个- 使用serverthread中的处理程序从UI线程接收数据 例如,在ServerThreadRunnable中- @Overri

我有一个活动和一个单独的服务器线程。服务器线程正在连接到服务器。 在活动中,我有一个LocationListener。onLocationChanged正在向服务器线程发送数据,但我的数据不会到达服务器

如果我直接从我的活动发送数据,它工作正常


有人能帮我吗?

独立线程可能无法访问UI元素。您应该查看文档

不看代码就无法理解确切的问题..但根据我的理解 你可以试试这个-

使用serverthread中的处理程序从UI线程接收数据

例如,在ServerThreadRunnable中-

@Override
public void run(){
       Looper.prepare();

       mHandler = new Handler() {
               public void handleMessage(Message msg) {
                   // Act on the message
               }
       };
       Looper.loop();
}
从onLocationChanged(),您可以将消息发布到处理程序

 public void onLocationChanged(Location loc) {

 Message m = new Message();
 Bundle bundle = new Bundle();
 bundle.putString(DATA_KEY, "location specific data");
 m.setData(bundle);
 mHandler.sendMessage(m);

 }

我怀疑我们能在看不到你在做什么的情况下帮助你。。。发布您的相关代码。如果您从独立线程访问用户界面元素,则需要将您的UI界面更改分离为RunOnUIThread