2013-09-03 2 views
0

код ниже:AsyncTask не работает в demoactivity в GCM

private void registerBackground(){ 

     Toast toast3 = Toast.makeText(context,"-----in regbackground class---------",Toast.LENGTH_LONG); 
     toast3.show(); 


    new AsyncTask<Void,Void,String>(){ 

      @Override 
      protected String doInBackground(Void... params) { 

       String msg = ""; 

       Toast toast = Toast.makeText(context, "---out of try ---"+msg, Toast.LENGTH_LONG); 
       toast.show(); 

       try { 
        if (gcm == null) { 
         gcm = GoogleCloudMessaging.getInstance(context); 
        } 
        regid = gcm.register(SENDER_ID); 

        Toast toast1 = Toast.makeText(context, "---regid ---"+regid+"----from background---toast 1", Toast.LENGTH_LONG); 
        toast1.show(); 

        msg = "Device registered, registration id=" + regid; 

        Toast toast2 = Toast.makeText(context, "---regid ---"+msg+"----from background---toast 2", Toast.LENGTH_LONG); 
        toast2.show(); 
        setRegistrationId(context, regid); 


       } catch (IOException ex) { 
        msg = "Error ::" + ex.getMessage(); 
        Toast toast4 = Toast.makeText(context,msg+"---error msg",Toast.LENGTH_LONG); 
        toast4.show(); 
       } 
       return msg; 

      } 


      @Override 
      protected void onPostExecute(String msg) { 
       mDisplay.append(msg + "\n"); 
      Toast toast5 = Toast.makeText(context,msg+"---on post execute",Toast.LENGTH_LONG); 
      toast5.show(); 
      } 
     }.execute(null); 



} 

Вот мой весь код. Проблема заключается в том, что только toast3 выполняется После этого ни один метод AsyncTask не выполняется

+0

может отправлять журнал ERRO здесь –

+0

Вместо этого вы можете использовать 'Log's .. :) –

ответ

1

Просто замените

execute(null); 

с

execute(); or execute("url"); 
+0

у меня есть проблема, связанная с аргументом AsyncTask

+0

, а также с AsyncTask <Пустоты, Пустота, Void> где использовать один из этих двух ... –

+0

вы также можете использовать с AsyncTask ... – Piyush

0

Избегайте использования Toast в doInBackground() ... как она работает на фоновом потоке , Вместо этого используйте Log для проверки значений.

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