2014-01-15 3 views
0

у кого есть идея, почему следующий тост не появляется? журнал печатается и другой тост в одной и той же функции также работаеттост сообщение не работает в служебном намерении

if (searchType.equals("ByName")){ 
     // get the extra from the intent: 
     String query = intent.getStringExtra("query");  
      if (!searchByName(query)){ 
       Toast.makeText(getApplicationContext(), "No results for this search", 
         Toast.LENGTH_LONG).show(); 
       Log.d(TAG, "return status true/false -->" + searchByName(query)); 
      }   
    } 

любая помощь будет оценена

Я прилагаю журнала, я должен был удалить несколько строк, так как это слишком долго .. . вот Log:

01-15 10:22:39.267: D/FragmentList(2035): doSearchByName 
01-15 10:22:39.267: D/FragmentList(2035): query -> asdgasdgsdagas 
01-15 10:22:39.271: D/FragmentList(2035): ByName 
01-15 10:22:39.283: D/FragmentList(2035): currentLocation 
01-15 10:22:39.303: D/SearchPlacesSevice(2035): onHandleIntentstart 
01-15 10:22:39.303: D/SearchPlacesSevice(2035): ByName 
01-15 10:22:39.303: D/SearchPlacesSevice(2035): searchByName 
01-15 10:22:39.303: D/GooglePlaces(2035): query -> asdgasdgsdagas 
01-15 10:22:39.307: D/GooglePlaces(2035): https://maps.googleapis.com/maps/api/place/textsearch/json?query=asdgasdgsdagas&sensor=false&key=AIzaSyBDi3A3ZLFQPm1I9sUsYasxtwndQjn7mfQ 
01-15 10:22:39.879: D/GooglePlaces(2035): { 
01-15 10:22:39.879: D/GooglePlaces(2035): "debug_info" : [], 
01-15 10:22:39.879: D/GooglePlaces(2035): "html_attributions" : [], 
01-15 10:22:39.879: D/GooglePlaces(2035): "results" : [], 
01-15 10:22:39.879: D/GooglePlaces(2035): "status" : "ZERO_RESULTS" 
01-15 10:22:39.879: D/GooglePlaces(2035): } 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): { 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): "debug_info" : [], 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): "html_attributions" : [], 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): "results" : [], 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): "status" : "ZERO_RESULTS" 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): } 
01-15 10:22:39.879: D/SearchPlacesSevice(2035): ZERO_RESULTS 
01-15 10:22:39.883: D/SearchPlacesSevice(2035): Status -->ZERO_RESULTS 
01-15 10:22:39.887: D/SearchPlacesSevice(2035): searchByName 
01-15 10:22:39.887: D/GooglePlaces(2035): query -> asdgasdgsdagas 
01-15 10:22:39.887: D/GooglePlaces(2035): https://maps.googleapis.com/maps/api/place/textsearch/json?query=asdgasdgsdagas&sensor=false&key=AIzaSyBDi3A3ZLFQPm1I9sUsYasxtwndQjn7mfQ 
01-15 10:22:40.083: D/SearchPlacesSevice(2035): { 
01-15 10:22:40.083: D/SearchPlacesSevice(2035): "debug_info" : [], 
01-15 10:22:40.083: D/SearchPlacesSevice(2035): "html_attributions" : [], 
01-15 10:22:40.083: D/SearchPlacesSevice(2035): "results" : [], 
01-15 10:22:40.083: D/SearchPlacesSevice(2035): "status" : "ZERO_RESULTS" 
01-15 10:22:40.083: D/SearchPlacesSevice(2035): } 
01-15 10:22:40.087: D/SearchPlacesSevice(2035): ZERO_RESULTS 
01-15 10:22:40.087: D/SearchPlacesSevice(2035): Status -->ZERO_RESULTS 
01-15 10:22:40.091: D/SearchPlacesSevice(2035): return status true/false -->false 
01-15 10:22:43.387: W/MessageQueue(2035): Handler (android.os.Handler) {535afd88} sending message to a Handler on a dead thread 
01-15 10:22:43.387: W/MessageQueue(2035): java.lang.RuntimeException: Handler (android.os.Handler) {535afd88} sending message to a Handler on a dead thread 
01-15 10:22:43.387: W/MessageQueue(2035): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:294) 
01-15 10:22:43.387: W/MessageQueue(2035): at android.os.Handler.sendMessageAtTime(Handler.java:473) 
01-15 10:22:43.387: W/MessageQueue(2035): at android.os.Handler.sendMessageDelayed(Handler.java:446) 
01-15 10:22:43.387: W/MessageQueue(2035): at android.os.Handler.post(Handler.java:263) 
01-15 10:22:43.387: W/MessageQueue(2035): at android.widget.Toast$TN.hide(Toast.java:363) 
01-15 10:22:43.387: W/MessageQueue(2035): at android.app.ITransientNotification$Stub.onTransact(ITransientNotification.java:55) 
01-15 10:22:43.387: W/MessageQueue(2035): at android.os.Binder.execTransact(Binder.java:367) 
01-15 10:22:43.387: W/MessageQueue(2035): at dalvik.system.NativeStart.run(Native Method) 
01-15 10:23:42.003: D/dalvikvm(2035): GC_CONCURRENT freed 434K, 6% free 8502K/9031K, paused 1ms+1ms, total 8ms 
+1

попробуйте дать свой контекст активности вместо getApplicationContext. –

+1

Где вы пытаетесь его показать? Я имею в виду, это внутри Activity? – nKn

+0

Невозможно, что-то не так, если ваш журнал ** возвращает статус true/false -> **, а затем по коду, который вы указали для Toast, должен быть выполнен. – user370305

ответ

0

Я думаю, что его ошибка в Android Framework. Всякий раз, когда вы пытаетесь сделать или показать Toast из основной темы приложения. В основном возможно с IntentService. Всегда убедитесь, что ваш тост находится в главной теме приложения.

Посмотрите на альтернативное решение. Этот код используется в вашей службе.

Декларирование обработчика.

Handler handler = null; 

и в конструкторе службы

handler = new Handler(); 

метод для вызова для отображения Toast.

public void showToast(String message, Context context){ 
     handler.post(new CustomToast(message, context)); 
    } 

CostomToast

private class CustomToast implements Runnable{ 
      String mText; 
      Context mContext; 

    public CustomToast(String text, Context context){ 
      mText = text; 
      mContext = context; 
    } 

    public void run(){ 
      Toast.makeText(mContext, mText, Toast.LENGTH_LONG).show(); 
    } 
+0

Посмотрите мой обновленный ответ. Вы можете удалить свои комментарии из вышеуказанного вопроса, поскольку я нашел причину проблемы. – user370305

+0

его работа !!!!!! tx много! – Lora

+0

просто для любопытства .... любая идея, почему другой тост в одной службе работает правильно? – Lora

Смежные вопросы