Я пытаюсь получить координаты GPS с помощью обработчика. Ниже приведен код:Невозможно получить координаты GPS в фоновом режиме (с помощью Handler) - Android
final Thread ObainGpsBackground = new Thread(new Runnable() {
@Override
public void run() {
try{
String SetServerString = "";
//Obtaining GPS co-ordinates :
LatLong obj_latLong = new LatLong(getActivity());
addressList = obj_latLong.getListAddressFromGeocoder(getActivity());
//Setting the addressList.getLatitude() into a variable "SetServerString"
for (Address address : addressList) {
SetServerString = String.valueOf(address.getLatitude());
threadMsg(SetServerString);
}
//Obtaining GPS co-ordinates :
}
catch(Throwable t){
Log.i("Exception","Getting GPS exception : "+t);
}
}
});
Как-то код всегда перемещается к блоку catch. Все, что я получаю эту ошибку:
I/Exception: Getting GPS exception : java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Вот обработчик:
private void threadMsg(String setServerString) {
if (!setServerString.equals("") && !setServerString.equals("0")) {
Message msgObj = handler.obtainMessage();
Bundle b = new Bundle();
b.putString("message", setServerString);
msgObj.setData(b);
handler.sendMessage(msgObj);
}
}
private final Handler handler = new Handler() {
public void handleMessage(Message msg) {
String aResponse = msg.getData().getString("message");
if ((null != aResponse)) {
// ALERT MESSAGE
// alert_attendance(getResources().getString(R.string.warning), getResources().getString(R.string.ects));
Toast.makeText(getActivity(), "Response: "+aResponse, Toast.LENGTH_SHORT).show();
}
else
{
// ALERT MESSAGE
alert_attendance(getResources().getString(R.string.warning), getResources().getString(R.string.unableToFindLocation));
// Toast.makeText(getBaseContext(), "Not Got Response From Server.", Toast.LENGTH_SHORT).show();
}
}
};
посещение различных сообщений. Как-то не удалось это понять. Как точно реализовать looper.prepare()? Есть идеи ?
@Tim Отредактировано мое сообщение. Как-то код удалился во время публикации. – TechFrk
На какой линии возникает проблема? показать полный журнал сбоев –
Я упомянул в своем коде: 'catch (Throwable t) { Log.i (" Исключение "," Получение исключения GPS: "+ t);' Компилятор выполняет этот блок. Это все журнал аварий, который я получаю. – TechFrk